Closed4

【Google Apps Script】asideを使ってGoogle Apps Scriptの環境構築をする

1zushun1zushun

asideとは?

Apps Script in IDE(ASIDE)は、書式設定、リンティング、テストなどが可能なローカルコーディング環境のフレームワークを提供することで、モダンで堅牢かつスケーラブルなApps Script開発をサポートします。

asideはApps Script in IDEの略ぽい。asideはclaspのラッパーみたいな感じ(ReactでいうところのNext.jsみたいな感じで色々盛り込んでくれる)

特徴

  • TypeScript
    TypeScriptが標準で搭載されている

  • Formatting / Linting
    ESLintとPrettierが入っている

  • Testing
    Jestでのテストが可能

  • Multiple Environments
    dev環境とprod環境がある

claspだとバンドルツールがWebpackだけれどasideはRollupだった(Rollupには苦い思い出がある)

環境構築

  • 下記リンクからGoogle Apps Script APIをオンにする

https://script.google.com/home/usersettings

  • 空のディレクトリを作成し、作成したディレクトリに移動した後にasideの初期化を始める
$ mkdir key-front-log-client
$ cd key-front-log-client
$ npx @google/aside init
$ code .

  • 下記リンクからスプシが生成されていることを確認する。もちろん初期化後に表示されたリンクを確認しても問題ない。

https://script.google.com/home

  • タイムゾーンを日本にする
appsscript.json
{
  "timeZone": "America/New_York", // Asia/Tokyo に変更する
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}
  • デプロイする
$ npm run deploy
  • GASエディタに反映されていることが確認できる

1zushun1zushun

アカウントを切り替える

前回、先方のGmailを使ってDX化させるタスクをやっていて、久しぶりにnpx @google/aside initしたらアカウントの切り替えをする必要があったのでメモ

clasp loginするとポップアップが表示されるので自分のアカウントで再ログインして終了(別途scriptIdなどは変更が必要になる)

$ clasp login

https://dev.classmethod.jp/articles/clasp-gas-deploy/

ESLintのルールセットにgtsを使っている

普段はairbnbのルールセットを使っているので試しに使ってみる。gtsはGoogle TypeScript Styleの略でGoogleのルールセットになる。正直あまり聞かないけどそこのところはどうなんだろうか。

https://github.com/google/gts

このスクラップは2023/10/10にクローズされました