https://github.com/jy8752/deno-gas-project-example
deno + esbuild + claspを使ったGASプロジェクト例
https://github.com/jy8752/deno-gas-project-example
clasp deno esbuild javascript js ts typescript
Last synced: about 1 month ago
JSON representation
deno + esbuild + claspを使ったGASプロジェクト例
- Host: GitHub
- URL: https://github.com/jy8752/deno-gas-project-example
- Owner: JY8752
- Created: 2025-05-26T02:44:41.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-09-01T05:09:22.000Z (about 2 months ago)
- Last Synced: 2025-09-01T07:31:00.665Z (about 2 months ago)
- Topics: clasp, deno, esbuild, javascript, js, ts, typescript
- Language: TypeScript
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# my-gas-project
GAS(Google App Script)のプロジェクト置き場。
以下の技術スタックを使用。- deno
- clasp
- esbuilddenoのworkspaceを使用して複数プロジェクトを管理できるようにしている。
## setup
以下、`getujihoukoku`プロジェクトの作成例。
`packages`配下に新しくディレクトリを作成。
```
mkdir packages/getujihoukoku
cd packages/getujihoukoku
```denoの初期化。
```
deno init
````clasp`のログイン。(ログインしていなければ)
```
deno run -A npm:@google/clasp@3.0.4-alpha login
```GASプロジェクトの作成(もしくはクローン)。
```
deno run -A npm:@google/clasp@3.0.4-alpha clone
or
deno run -A npm:@google/clasp@3.0.4-alpha create
````deno.json`に以下を記載。
```json
{
"name": "@my-gas-project/getujihoukoku", // package名
"exports": {
".": "./main.ts" // package名を設定した場合、exportsの設定をしないと警告でるので
},
"tasks": {
// rootのビルドスクリプトを実行する
"build": "deno run -A ../../_build.ts @my-gas-project/getujihoukoku",
// ビルドしたスクリプトをpushする
"push": "deno run --allow-env --allow-net --allow-read --allow-sys --allow-write npm:@google/clasp@3.0.4-alpha push -f",
// build & push
"deploy": "deno task build && deno task push"
}
}
````clasp.json`の`rootDir`を変更する。
```json
{
"scriptId": "",
"rootDir": "dist", // distに変更する
"scriptExtensions": [
".js",
".gs"
],
"htmlExtensions": [
".html"
],
"jsonExtensions": [
".json"
],
"filePushOrder": [],
"skipSubdirectories": false
}
```## 使用例
### build
```
deno task build
or
deno task --cwd=packages/getujihoukoku build
```### push
```
deno task push
or
deno task --cwd=packages/getujihoukoku push
```### deploy
```
deno task deploy
or
deno task --cwd=packages/getujihoukoku deploy
```