第82回ブログ|Bun v1.4.3 を初心者向けにやさしく解説 ─ 新しい型チェッカー「bun check」で何が変わるのか

Bun v1.4.3 の新機能 bun check をやさしく解説

2026年10月10日、JavaScriptの実行環境「Bun(バン)」の新しいバージョン v1.4.3 が公開されました。小さな番号の更新に見えますが、中身はかなり盛りだくさんです。いちばんの目玉は、TypeScriptの「型チェック」を行う機能 bun check が組み込まれたことです。TypeScript公式のチェッカーより3〜6.4倍速いと発表されています。

今回は「Bunって名前は聞いたことがあるけれど、よく知らない」という方にも読んでいただけるように、そもそもBunとは何か、型チェックとは何か、という基本からお話しします。

この記事の内容
  1. そもそもBunとは?
  2. v1.4.3 の3つのポイント
  3. 目玉機能「bun check」をくわしく
  4. 何もしていないときのCPU使用量が大幅に減りました
  5. bun install のムダなダウンロードが減りました
  6. その他の改善(中級者向け)
  7. アップデートするときの注意点
  8. 実際に試してみましょう(Windows編)
  9. まとめ

そもそもBunとは?

Webサイトの画面を動かすJavaScriptは、もともとブラウザの中で動く言語でした。それをパソコンやサーバーの上でも動かせるようにした「実行環境(ランタイム)」がNode.jsです。いまでは多くのWebサービスのサーバー側が、Node.jsで動いています。

Bunは、このNode.jsと同じ役割をもつ、新しいランタイムです。Node.js向けに書かれたプログラムの多くがそのまま動くように作られていて、そのうえで次のような特長があります。

たとえるなら、Node.jsが「必要な道具を自分でそろえる工具箱」だとすると、Bunは「よく使う道具がひととおり入った、軽くて速い工具セット」のようなものです。今回のv1.4.3で、この工具セットに「型チェック」という大事な道具が新しく加わりました。

用語メモ
TypeScript(タイプスクリプト)
JavaScriptに「型」の情報を書き足せるようにした言語です。たとえば「この変数には数値しか入らない」と書いておけます。最終的にはJavaScriptとして動きます。
型チェック
書いたプログラムが、その「型」の約束を守っているかを、実行する前に確かめる作業です。「数値を渡すはずの場所に文字列を渡している」といった間違いを、事前に見つけられます。
tsc(ティーエスシー)
TypeScript公式の道具(コンパイラ)です。型チェックはこれまで、主にこのtscで行っていました。

v1.4.3 の3つのポイント

v1.4.3の変更点はとても多いのですが、初めての方に押さえていただきたいのは次の3つです。

  1. 型チェッカー「bun check」が加わりました: TypeScriptの型チェックを、Bunだけで、しかも速く行えるようになりました
  2. サーバーが何もしていないときのCPU使用量が、67〜89%減りました: 待機中のムダな動きがなくなり、サーバー代や電気代の節約につながります
  3. bun installのムダなダウンロードが減りました: 実際には使わないパッケージを、わざわざダウンロードしなくなりました

このほかにも、セキュリティの強化や多数の不具合修正が含まれています。順番に見ていきましょう。


目玉機能「bun check」をくわしく

型チェックで何がわかるのか

まずは、型チェックが見つけてくれる間違いの例を見てみましょう。次のプログラムは、税込み価格を計算する関数に、うっかり文字列の"1000"を渡してしまっています。

// price.ts
function addTax(price: number): number {
  return Math.floor(price * 1.1);
}

console.log(addTax("1000")); // ← 数値ではなく文字列を渡してしまっている

JavaScriptは柔軟な言語なので、このまま実行してもエラーで止まらず、気づかないまま間違った動きをすることがあります。こうした間違いを、実行する前に教えてくれるのが型チェックです。bun checkを実行すると、次のように知らせてくれます(表示はイメージです)。

> bun check
error: TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
(訳:'number'型の引数に'string'型は渡せません)
Found 1 error in 1 file

このように、エラーの番号(TS2345など)やメッセージは、これまでのtscとまったく同じものが表示されます。

なぜ「速さ」がうれしいのか

型チェックは、プロジェクト内のすべてのファイルの関係を調べるため、規模が大きくなるほど時間がかかります。数秒〜数十秒待たされることも珍しくありません。この待ち時間が長いと、「保存するたびにチェックする」「テストの前に必ずチェックする」といった使い方がしにくくなります。

bun checkは、パソコンのCPUのコアをすべて使って並行に処理することで、この待ち時間を大きく縮めました。Bunの発表によると、主なプロジェクトでの比較結果は次のとおりです(16コアのApple silicon Macで計測)。

プロジェクトファイル数bun checktsc 7.0.2速さ
VS Code(src)9,7951.24秒5.98秒4.8倍
Next.js(packages/next)2,8810.28秒1.82秒6.4倍
Nuxt8390.27秒0.80秒3.0倍

使うメモリも少なく、VS Codeのソースではtscの7.97GBに対して2.14GB(約3.7分の1)でした。全体では、速さは3〜6.4倍、メモリは2.2〜4.9分の1と発表されています。

※比較相手の「tsc 7.0.2」は、TypeScriptチームがGo言語で書き直して大幅に高速化した、最新世代のtscです。つまり、すでに速くなった公式版と比べても、さらに数倍速いということになります。数値はBun開発元の発表で、当社では計測していません。

速いだけでなく、結果も公式と同じ

「速いけれど、チェックが甘いのでは?」と心配になるかもしれません。bun checkは、TypeScript公式のGo版(typescript-go)を移植したもので、TypeScript 7.0.2の公式テスト51,210件にすべて合格しているそうです。さらに、公開されている72のプロジェクトでtscと結果を比べたところ、違いが出たのは1件(vuejs/core)だけだったと報告されています。

使い方

使い方はとてもかんたんです。tsconfig.json(TypeScriptの設定ファイル)があるフォルダで、次のように実行します。typescriptパッケージを別にインストールする必要はありません。

# プロジェクト全体を型チェックする
bun check

# 型チェックに合格したら実行する(型エラーがあれば実行しない)
bun run --check src/index.ts

# 型チェックに合格したらテストを実行する
bun test --check

# 型チェックに合格したらビルドする(型エラーがあれば何も出力しない)
bun build --check ./src/index.ts --outdir out

特に便利なのが、--checkを付けるだけで「チェックしてから実行」ができる点です。これまではtsc --noEmit && bun run ...のように2つのコマンドをつなげていた作業が、1つで済むようになりました。package.jsonに書いたスクリプトでも、bun run --check devのように使えます。

知っておきたい注意点


何もしていないときのCPU使用量が大幅に減りました

Webサーバーは、リクエスト(アクセス)が来ていない時間のほうが長いことがよくあります。理想は、その間はぐっすり「寝て」いて、CPUをほとんど使わないことです。

ところがv1.4.2までのBunは、一度でもリクエストを受けると、メモリ掃除(GC)のタイマーが1秒ごとに動き続け、何もしていなくても毎秒目を覚ましていました。v1.4.3ではこれを改め、必要なときだけ起きるようになっています。

フレームワークv1.4.2v1.4.3削減率
Express282ミリ秒57ミリ秒約80%
Hono195ミリ秒21ミリ秒約89%
Next.js(SSR)815ミリ秒268ミリ秒約67%

※負荷テストのあと、10秒ごとに死活確認(ヘルスチェック)だけを受ける状態で、2分間に使ったCPU時間を比べたものです(Linux x64、Bun開発元の発表)。

1台では小さな差に見えますが、クラウドで多数のサーバーやコンテナを動かしている場合や、使ったCPU時間に応じて料金がかかるサービスでは、コストや電力の節約につながります。アップデートするだけで効果が出るのもうれしい点です。


bun install のムダなダウンロードが減りました

bun installは、プロジェクトに必要なパッケージ(部品)をインターネットから集めてくるコマンドです。v1.4.3では、ロックファイル(どのバージョンを使うかを記録したファイル)がない状態でインストールするときに、最終的に使わないパッケージをダウンロードしなくなりました。

たとえば、自分のパソコンとは別のOS向けの部品や、--productionで除外した開発用の部品などです。例として、npm@10.9.2をインストールしたときのダウンロード数は、196個から1個に減ったそうです。初めてプロジェクトを準備するときの待ち時間が短くなります。


その他の改善(中級者向け)

ここからは、すでにBunをお使いの方向けに、主な改善点をかいつまんでご紹介します。

このほかにも、fetch()、node:tls、テストランナー、SQLクライアントなど、多くの部分で不具合が修正されています。すべての変更点は、末尾の参考資料の公式リリースノートをご覧ください。


アップデートするときの注意点

v1.4.3では、いくつかの細かい動きが、より正しい(仕様どおりの)方向に変わりました。ほとんどの方には影響ありませんが、念のためご確認ください。

業務で使っているシステムをアップデートするときは、いきなり本番に入れるのではなく、開発環境でテストを一通り流してから切り替えるのが安心です。


実際に試してみましょう(Windows編)

最後に、Windowsのパソコンでbun checkを試す手順をご紹介します。

1. Bunをインストール(またはアップデート)する

PowerShellを開いて、次のコマンドを実行します。

# 初めてインストールする場合
powershell -c "irm bun.sh/install.ps1|iex"

# すでにBunが入っている場合は、最新版に更新する
bun upgrade

# バージョンを確認する(1.4.3 と表示されればOK)
bun --version

※macOSやLinuxではcurl -fsSL https://bun.sh/install | bashでインストールできます。npm(npm install -g bun)やHomebrew、Dockerイメージ(oven/bun)も用意されています。

2. 練習用のプロジェクトを作る

mkdir bun-check-test
cd bun-check-test
bun init -y

bun initを実行すると、tsconfig.jsonやindex.tsなどのひな形が作られます。

3. わざと間違いを入れて、チェックしてみる

index.tsを開いて、先ほどのaddTaxの例を書き込み、次のコマンドを実行してみてください。

bun check

エラーが表示されたら、addTax("1000")をaddTax(1000)に直して、もう一度実行してみましょう。今度はエラーが出なくなるはずです。続けてbun run --check index.tsを実行すると、「チェックしてから実行」の流れも体験できます。


まとめ

型チェックは、プログラムの間違いを早いうちに見つけるための、いわば「安全ネット」です。これまでは「時間がかかるから」と後回しにされがちでしたが、ここまで速くなると、保存するたび、実行するたびにチェックする、という使い方も現実的になります。生成AIでコードを書く機会が増えた今、AIが書いたコードを機械的にすばやく確かめられる仕組みは、ますます大切になっていると私たちは考えています。

BunやTypeScriptを使った開発、既存のNode.jsプロジェクトの見直しなどでお困りのことがあれば、どうぞお気軽にご相談ください。


参考資料(2026年10月17日時点で確認)


本記事は2026年10月17日時点の公開情報に基づきます。速度・メモリ・CPU使用量の数値はBun開発元の発表によるもので、当社で計測したものではありません。導入前には公式情報と自社環境での検証をお願いします。