📖
clasp + TypeScript のGASローカル開発環境構築
npm, clasp のインストール、Googleへのログインは済んでいることを前提とする。
-
github リポジトリのクローン
git clone "repository_url" -
GAS プロジェクトのクローン
clasp clone “SCRIPT_ID” -
npm プロジェクトの初期化
npm init -y -
clasp, TypeScript のローカルインストール
npm install --save-dev typescript prettier @types/google-apps-script -
TypeScript の設定
5-1. tsconfig.json の作成
{ "compilerOptions": { "target": "ES6", "lib": ["ES5", "ES6"], "module": "none", "outDir": "dist", "rootDir": "src", "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true }, "include": ["src"] }5-2. src, dist ディレクトリ作成
mkdir src dist -
clasp の設定
6-1. .clasp.json の
rootdirを変更{ "scriptId": "SCRIPT_ID", "rootDir": "dist" }6-2. appsscript.json を dist へ移動
mv appsscript.json dist/$1 -
.gitignore の作成
# npm install 時に作成されるディレクトリ node_modules/ # TypeScript のトランスパイル結果 dist/ # macOS のシステムファイル .DS_Store # ログファイル *.log # 環境変数ファイル .env # GAS のスクリプトIDが含まれるファイル .clasp.json -
package.json の設定追加
"scripts": { "format": "prettier --write '**/*.{ts, tsx}'" }
トランスパイルの実行
-
通常
npx tsc -
継続監視
npx tsc --watch
フォーマッターの実行
npm run format
Discussion