モジュールバンドラーを見つけると「GAS向けのコードを作れるか」と考えてしまうようになりました。
というわけでesbuildプラグインを作ったので紹介します。
esbuild
爆速と話題ですね。
ちなみにプラグインAPIはexperimentalなので、今後の動向は気にかけていきたいと思います。
The plugin API is new and still experimental.
It may change in the future before version 1.0.0 of esbuild as new use cases are uncovered.
「GAS向けのコード」とは
esbuildでビルドしたコードをスクリプトエディタにコピペしても、関数を選択できませんでした。
この記事中にあるように グローバルオブジェクトに関数宣言文で関数を定義
する必要があります。
しかも、関数宣言文はgas-entry-generatorで生成できます(すごい)
esbuildプラグイン
作ったプラグインでは
- ビルド後のソースに対してgas-entry-generatorを実行して、関数宣言文を生成
- ビルド後のソースの先頭に1.を追記
をやってます。
大したことはやってないですね。
追記) Denoにも対応しています!
こんな感じで使ってみてください!
まとめ
だいぶ雑な実装ですが、実務のコードでも使っていて今のところ問題はないです
ぜひ使ってみてください!
appsscript.json
を自動でコピーしてくれる機能とかも追加していこうと思っています!