ClaspをTypeScriptでproject作成
docsも参照
というかこれ見れば十分
$ npm init -y
$ npm i typescript @google/clasp @types/google-apps-script
$ tsc --init
tsconfig.jsonを修正
code:tsconfi.json
{
"compilerOptions": {
"experimentalDecorators": true
}
}
package.jsonに下記を追記
code:package.json
"scripts": {
"clasp": "clasp"
},
$ npm run clasp login
$ npm run clasp create
appscscript.jsonのtimeZoneを変更する
"timeZone": "Asia/Tokyo",
code:appsscript.json
{
"timeZone":"Asia/Tokyo",
"dependencies": {},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}
サンプル
code:./index.ts
const greeter = (person: string) => {
return Hello, ${person}!;
}
function testGreeter() {
const user = 'Grant';
Logger.log(greeter(user));
}
明示的なimport文なしにLoggerとかが使える
ファイル名とか位置とかは割と何でもいいはず
ブラウザ側でどの関数を呼ぶか指定するので
exportして無くても公開されているのは謎だが、そういうものだと割り切る
$ npm run clasp push
$ npm run clasp open