📚

AsideでGAS開発

2024/09/09に公開

AsideでGAS開発をする時に見たいことをまとめたよ

https://github.com/google/aside

APIの有効化

  1. https://script.google.com/home/usersettings へアクセス
  2. Google Apps Script APIをオンにする

初期化

GASを所有するGoogleに関してログインしておく(※claspをインストール済み)

npm i @google/clasp
npx clasp logout
npx clasp login
npx @google/aside init
  • スクリプトIDは、すでにあれば入れる

設定を変更

タイムゾーン変更(appsscript.json)

"timeZone": "Asia/Tokyo",

ライセンス非表示(rollup.config.mjs)

  plugins: [
    cleanup({ comments: 'none', extensions: ['.ts'] }),
    typescript(),
    prettier({ parser: 'typescript' }),
  ],

ライセンス非表示(package.json)

"lint": "eslint --fix --no-error-on-unmatched-pattern src/ test/",

ビルド(手元で出力を確認したい場合)

npm run build

デプロイ

npm run deploy

違うGoogleアカウントに紐付けたい場合

一度claspでログインし直して、
再度初期化コマンドでいける

Parsing error: Cannot read file '/project_path/tsconfig.json'.

vscodeの設定で、eslint.workingDirectoriesを設定する

{
  "eslint.workingDirectories": ["./hogehoge"]
}

参考:https://zenn.dev/taichifukumoto/scraps/45be5ffdfa8457

全てのモジュールを個別に出力したい場合

一つにまとめると見づらい時に(rollup.config.mjs)

export default {
+ input: {
+   orders: 'src/orders.ts',
+   products: 'src/products.ts',
+ },

  output: {
    dir: 'dist',
    format: 'esm',
+   preserveModules: true,
  },
  plugins: [cleanup({ comments: 'none', extensions: ['.ts'] }), typescript()],
  context: 'this',
};

Discussion