このGASプロジェクトについて、下記の技術スタックに移行、もしくは採用済みの場合は維持したいです。下記の提案を評価し、妥当であれば実装してください。また、修正・追加の提案があればそれを実装してください。
| 領域 | 最終選定 | 選定の理由 |
|---|---|---|
| パッケージ管理 | pnpm | 依存関係が厳格(Phantom dependencyの防止)で、CI/CD環境やローカルでのインストールが最速。現在のモダンフロントエンド/Node開発の事実上の最適解。 |
| 開発言語 | TypeScript | GAS開発(@types/google-apps-script)において必須。型による安全性がなければ、長期的な保守は不可能。 |
| リンター・フォーマッタ | Biome | ESLint + Prettierの組み合わせは既にレガシーになりつつある。Rust製で圧倒的に速く、設定が単一で済むBiomeが、新規の小〜中規模TSプロジェクトにおいては最良の選択。 |
| テストフレームワーク | Vitest | node:test はTSを直接実行するための設定(tsx等)が煩雑。Vitestなら設定ゼロでTSのテストが爆速で動く。開発体験(DX)の観点で圧倒的に優位。 |
| バンドラー (ビルド) | esbuild + esbuild-gas-plugin |
GASの「トップレベルに関数を露出させなければトリガー実行できない」という特殊な仕様を、最も美しく安全に解決できる唯一の正解構成。Webpackより桁違いに速く、設定も数行で済む。 |
| Gitフック (品質強制) | Husky + lint-staged | コミット前にBiomeを強制実行する仕組みとして、最も枯れており、どの開発者が参加しても迷わない業界標準。 |