Google Apps Scriptを使用する上で設定しなければいけないのが.clasp.json
です。自分は.clasp.json
を正しく設定することを忘れてしまったためにミスをしてしまいました。そこで今回は.clasp.json
の書き方をまとめておきたいと思います。
.clasp.jsonの設定方法
GitHub上での説明は下記にあります。
https://github.com/google/clasp#project-settings-file-claspjson
.clasp.json
はプロジェクト設定ファイルとも呼ばれ、clasp clone
やclasp create
をしたときにカレントディレクトリへ作成されます。
GitHubにあった例を記述しておきます。
{ "scriptId": "", "rootDir": "build/", "projectId": "project-id-xxxxxxxxxxxxxxxxxxx", "fileExtension": "ts", "filePushOrder": ["file1.ts", "file2.ts"] }
scriptId
Google Scriptプロジェクトを特定するためのIDが記述される場所です。
URLとしてある、https://script.google.com/d/<SCRIPT_ID>/edit
の<SCRIPT_ID>
と同じ値が入ります。
rootDir
どのディレクトリのファイルをプロジェクト上にpushするかを決める項目です。必須項目ではないために指定がない場合は現在のディレクトリをpushします。
rootDirを設定しなかったための失敗
新規で開発をしていたとき、node_modules
と同じディレクトリで開発していました。そして、pushをしてしまった結果は対象のファイルがpushの対象となっており長時間結果が帰ってこない結果となりました。
開発する際ソースコードはsrc配下で開発をし、.clasp.json
の "rootDir": "src/",
とすることをおすすめします。こうすることでプロジェクトにpushされるのはsrc配下だけとなります。
projectId
claspがどのGoogle Cloud PlatformのIDと紐付いているかを特定する項目です。
fileExtension
開発しているソースコードの拡張子を指定します。必須項目ではないため、書かなくても大丈夫なようです。
filePushOrder
ファイルをプッシュする順番を指定します。説明文には、実行順に依存するものがある場合に役立ちますとありますが具体的には思いつきませんでした。すべてがアップロードされてから実行すると思うのですが…。
まとめ
今回はrootDir
を正しく設定していないことで問題が発生し、.clasp.json
を調査することになりました。
しかし、結果として自分が気がついていない機能を発見できてよかったです。
Google Apps Scriptで手軽に開発することが増えてきましたので、今後も調査していきたいと思います。
おしまい。