バンドルしたい(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.jsrollupを設定できます。 rollup本体と関連するパッケージはdevDepencencies--save-dev)としてプロジェクトに追加すればOKです。

スクリプト設定したい(package.json

{
    "name": "...",
    "...": "...",
    "scripts": {
        "build": "rollup -c",
        "watch": "rollup -c --watch",
        "...": "..."
    }
}

npm scriptsbuildwatchを設定したサンプルです。

$ npm run build
$ npm run watch

それぞれnpm run buildnpm run watchで実行できます。