@ciderjs/gasbombe 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.cjs +5 -6
- package/dist/index.mjs +6 -7
- package/dist/templates/server-js/README.md.ejs +3 -3
- package/dist/templates/server-js/package.json.ejs +1 -2
- package/dist/templates/server-js/vitest.config.js.ejs +5 -2
- package/package.json +5 -5
- package/dist/templates/server-js/tsconfig.json.ejs +0 -34
package/dist/cli.cjs
CHANGED
package/dist/cli.mjs
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -52,7 +52,7 @@ async function handleClaspSetup(claspOption, projectName, outputDir, claspProjec
|
|
|
52
52
|
if (claspOption === "skip") {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
const npxLikeCommand = packageManager === "npm" ? "npx" : packageManager === "pnpm" ? "
|
|
55
|
+
const npxLikeCommand = packageManager === "npm" ? "npx" : packageManager === "pnpm" ? "pnpm dlx" : "yarn dlx";
|
|
56
56
|
consola.consola.start(
|
|
57
57
|
`Setting up .clasp.json with \`${npxLikeCommand} @google/clasp\`...`
|
|
58
58
|
);
|
|
@@ -190,9 +190,10 @@ async function generateProject({
|
|
|
190
190
|
const files = await fs__default.readdir(outputDir);
|
|
191
191
|
const relevantFiles = files.filter((file) => !file.startsWith("."));
|
|
192
192
|
if (relevantFiles.length > 0) {
|
|
193
|
-
const proceed = await confirm(
|
|
194
|
-
"Current directory is not empty. Proceed anyway?"
|
|
195
|
-
|
|
193
|
+
const proceed = await prompts.confirm({
|
|
194
|
+
message: "Current directory is not empty. Proceed anyway?",
|
|
195
|
+
default: false
|
|
196
|
+
});
|
|
196
197
|
if (!proceed) {
|
|
197
198
|
consola.consola.warn("Operation cancelled.");
|
|
198
199
|
process.exit(0);
|
|
@@ -229,8 +230,6 @@ async function generateProject({
|
|
|
229
230
|
const templateContent = await fs__default.readFile(templatePath, {
|
|
230
231
|
encoding: "utf-8"
|
|
231
232
|
});
|
|
232
|
-
console.log({ relativePath, ejsData });
|
|
233
|
-
console.warn(templateContent);
|
|
234
233
|
const renderedContent = ejs__default.render(templateContent, ejsData);
|
|
235
234
|
await fs__default.writeFile(outputPath, renderedContent, { encoding: "utf-8" });
|
|
236
235
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { select } from '@inquirer/prompts';
|
|
4
|
+
import { confirm, select } from '@inquirer/prompts';
|
|
5
5
|
import { consola } from 'consola';
|
|
6
6
|
import ejs from 'ejs';
|
|
7
7
|
import { glob } from 'glob';
|
|
@@ -53,7 +53,7 @@ async function handleClaspSetup(claspOption, projectName, outputDir, claspProjec
|
|
|
53
53
|
if (claspOption === "skip") {
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
|
-
const npxLikeCommand = packageManager === "npm" ? "npx" : packageManager === "pnpm" ? "
|
|
56
|
+
const npxLikeCommand = packageManager === "npm" ? "npx" : packageManager === "pnpm" ? "pnpm dlx" : "yarn dlx";
|
|
57
57
|
consola.start(
|
|
58
58
|
`Setting up .clasp.json with \`${npxLikeCommand} @google/clasp\`...`
|
|
59
59
|
);
|
|
@@ -191,9 +191,10 @@ async function generateProject({
|
|
|
191
191
|
const files = await fs.readdir(outputDir);
|
|
192
192
|
const relevantFiles = files.filter((file) => !file.startsWith("."));
|
|
193
193
|
if (relevantFiles.length > 0) {
|
|
194
|
-
const proceed = await confirm(
|
|
195
|
-
"Current directory is not empty. Proceed anyway?"
|
|
196
|
-
|
|
194
|
+
const proceed = await confirm({
|
|
195
|
+
message: "Current directory is not empty. Proceed anyway?",
|
|
196
|
+
default: false
|
|
197
|
+
});
|
|
197
198
|
if (!proceed) {
|
|
198
199
|
consola.warn("Operation cancelled.");
|
|
199
200
|
process.exit(0);
|
|
@@ -230,8 +231,6 @@ async function generateProject({
|
|
|
230
231
|
const templateContent = await fs.readFile(templatePath, {
|
|
231
232
|
encoding: "utf-8"
|
|
232
233
|
});
|
|
233
|
-
console.log({ relativePath, ejsData });
|
|
234
|
-
console.warn(templateContent);
|
|
235
234
|
const renderedContent = ejs.render(templateContent, ejsData);
|
|
236
235
|
await fs.writeFile(outputPath, renderedContent, { encoding: "utf-8" });
|
|
237
236
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
#
|
|
1
|
+
# JavaScript + AppsScript
|
|
2
2
|
|
|
3
|
-
This template provides a minimal setup to get
|
|
3
|
+
This template provides a minimal setup to get JavaScript working for Apps Script Backend.
|
|
4
4
|
|
|
5
5
|
Currently, these plugins are available:
|
|
6
6
|
|
|
7
|
-
- [rolldown](https://github.com/rolldown/rolldown) for transpile
|
|
7
|
+
- [rolldown](https://github.com/rolldown/rolldown) for transpile JavaScript files and bundle files
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"main": "./dist/app.js",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"check": "biome check --write",
|
|
9
|
-
"build": "
|
|
9
|
+
"build": "rolldown -c && cpy src/*.json dist/",
|
|
10
10
|
"test": "vitest run --coverage",
|
|
11
11
|
"push": "clasp push"
|
|
12
12
|
},
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"cpy-cli": "^6.0.0",
|
|
20
20
|
"rolldown": "1.0.0-rc.2",
|
|
21
21
|
"rolldown-plugin-remove-export": "^0.1.3",
|
|
22
|
-
"vite-tsconfig-paths": "^6.0.5",
|
|
23
22
|
"vitest": "^4.0.18"
|
|
24
23
|
}
|
|
25
24
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
2
1
|
import { defineConfig } from "vitest/config";
|
|
3
2
|
|
|
4
3
|
export default defineConfig({
|
|
@@ -7,5 +6,9 @@ export default defineConfig({
|
|
|
7
6
|
include: ["src/**/*"],
|
|
8
7
|
},
|
|
9
8
|
},
|
|
10
|
-
|
|
9
|
+
resolver: {
|
|
10
|
+
alias: {
|
|
11
|
+
"@": "./src",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
11
14
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ciderjs/gasbombe",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "A TypeScript Project Generator for GoogleAppsScript, available as CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@types/js-yaml": "^4.0.9",
|
|
54
54
|
"@types/node": "catalog:",
|
|
55
55
|
"@typescript/native-preview": "7.0.0-dev.20260130.1",
|
|
56
|
-
"@vitest/coverage-v8": "
|
|
56
|
+
"@vitest/coverage-v8": "catalog:",
|
|
57
57
|
"commander": "^14.0.2",
|
|
58
58
|
"consola": "^3.4.2",
|
|
59
59
|
"ejs": "^4.0.1",
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"vitest": "catalog:"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"@inquirer/prompts": "^7",
|
|
68
|
+
"@inquirer/prompts": "^7 || ^8",
|
|
69
69
|
"commander": "^14",
|
|
70
70
|
"consola": "^3",
|
|
71
|
-
"ejs": "^3",
|
|
72
|
-
"glob": "^11"
|
|
71
|
+
"ejs": "^3 || ^4",
|
|
72
|
+
"glob": "^11 || ^12 || ^13"
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "es2022",
|
|
4
|
-
"useDefineForClassFields": true,
|
|
5
|
-
"module": "esnext",
|
|
6
|
-
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
-
"skipLibCheck": true,
|
|
8
|
-
|
|
9
|
-
/* Bundler mode */
|
|
10
|
-
"moduleResolution": "bundler",
|
|
11
|
-
"allowImportingTsExtensions": true,
|
|
12
|
-
"isolatedModules": true,
|
|
13
|
-
"moduleDetection": "force",
|
|
14
|
-
"noEmit": true,
|
|
15
|
-
|
|
16
|
-
/* Linting */
|
|
17
|
-
"strict": true,
|
|
18
|
-
"noUnusedLocals": true,
|
|
19
|
-
"noUnusedParameters": true,
|
|
20
|
-
"noFallthroughCasesInSwitch": true,
|
|
21
|
-
"noUncheckedSideEffectImports": true,
|
|
22
|
-
|
|
23
|
-
"allowJs": true,
|
|
24
|
-
"checkJs": false,
|
|
25
|
-
"types": ["node", "google-apps-script"],
|
|
26
|
-
|
|
27
|
-
// Aliases
|
|
28
|
-
"paths": {
|
|
29
|
-
"@/*": ["./src/*"],
|
|
30
|
-
"~/*": ["./*"]
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
"include": ["src", "tests", "types", "./*.ts"]
|
|
34
|
-
}
|