1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

gas aside で 開発環境を作ってみる

Last updated at Posted at 2024-01-07

仕事でやることになったので自分用にまとめる

前提条件

  • VSCodeがインストールされている
  • Node.jsがインストールされている (npm が使える)

GoogleAppsScriptAPIの有効化

下記リンクからGoogleAppsScriptAPIを有効化する。
GoogleAppsScriptAPIの設定画面
これで外部からAppsScriptを操作できるようになる。

asideを用いたプロジェクト作成

asideでできる環境の特徴

  • claspの設定がなされている
  • 快適にTypescriptで記述できるような環境である (デプロイ時には自動コンパイルされる)
  • ESLint,Prettierの設定がなされている
  • Jestによるテスト環境が整っている
  • 開発環境と本番環境を簡単に切り替えができる設定がなされている

作成

プロジェクト用のディレクトリを作っておく

$ mkdir gas_sample
$ cd gas_sample

プロジェクト作成
対話式で設定を聞かれるので答えながら進める

# プロジェクト作成
$ npx @google/aside init

? Project Title: › gas_sample
? Generate package.json? › No / Yes
✔ Adding scripts...
✔ Saving package.json...
✔ Installing dependencies...
✔ Installing src template...
✔ Installing test template...
✔ Script ID (optional): … 
✔ Script ID for production environment (optional): … 
✔ Creating gas_sample...

-> Google Sheets Link: https://drive.google.com/open?id=sheetId
-> Apps Script Link: https://script.google.com/d/scriptId/edit

ScriptID, ScriptID for production environment の入力を求められる。
未入力のまま進めると新規でスプレッドシートとAppsScriptプロジェクトが作られる。
最後にスプレッドシートとAppsScriptのリンクが表示されるのでどこかに記録しておく。

プロジェクトの設定

タイムゾーンの設定

/gas_sample/appsscript.json
-  "timeZone": "America/New_York",
+  "timeZone": "Asia/Tokyo",

ライセンスの設定変更

/gas_sample/license-config.json
{
  "ignore": ["build",
+   "src",
+   "test",
    "dist"
  ],
  …
}

デプロイ前のプロジェクト自体を公開または配布する場合は上記設定の代わりに下記設定とする。

/gas_sample/license-header.txt
- Copyright 2023 Google LLC
+ Copyright 2023 自分の名前など

デプロイ

# 開発環境にデプロイ
$ npm run deploy
# 本番環境にデプロイ
$ npm run deploy:prod

プロジェクトを作成した時点では開発環境も本番環境も同じ設定になっている。
切り替える場合は、clasp-dev.jsonとclasp-prod.jsonの内容を変更する。

既存のプロジェクトからscriptをとってくる場合

# claspインストール
$ npm install @google/clasp -g
# claspのログイン
$ clasp login

ログイン画面が表示されるので、ログインする

pull元(デプロイ先)を変更

.clasp-dev.jsonから.clasp.jsonを作成。
scriptIdを既存のGasのIDに変更する。
parentIdは削除。

.clasp.json
{"scriptId":"scriptId","rootDir":"./dist"}

ダウンロード

$ clasp pull

dist ディレクトリにscriptがダウンロードされる。

参考にした記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?