clasp を使うと、GAS をTypeScriptで書くことができる。 clasp 1.5.0 でサポートされるようになった。
https://github.com/google/clasp/blob/master/docs/typescript.md
ローカルでtsファイルで書いたGASをpushすると、自動でトランスパイルしてからアップロードしてくれる
GASをTSで書けるようにする
claspのプロジェクトで、google-apps-scriptの型定義を追加
これによって、IDE上でSpreadsheetAppなどGAS固有の定義も補完されるようになる
tsconfig.jsonを追加する
tsconfig.json
tsファイルを作ってpushする
hello.ts
push
プロジェクトを開く
.gsファイルに変換されたファイルが作成されている
注意
clasp pull
すると、変換されたjsファイルがダウンロードされる- 基本的にはローカルでTypeScriptで開発してpushするという一方通行になるので、複数人で開発するときにもそのフローを徹底する
- よくわからずにWeb上で編集する人がいると、大変なことになる(実体験)