DenoからBunに切り替えたらシングルバイナリが約9分の1になった
BRANK

@dyoshikawaです。私が開発しているOSSツール Rulesync では、npm配布に加えてシングルバイナリ配布を行っています。Node.jsランタイムなしでも使えるようにするためです。 deno compile を使ってシングルバイナリを生成していたのですが、v5.5.1でBunの bun build --compile に切り替えたところ、ファイルサイズが大幅に小さくなりました。この記事ではその経緯と、なぜこれほどの差が生まれるのかを掘り下げます。また、シングルバイナリ配布にあたり、異なるOS間の動作を保証するためのGitHub Actions ubuntu/macos/windows runner + E2Eテストの構成についても紹介します。(現在v7.17.0なので、結構前の話ではあるんですが、記事にしようしようと思ってここまで来てしまいました。思い出しながら書いていきます 🙏)RulesyncについてRulesyncは、Claude Code, Cursor, GitHub Copilotなど各種AIコーディングツールの設定ファイルを一元管理するCLIツールです。TypeScriptで書いています。 deno compile を使っていました。DenoはTypeScriptをネイティブに実行でき、 deno compile コマンド一発でシングルバイナリを生成できます。クロスコンパイルにも対応しており、 …

zenn.dev
Related Topics: JavaScriptRuntime Node.js