10月10日、Bunが「Bun v1.4.3」と題した記事を公開した。このバージョンで最も大きな変更は、TypeScript型チェッカーbun checkがBunに内蔵されたことだ。
TypeScriptプロジェクトのCI環境では、型チェック(tsc --noEmit)が実行時間のボトルネックになりがちだ。VS Codeのような大規模プロジェクト(約1万ファイル)では、従来のtscの実行に6秒近くかかり、メモリも8GB近くを消費する。bun checkはMicrosoftが2025年初頭に発表し、TypeScript 7.0で正式なGoベース実装として採用されたtypescript-go(TypeScriptコンパイラのGo移植版)をベースに、Bunのランタイムと一体化した形で実装されており、typescriptパッケージを別途インストールすることなく使える。CIパイプラインの高速化という観点で、実務への影響が大きい変更だ。
bun check:tscより最大6.4倍速い型チェッカー
16コアのApple Silicon Mac上でのベンチマーク結果は以下のとおりだ。
| プロジェクト | ファイル数 | bun check | tsc 7.0.2 | 速度差 |
|---|---|---|---|---|
| VS Code src | 9,795 | 1.24 s | 5.98 s | 4.8x |
| mikro-orm | 2,883 | 1.20 s | 5.97 s | 5.0x |
| Next.js packages/next | 2,881 | 0.28 s | 1.82 s | 6.4x |
| Nuxt | 839 | 0.27 s | 0.80 s | 3.0x |
| Playwright | 706 | 0.15 s | 0.64 s | 4.2x |
速度だけでなく、メモリ使用量も大幅に削減されている。VS Codeのソース(9,795ファイル)を対象にした計測では、tscが7.97 GBのメモリを消費するのに対し、bun checkは2.14 GBに抑えられており、約3.7倍の差がある。
bun checkはtsconfig.jsonを読み込み、すべてのCPUコアを使って並列に型チェックを実行する。ただし、型チェックのみを行うツールである点には注意が必要だ。JavaScriptや.d.tsファイルの出力機能はなく、言語サーバーも持たないため、エディタの補完や定義ジャンプには引き続きTypeScript本体が使われる。CIや保存時の型チェックに特化した位置づけだ。
精度の担保:51,210件のテストをすべてパス
性能だけでなく精度の検証にも力が入れられている。BunのすべてのコミットでTypeScript 7.0.2の完全なコンフォーマンステストスイートを実行しており、51,210件のテストすべてにパスしている。
| テスト種別 | テスト数 | 合格数 |
|---|---|---|
| エラー検出 | 13,101 | 13,101 |
| 型の検証 | 12,463 | 12,463 |
| シンボル解決 | 12,463 | 12,463 |
| 宣言ファイル出力 | 13,032 | 13,032 |
| モジュール解決 | 151 | 151 |
さらに、anthropic-sdk-typescript、Prisma、NestJS、RxJSなど72個のOSSリポジトリを意図的に設定ミスした状態で、bun checkとtscのエラー出力(ファイル・行・列・エラーコード)を照合した。すべての設定でミスマッチはゼロだった。「速いが結果が違う」という懸念を正面から潰した格好だ。
--checkフラグ:run / test / buildとの統合
bun checkは単独コマンドとして使えるほか、既存コマンドへの--checkフラグとしても統合されている。
**bun run --check**:型エラーがあればコードを実行しない。--watchモードと組み合わせると、ファイル変更のたびに再チェックしてから再起動する。
bun run --check dev
**bun test --check**:テストファイルとそのインポートを型チェックし、エラーがあればテストを一切実行しない。
**bun build --check**:バンドル前に型チェックを実行し、型エラーがあればビルドを中止する。Bun.build() APIではcheck: trueオプションで有効化できる。
これらの統合により、既存のワークフローに型チェックを組み込む際のコストが大幅に下がる。CIでbun test --checkを使えば、型エラーのあるコードでテストが走ることを防げるほか、typescriptパッケージのインストール・管理コストも不要になる。
詳細はBun v1.4.3を参照していただきたい。
