RolldownはViteの次世代経路を担うRust製バンドラー
ロールアップ互換の API を備えた JavaScript/TypeScript 用の高速 Rust バンドラー。
ひと目でわかる
- これは何?
- JavaScriptとTypeScriptをRustで束ね、Rollup互換APIとプラグインインターフェースを備えつつ、esbuildに近い範囲を目指します。
- 誰に向いている?
- Vite周辺でRollup互換の入口を保ちながらRust製のバンドラーを試したいチームに向きます。READMEだけでは性能、互換性、Viteへの適用時期は判断できません。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。直近 1 日以内に新しいコミットがあります。
- 何の言語で書かれている?
- 主に Rust です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Vite向けに置かれた境界
RolldownはJavaScriptとTypeScriptのバンドラーで、Rustで実装され、将来Viteが使うバンドラーを目指すとREADMEにあります。Rollup互換のAPIとプラグインインターフェースを提供しますが、プロジェクト自身がesbuildに近い範囲になるとも説明しています。これは目標と設計方針であり、既存のRollup設定が無条件に動くという互換性証明ではありません。導入判断では、現行ビルドのどの入口を置き換えるかを先に限定します。
Rolldownの検証では、公式ガイドの同じfixtureを使い、Rollupの生成物との差分を比較します。entryの変更、外部化、dynamic import、source mapを別々に実行し、どの差がAPI、プラグイン、依存解決のどこから出たかをログに残します。Viteの将来経路という説明は、現在のリリースが自動的に置換可能という意味ではありません。 第1章では、Vite向けに置かれた境界に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。
Rollup互換を検証する単位
比較対象は設定ファイル全体ではなく、entry、output、外部依存、dynamic import、CSSやJSONを含む実際の入力です。READMEはRollup APIとプラグインインターフェースを掲げていますが、対応プラグインの一覧や版ごとの互換表までは示していません。したがって、対象プラグインを一つずつ有効にし、生成ファイルの名前、import順、tree shaking、警告を保存します。差分が出たら、READMEの主張と実測結果を分けて記録します。
Rolldownの検証では、公式ガイドの同じfixtureを使い、Rollupの生成物との差分を比較します。entryの変更、外部化、dynamic import、source mapを別々に実行し、どの差がAPI、プラグイン、依存解決のどこから出たかをログに残します。Viteの将来経路という説明は、現在のリリースが自動的に置換可能という意味ではありません。 第2章では、Rollup互換を検証する単位に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。
oxcとnapi-rsの位置
Creditsには、パーサー、resolver、source mapの基盤としてoxc、RustのNode.jsアドオンにNode-API経由のnapi-rsが挙げられています。これらは構成上の依存関係を理解する手掛かりになりますが、各機能の版固定や性能値を保証する説明ではありません。Node.jsから呼び出す場合は、対象OSとCPUでネイティブバインディングが解決されるか、source mapがデバッガーで読めるかを別々に確認します。
Rolldownの検証では、公式ガイドの同じfixtureを使い、Rollupの生成物との差分を比較します。entryの変更、外部化、dynamic import、source mapを別々に実行し、どの差がAPI、プラグイン、依存解決のどこから出たかをログに残します。Viteの将来経路という説明は、現在のリリースが自動的に置換可能という意味ではありません。 第3章では、oxcとnapi-rsの位置に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。
導入手順は公式ガイドから
README本文には、そのまま貼れるインストールコマンドは載っておらず、rolldown.rsのGetting Startedへ案内しています。READMEにないコマンドを補って断定するのは適切ではありません。まず公式ガイドでNode.jsやパッケージマネージャーの条件、スターターの構成、実行入口を確認し、リリース版を固定します。試行では小さなTypeScript入口を束ね、出力ディレクトリと終了コードを保存します。
Rolldownの検証では、公式ガイドの同じfixtureを使い、Rollupの生成物との差分を比較します。entryの変更、外部化、dynamic import、source mapを別々に実行し、どの差がAPI、プラグイン、依存解決のどこから出たかをログに残します。Viteの将来経路という説明は、現在のリリースが自動的に置換可能という意味ではありません。 第4章では、導入手順は公式ガイドからに関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。
依存物とライセンスを読む
プロジェクトはMITライセンスで、Rollupとesbuild由来またはコピーしたコードを部分的に含むとREADMEが明記しています。第三者ライセンスはTHIRD-PARTY-LICENSEに記載されます。自社配布物へ組み込む場合は、Rolldown本体のLICENSEだけで判断せず、生成物に含まれる依存コードとプラグインの条件を確認します。Discordやスポンサーの存在は、サポート契約や品質保証を意味しません。
Rolldownの検証では、公式ガイドの同じfixtureを使い、Rollupの生成物との差分を比較します。entryの変更、外部化、dynamic import、source mapを別々に実行し、どの差がAPI、プラグイン、依存解決のどこから出たかをログに残します。Viteの将来経路という説明は、現在のリリースが自動的に置換可能という意味ではありません。 第5章では、依存物とライセンスを読むに関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。
更新前に残す観測値
リリースは短い間隔で更新され得るため、採用時のタグ、Node.js版、設定、プラグイン一覧を固定します。更新前後に同じfixtureを走らせ、バンドルサイズ、chunk数、source map、警告、ビルド時間を比較します。READMEはViteの将来経路を説明しますが、現在の本番移行時期やサービスレベルは示していません。未確認の機能は保留項目として扱い、issueとrelease notesで追跡します。
Rolldownの検証では、公式ガイドの同じfixtureを使い、Rollupの生成物との差分を比較します。entryの変更、外部化、dynamic import、source mapを別々に実行し、どの差がAPI、プラグイン、依存解決のどこから出たかをログに残します。Viteの将来経路という説明は、現在のリリースが自動的に置換可能という意味ではありません。 第6章では、更新前に残す観測値に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。
編集部の結論
Vite周辺でRollup互換の入口を保ちながらRust製のバンドラーを試したいチームに向きます。READMEだけでは性能、互換性、Viteへの適用時期は判断できません。まず公式ガイドの最小プロジェクトで同じ入力をRollupと比較し、生成物、プラグインの挙動、警告、source mapを記録してから採用範囲を決めます。
コミュニティノート