バンドルしたい(rollup)
$ rollup -c
$ rollup -c --watch
rollupは、JavaScript/TypeScriptをひとつのファイルにまとめるツールです。
GAS本体はモジュール化した構造を扱うことができません。
ローカルでモジュール開発し、GASにデプロイする前にrollupでひとつにまとめるという作業フローになります。
設定したい(rollup.config.js)
// devDependenciesに追加
$ npm install --save-dev rollup @rollup/plugin-node-resolve @rollup/plugin-typescript
1import resolve from "@rollup/plugin-node-resolve";
2import typescript from "@rollup/plugin-typescript";
3import { defineConfig } from "rollup";
4
5export default defineConfig({
6 input: "src/index.ts",
7 output: {
8 file: "dist/code.js",
9 format: "iife",
10 }
11 plugins: [resolve(), typescript()],
12});
rollup.config.jsでrollupを設定できます。
rollup本体と関連するパッケージはdevDepencencies(--save-dev)としてプロジェクトに追加すればOKです。
スクリプト設定したい(package.json)
{
"name": "...",
"...": "...",
"scripts": {
"build": "rollup -c",
"watch": "rollup -c --watch",
"...": "..."
}
}
npm scriptsのbuildとwatchを設定したサンプルです。
$ npm run build
$ npm run watch
それぞれnpm run build、npm run watchで実行できます。