Google Apps ScriptプロジェクトをTypeScript + esbuildで開発
expression-upload-notify/
├── .github/
│ └── workflows/
│ ├── deploy.yml # 自動デプロイ設定
│ └── README.md # セットアップ手順
├── dist/ # ビルド出力先(GASにプッシュされる)
│ ├── appsscript.json
│ └── main.js
├── src/ # TypeScriptソースコード
│ ├── App.ts
│ └── main.ts
├── esbuild.js # ビルド設定
├── package.json
└── tsconfig.json
# 依存関係のインストール
npm install
# claspでログイン
npx clasp login
# 既存プロジェクトの場合: .clasp.jsonを作成
# {
# "scriptId": "your-script-id",
# "rootDir": "./dist"
# }
# または新規作成
npx clasp create --type sheets --title "expression-upload-notify"npm run build- TypeScriptをビルド(esbuildでバンドル&ミニファイ)npm run push- distフォルダの内容をGASにプッシュnpm run deploy- ビルド→プッシュを一括実行npm run open- ブラウザでGASエディタを開く
src/App.tsや他のTSファイルでコードを編集npm run deployでビルド&GASに反映npm run openでGASエディタを開く- GASエディタで
App関数を実行して動作確認
mainブランチにマージすると自動的にGASにデプロイされます。
詳細は .github/workflows/README.md を参照してください。
簡易版(推奨):
- ローカルで
clasp login実行 ~/.clasprc.jsonの内容をコピー- GitHubリポジトリの「Settings」→「Secrets」で
CLASPRC_JSONとして登録 - mainにマージすると自動デプロイ
- ✅ TypeScriptで型安全な開発
- ✅ esbuildで複数ファイルを1つにバンドル
- ✅ ミニファイで最適化
- ✅ import/exportでファイル分割可能
- ✅ GitHub Actionsで自動デプロイ