TypeScriptでGASの開発を行うための環境構築
はじめに
claspという、Google Apps Script(GAS)をローカルで開発することを可能にするCLIツールがあります。そのツールを使うと、ローカルで開発をできるようになるだけでなく、TypeScriptを使って開発できるようになります。
今回は、TypeScriptでGASの開発をするために行なった環境構築の内容を備忘録としてまとめていきたいと思います。
TypeScriptでGASの開発を行うための環境構築
TypeScript周りの諸々を準備する
まずはGASの開発を行うディレクトリを作成し、 TypeScriptや型などをインストールしていきます。TypeScriptと、コードを整えるためにTSLintとPrettierもインストールします。
$ mkdir -p clasp_project_sample/src && cd clasp_project_sample
$ npm init -y
$ npm i -S typescript
$ npm i -S @types/google-apps-script @types/node
$ npm i -D tslint prettier tslint-config-prettier tslint-plugin-prettier
インストールが完了したら、以下のコマンドを実行してtsconfig.json
とtslint.json
を作成します。
$ npx tslint --init
$ npx tsc --init
tsconfig.json
を作成したら、ドキュメントに従ってファイルを編集します[1][2]。
{
"compilerOptions": {
"isolatedModules": true,
"noLib": true,
"noResolve": true,
"target": "ES2019",
"lib": ["esnext"],
"module": "None",
"noImplicitUseStrict": true,
"experimentalDecorators": true,
"types": ["google-apps-script", "node"]
}
}
claspを導入する
まずはclaspをインストールしていきます。
$ npm i -g @google/clasp
claspのインストールが完了したら、claspを使ってGASのプロジェクトを作成します。以下のコマンドで作成します。
$ clasp login
$ clasp create --type standalone --title "clasp project sample" --rootDir ./src
GASのプロジェクトを作成すると、./src
に.clasp.json
が作成されます。このファイルはtsconfig.json
と同じディレクトリにある必要があるので移動させます[2:1]。また、"fileExtension": "ts"
を追加することで、ローカルプロジェクトの拡張子を指定することができます。必要に応じて追加してください。
{
"scriptId": "YOUR_SCRIPT_ID",
"rootDir": "./src",
+ "fileExtension": "ts"
}
Gitでプロジェクトを管理できるようにする
あとはGitで管理できるようにして、個人的には完了かなと思います。.clasp.json
を上げるのは良くないので、.gitignore
に記載しておきましょう。
node_modules/
.clasp.json
最後にTypeScriptのファイルは./src
で作成して終わりです。
最終的にディレクトリ構造は、以下のようになりました。
clasp_project_sample/
├── node_modules/
├── src
│ ├── appsscript.json
│ └── main.ts
├── .clasp.json
├── .gitignore
├── package-lock.json
├── package.json
├── README.md
├── tsconfig.json
└── tslint.json
さいごに
今回は自分の備忘録として、TypeScriptでGASの開発をするための環境構築についてまとめました!どなたかの参考になれば幸いです。
Discussion