Google Apps Script : google/clasp の初期設定を行う

はじめに

Google Apps Script を typescript で書ける時代が来たようです。
clasp を使って social media のmetrics を集計するツールを作っていこうと思います。

今回はその初期設定(メモ)です。

github.com

初期設定

clasp の初期設定を行います。

clasp の設定

clasp を Global インストールします。

$ npm install -g @google/clasp

clasp は Google ログインして利用します。
強い権限を要求されますが潔く差し出しましょう。

$ clasp login

最近(?) G Suite Developer Hubという script を一括管理できるかっこいいポータルができました。
この設定タブから API を ON にしておきます。

f:id:nananao_dev:20191209231957p:plain

新規プロジェクトを作成します。

$ clasp create --title social-metrics --rootDir ./src --type sheets
$ clasp pull

ミドルウェアの設定

webpack を導入しようか迷ってますが gas-webpack-plugin というライブラリが吐き出す .gs コードが小難しいので一旦保留です。

$ npm init -y
$ npm i -D typescript ts-loader
$ npm i -D @types/google-apps-script
$ npm i -D jest @types/jest ts-jest

clasp のワークフロー

プロジェクトをひらきます。

$ clasp open

./src/main.ts として以下のようなサンプルコードを書きます。

export default (name: string): string => `Hello, ${name}!`;

./tests に test を書けるようにします。

import greet from '../src/main';

describe('greet', (): void => {
    test('should say hello to Tom.', (): void => {
        const response: string = greet('Tom');
        expect(response).toBe('Hello, Tom!');
    });
})

あとは package.json の scripts を書いておきます。

...
  "scripts": {
    "test": "jest",
    "build": "npm run test",
    "push": "npm run build && clasp push"
  },
...

まとめ

google/clasp の初期設定を行いました。

github.com