👻

ローカルで開発したGASアプリのバージョンをエディタ上で表示する方法

2024/02/29に公開

こんな人におすすめ

  • GASをローカルで開発し、デプロイしている
  • ソースコードを複数ファイルに分けている(デプロイ時にビルドしている)

困ったこと

ローカルからデプロイした時にGASエディタ上ではどこがどう変わったのか、パッと見でわかりにくい!

ビルドするとコメントが消えてしまうのでソースコードには書けないし、appscript.jsonにかくと「余計なモン書くな!」と怒られてしまう...

解決方法

バージョンを記述するためのjavascriptファイルを作成し、ビルドの際にdistディレクトリにコピーする!

ソースコードを入れているフォルダ(自分の場合src)にversion.jsを作成し、コメントでバージョン情報などを記述

// バージョン:1.0.0
// 更新内容:バグ修正
// 更新日:2024/02/13

ビルドの設定ファイルで、ビルド後にversion.jsをコピーするよう設定

import { GasPlugin } from 'esbuild-gas-plugin'
import esbuild from 'esbuild'
import fs from 'fs'
import path, { dirname } from 'path'
import { fileURLToPath } from 'url'

const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)

esbuild
  .build({
    entryPoints: ['src/index.js'],
    bundle: true,
    outfile: 'dist/main.js',
    format: 'iife',
    plugins: [GasPlugin]
  })
  .then(() => {
    const srcPath = path.join(__dirname, 'src', 'version.js')
    const destPath = path.join(__dirname, 'dist', 'version.js')

    fs.copyFile(srcPath, destPath, (err) => {
      if (err) throw err
      console.log('version.js was copied to dist directory.')
    })
  })
  .catch((e) => {
    console.error(e)
    process.exit(1)
  })

ビルドしてデプロイすると...

やったね!

Discussion