バンドラー
何百ものJavaScriptモジュールを、ブラウザが素直に取得してくれる少数のファイルにまとめる道具。
生まれた背景には矛盾があった。コードは小さなモジュールに分けて書くのが望ましいが、HTTP/1.1ではリクエストが増えるほど遅くなる。バンドラーはエントリポイントからimportをたどって依存グラフを作り、結果を書き出す。近年はツリーシェイキングで未使用コードを落とし、コード分割でトップページが全体を読み込まないようにする。途中でTypeScript、JSX、CSS Modulesの変換も行う。
世代の違いははっきりしている。BrowserifyとWebpackが先に問題を解き、数百行の設定ファイルで悪名を得た。次にGo製のesbuildとRust製のSWCが現れ、10〜100倍速くなって遅いビルドを許されないものにした。Viteは発想を逆転させ、開発中はそもそもバンドルせずブラウザのネイティブESMに任せ、本番ビルドだけでまとめる。