🥟

2025年9月時点のBunを試してみる

に公開

始めに

少し前にbun testが爆速すぎるということが話題になりました。以下の記事だと2分44秒から7秒にまで短縮させるという衝撃な結果を叩き出しています。

https://zenn.dev/studio/articles/c5207260e90e8c

この圧倒的速度は気になっていましたが、新しいツールでまだ全然安定していないと思い様子見していました。しかしあれからしばらくして、そろそろ使っても見ても良いのでは?と思い軽く試してみたので所感をまとめてみました。

検証リポジトリ

今回検証で使ったコードは以下のリポジトリに置いておりますので、興味がある方はご参照ください。

https://github.com/TakanoriOnuma/bun-react-vite

Bunのセットアップ

素振りするに当たって色々記事を見ていましたが、そのとき中々情報が見つからなかったりしたものを中心に書きます。基本的なものは割愛させていただきます。

Bunのバージョン管理

Node.jsではVoltaを使ってバージョンを管理していましたが、bunはサポートしていないので、代わりにmiseを使いました。セットアップはこちらの記事が参考になりました。

https://zenn.dev/takamura/articles/dev-started-with-mise

.tool-versionsに以下のように書いておくとbunのバージョンを指定することができます。mise.tomlでもバージョン指定はできるのですが、GitHub Actionsでも参照するために.tool-versionsの方で指定しました。

.tool-versions
bun 1.2.21

この後に mise install で指定したツールをインストールしてくれます。Voltaみたいに勝手に切り替えてインストールしてくれたらよかったんですけど、miseでは手動で実行する必要があります。

GitHub Actionsでバージョンファイルを指定する場合は以下のように書くことができます。

GitHub Actionsでバージョンファイルを指定してインストールする
- uses: oven-sh/setup-bun@v2
  with:
    bun-version-file: .tool-versions

bun test

2023年頃の記事だと toBeInTheDocument などのメソッドが使えないというのを見かけましたが、今は公式でセットアップの方法が載っており、その通りにやると使えました。

https://bun.sh/guides/test/testing-library

ただfail時のエラーメッセージがキチンと表示できないケースがあり、failした時の対応がやりづらい時がありそうだなと感じました。

https://github.com/oven-sh/bun/issues/18500

VSCode上でテスト実行する場合は以下のExtensionを使うと良いのですが、現時点の0.0.30だとうまく実行できなかったので0.0.28にダウングレードして使いました。

https://marketplace.visualstudio.com/items?itemName=oven.bun-vscode

VSCode Extensionのダウングレード方法

VSCode Extensionをダウングレードするには以下の手順でやります。

  1. .vsixファイルをダウンロードする
    一般的に https://marketplace.visualstudio.com/_apis/public/gallery/publishers/oven/vsextensions/bun-vscode/<version>/vspackage というURLに各バージョンを置いているようなので、 https://marketplace.visualstudio.com/_apis/public/gallery/publishers/oven/vsextensions/bun-vscode/0.0.28/vspackage にアクセスするとダウンロードできます
  2. VSCodeのコマンドパレットで「Extensions: Install from VSIX...」を選んで、ダウンロードしたファイルを選択する

0.0.28ではスクショのようなボタンが出てくるので、それをクリックすることで実行できます。

ちなみに0.0.30はTestExplorer側で実行できるようにしているようで、UIの表示が初回は出なかったりmise経由だとbunの実行パスを見つけられない問題がありました。

使ってみた所感

現時点の所感をお伝えすると、まだ相当ピーキーでプロジェクトに導入するのはちょっと慎重になった方が良さそうだなぁと思いました。破壊的変更が多くて、書き方が変わるとからならまだしも、そもそも動かないものが入ってしまっていたり、運が悪いと最新バージョンで環境構築したら詰んでしまうみたいなことが起こります。この記事ではVSCode Extensionを0.0.28にダウングレードした話をしましたが、実は3ヶ月前にも軽く試した時は @types/bun をv1.2.17からv1.0.12にダウングレードする羽目になっていました(今は最新のv1.2.21で問題ありませんでした)。bun testの圧倒的スピードは非常に魅力的ですが、とりあえず導入すると今後のアップデートに苦労しないか少し気になりました。

終わりに

以上が2025年9月時点のBunを触ってみた感想でした。そろそろ安定してきたかなと思って触ってみたら全然そんなことはなくて、今でも破壊的変更をガンガンやっていてproductionで使っていくのはちょっと慎重になった方が良さそうだなぁと感じました。ただ全体的に実行速度は圧倒的に早くて、規模が大きくなってくるほどこの実行速度は非常に魅力的なので引き続きウォッチしていきたいなと思いました。

GitHubで編集を提案

Discussion