google/claspを用いたgasのサンプル。
以下にインストール〜gasとしてGoogleDriveへpushするまでの手順を記載します。
以下の記事を参考にさせていただきました。
ありがとうございました。
では本題へ。
# インストール
yarn add global @google/clasp
# npm i @google/clasp -g
# ログイン
clasp login
# この後、Googleアカウントのパスワードを入力
ログイン後、ブラウザの新規タブが開き、
claspからの操作の許可を求められるので許可します。
以下からGoogle App Script APIの有効化を行います。
https://script.google.com/home/usersettings
# 作成
clasp create app-name
GAS用のフォルダを作成済みの場合はclasp create .
でもおkです。
今回テスト用に以下のソースコードを作成します。
src/sample.js
// @ts-nocheck
function echoMessage(msg) {
Logger.log(msg);
}
function main() {
["hello", "world", "!"].forEach(function (msg) {
echoMessage(msg);
});
}
ここまで実装すればデプロイできるのですが、
このままだとnode_modules
など、
不要なファイルも一緒にデプロイされてしまいます。
(時間がかかる...)
そのため、.claspignore
の作成・設定を行います。
.claspignore
**/**
!src/*.js
!appsscript.json
上記ファイルの作成が終わったらデプロイ実施、
そのままデプロイされているか確認します。
# デプロイ(push)
clasp push
# デプロイが終わったら、ブラウザからGASとして出力されているか確認
clasp open
src/sample.gs
というファイル名が作成されていたら、
デプロイおkです。
不要なファイルをコミットしないよう、
.gitignore
を作成・設定します。
.gitignore
node_modules/
.vscode/
.clasp.json
VSCode使わない方は.vscode/
は不要になります。
これであとはコミットと自分のリポジトリへpushするだけでおkです。
お疲れ様でした。
# 念のため初期化〜コミット
git init
git add -A
git commit -m "{なにかコメントを}"
# push
git push
.clasp.json
{"scriptId":"〜"}
clasp create
した際に作成されます。
キーが格納されているため、誤ってGitHubに公開しないよう、
.gitignore
に追記しておくこと。
以下の記事を参考に、TypeScriptで書くのも良さそう。
てか、TSの方が良いだろうな...