Skip to content

Instantly share code, notes, and snippets.

@hnw
Created March 10, 2026 11:12
Show Gist options
  • Select an option

  • Save hnw/b030c85e3d6ff54d7f43281152998955 to your computer and use it in GitHub Desktop.

Select an option

Save hnw/b030c85e3d6ff54d7f43281152998955 to your computer and use it in GitHub Desktop.

この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を強制実行する仕組みとして、最も枯れており、どの開発者が参加しても迷わない業界標準。
GAS連携 Clasp Google公式のデプロイツール。これ以外の選択肢はない。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment