Bunも実行可能ファイルを作ることができます。こんな感じです。
$ bun build ./hello.ts --compile
これで、hello.ts ファイルから hello という実行可能ファイルが生成できます。
--compile をつけて bun build するだけです。
ユーザーが Bun をインストールしていなくても、アプリを実行可能ファイルとして単一のファイルで配布できるわけで便利ですね。まぁ、Node.jsでも v19.7 から実装されていますが、ランタイム一体のアプリという感じでしょうか。
$ bun build ./hello.js --compile --outfile myhello
--outfile <ファイル名> をつけると、hello.ts ファイルから myhello といった名前を指定して実行可能ファイルが生成できます。
前後しますが、今回はファイルの中身をこれにします。
console.log('Hello Bun')
本家の Document はここにあります。
Bun > Executables
リリースノートによれば、--minify オプションをつけることで、アプリの起動パフォーマンスを向上させることもできるようです。
今回はサンプルサイズが小さかったので比較はできていませんが、--minify 実行サンプルを置いておきます。
https://bun.sh/blog/bun-v0.6.0#standalone-executables
$ bun build ./hello.js --minify --compile --outfile minihello
注意したいのは、別のディレクトリやマシンへ、たとえば cp や rsync などで属性コピーもすれば大丈夫ですが、メールやFTP、WinSCPなどで配布したなどしたときなどに、もし実行権限をコピーしていなければ実行権限追加が必要です。
$ chmod u+x hello
実行は「./」をつけて次のようにします。
$ ./hello
$ Hello Bun
動きましたね。
最近 Qiita に書いた Bun 関連の記事10選