@ciderjs/gasbombe 0.3.2 → 0.4.1

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.
Files changed (60) hide show
  1. package/dist/catalog.json +32 -0
  2. package/dist/cli.cjs +1 -1
  3. package/dist/cli.mjs +1 -1
  4. package/dist/index.cjs +12 -3
  5. package/dist/index.d.cts +2 -1
  6. package/dist/index.d.mts +2 -1
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.mjs +12 -4
  9. package/dist/templates/{react-ciderjs → common}/biome.json.ejs +14 -2
  10. package/dist/templates/html-js/package.json.ejs +10 -11
  11. package/dist/templates/html-js/rolldown.config.mjs.ejs +7 -23
  12. package/dist/templates/react/package.json.ejs +19 -20
  13. package/dist/templates/react/rolldown.config.ts.ejs +1 -13
  14. package/dist/templates/react/vite.config.ts.ejs +1 -1
  15. package/dist/templates/react-ciderjs/gasnuki.config.ts.ejs +7 -0
  16. package/dist/templates/react-ciderjs/package.json.ejs +23 -23
  17. package/dist/templates/react-ciderjs/rolldown.config.ts.ejs +1 -13
  18. package/dist/templates/react-ciderjs/server/modules/hello.ts.ejs +10 -0
  19. package/dist/templates/react-ciderjs/src/generated/router.d.ts.ejs +19 -0
  20. package/dist/templates/react-ciderjs/src/generated/routes.ts.ejs +34 -0
  21. package/dist/templates/react-ciderjs/src/index.css.ejs +43 -0
  22. package/dist/templates/react-ciderjs/src/lib/server.ts.ejs +14 -2
  23. package/dist/templates/react-ciderjs/src/main.tsx.ejs +12 -8
  24. package/dist/templates/react-ciderjs/src/{App.tsx.ejs → pages/_root.tsx.ejs} +9 -16
  25. package/dist/templates/react-ciderjs/src/pages/about.tsx.ejs +1 -0
  26. package/dist/templates/react-ciderjs/src/pages/detail/user.tsx.ejs +6 -4
  27. package/dist/templates/react-ciderjs/src/pages/index.tsx.ejs +13 -2
  28. package/dist/templates/react-ciderjs/types/appsscript/client.ts.ejs +65 -0
  29. package/dist/templates/react-ciderjs/vite.config.ts.ejs +2 -6
  30. package/dist/templates/server-js/package.json.ejs +10 -11
  31. package/dist/templates/server-js/rolldown.config.mjs.ejs +7 -23
  32. package/dist/templates/server-js/tests/{main.test.js.ejs → app.test.js.ejs} +1 -1
  33. package/dist/templates/server-ts/package.json.ejs +11 -12
  34. package/dist/templates/server-ts/rolldown.config.ts.ejs +3 -19
  35. package/dist/templates/server-ts/tests/{main.test.ts.ejs → app.test.ts.ejs} +1 -1
  36. package/dist/templates/vue/package.json.ejs +16 -17
  37. package/dist/templates/vue/rolldown.config.ts.ejs +1 -13
  38. package/dist/templates/vue/vite.config.ts.ejs +1 -1
  39. package/dist/templates/vue-ciderjs/gasnuki.config.ts.ejs +7 -0
  40. package/dist/templates/vue-ciderjs/package.json.ejs +20 -20
  41. package/dist/templates/vue-ciderjs/rolldown.config.ts.ejs +1 -13
  42. package/dist/templates/vue-ciderjs/server/modules/hello.ts.ejs +10 -0
  43. package/dist/templates/vue-ciderjs/src/components/HelloWorld.vue.ejs +11 -2
  44. package/dist/templates/vue-ciderjs/src/generated/router.d.ts.ejs +19 -0
  45. package/dist/templates/vue-ciderjs/src/generated/routes.ts.ejs +34 -0
  46. package/dist/templates/vue-ciderjs/src/lib/server.ts.ejs +14 -2
  47. package/dist/templates/vue-ciderjs/src/main.ts.ejs +6 -8
  48. package/dist/templates/vue-ciderjs/src/pages/detail/user.vue.ejs +3 -2
  49. package/dist/templates/vue-ciderjs/types/appsscript/client.ts.ejs +65 -0
  50. package/dist/templates/vue-ciderjs/vite.config.ts.ejs +1 -1
  51. package/package.json +24 -15
  52. package/dist/templates/html-js/biome.json.ejs +0 -36
  53. package/dist/templates/react/biome.json.ejs +0 -43
  54. package/dist/templates/server-js/biome.json.ejs +0 -36
  55. package/dist/templates/server-ts/biome.json.ejs +0 -36
  56. package/dist/templates/vue/biome.json.ejs +0 -35
  57. package/dist/templates/vue-ciderjs/biome.json.ejs +0 -35
  58. package/dist/templates/vue-ciderjs/src/App.vue.ejs +0 -7
  59. /package/dist/templates/server-js/src/{main.js.ejs → app.js.ejs} +0 -0
  60. /package/dist/templates/server-ts/src/{main.ts.ejs → app.ts.ejs} +0 -0
@@ -0,0 +1,65 @@
1
+ // Auto-generated by gasnuki
2
+ // Do NOT edit this file manually.
3
+
4
+ import type { JsonString } from "@ciderjs/gasnuki/json";
5
+
6
+ export type ServerScripts = {
7
+ sayHello(name: string): string;
8
+
9
+ getHelloMember(): JsonString<{
10
+ name: string;
11
+ age: number;
12
+ isMember: boolean;
13
+ }>;
14
+ };
15
+
16
+ // Auto-generated Types for GoogleAppsScript in client-side code
17
+
18
+ export type RemoveReturnType<T> = {
19
+ [P in keyof T]: T[P] extends (...args: infer A) => any
20
+ ? (...args: A) => void
21
+ : T[P];
22
+ };
23
+
24
+ type _AppsScriptRun = RemoveReturnType<ServerScripts> & {
25
+ [key: string]: (...args: any[]) => any;
26
+ withSuccessHandler: <T = string | number | boolean | undefined, U = any>(
27
+ callback: (returnValues: T, userObject?: U) => void,
28
+ ) => _AppsScriptRun;
29
+ withFailureHandler: <U = any>(
30
+ callback: (error: Error, userObject?: U) => void,
31
+ ) => _AppsScriptRun;
32
+ withUserObject: <U = any>(userObject: U) => _AppsScriptRun;
33
+ };
34
+
35
+ type _AppsScriptHistoryFunction = (
36
+ stateObject: object,
37
+ params: object,
38
+ hash: string,
39
+ ) => void;
40
+
41
+ interface _WebAppLocationType {
42
+ hash: string;
43
+ parameter: Record<string, string>;
44
+ parameters: Record<string, string[]>;
45
+ }
46
+
47
+ export declare interface GoogleClientSideApi {
48
+ script: {
49
+ run: _AppsScriptRun;
50
+ url: {
51
+ getLocation: (callback: (location: _WebAppLocationType) => void) => void;
52
+ };
53
+ history: {
54
+ push: _AppsScriptHistoryFunction;
55
+ replace: _AppsScriptHistoryFunction;
56
+ setChangeHandler: (
57
+ callback: (e: { state: object; location: _WebAppLocationType }) => void,
58
+ ) => void;
59
+ };
60
+ };
61
+ }
62
+
63
+ declare global {
64
+ const google: GoogleClientSideApi;
65
+ }
@@ -1,4 +1,4 @@
1
- /// <reference types="vitest" />
1
+ /// <reference types="vitest/config" />
2
2
 
3
3
  import { cityGasRouter } from "@ciderjs/city-gas/plugin";
4
4
  import { gasnuki } from "@ciderjs/gasnuki/vite";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ciderjs/gasbombe",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "description": "A TypeScript Project Generator for GoogleAppsScript, available as CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -17,11 +17,18 @@
17
17
  "types": "dist/index.d.ts",
18
18
  "scripts": {
19
19
  "dev": "jiti src/cli",
20
- "tsc": "tsgo --noEmit src",
20
+ "tsc": "tsgo --noEmit",
21
21
  "check": "biome check --write",
22
22
  "generate": "jiti scripts/copyTemplates",
23
23
  "test": "vitest run --coverage",
24
- "build": "pnpm run tsc && pnpm run test --silent && unbuild && pnpm run generate"
24
+ "build": "pnpm run tsc && pnpm run test --silent && unbuild && pnpm run generate",
25
+ ":react-c": "pnpm -C template-projects/react-ciderjs",
26
+ ":vue-c": "pnpm -C template-projects/vue-ciderjs",
27
+ ":react": "pnpm -C template-projects/react",
28
+ ":vue": "pnpm -C template-projects/vue",
29
+ ":html": "pnpm -C template-projects/html-js",
30
+ ":ts": "pnpm -C template-projects/server-ts",
31
+ ":js": "pnpm -C template-projects/server-js"
25
32
  },
26
33
  "keywords": [
27
34
  "googleappsscript",
@@ -40,26 +47,28 @@
40
47
  },
41
48
  "homepage": "https://github.com/luthpg/gasbombe#readme",
42
49
  "devDependencies": {
43
- "@biomejs/biome": "^2.3.4",
44
- "@inquirer/prompts": "^7.9.0",
50
+ "@biomejs/biome": "catalog:",
51
+ "@inquirer/prompts": "^8.2.0",
45
52
  "@types/ejs": "^3.1.5",
46
- "@types/node": "^24.10.0",
47
- "@typescript/native-preview": "7.0.0-dev.20251108.1",
48
- "@vitest/coverage-v8": "4.0.8",
53
+ "@types/js-yaml": "^4.0.9",
54
+ "@types/node": "catalog:",
55
+ "@typescript/native-preview": "7.0.0-dev.20260130.1",
56
+ "@vitest/coverage-v8": "catalog:",
49
57
  "commander": "^14.0.2",
50
58
  "consola": "^3.4.2",
51
- "ejs": "^3.1.10",
52
- "glob": "^11.0.3",
59
+ "ejs": "^4.0.1",
60
+ "glob": "^13.0.0",
53
61
  "jiti": "^2.6.1",
54
- "typescript": "^5.9.3",
62
+ "js-yaml": "^4.1.1",
63
+ "typescript": "catalog:",
55
64
  "unbuild": "^3.6.1",
56
- "vitest": "^4.0.8"
65
+ "vitest": "catalog:"
57
66
  },
58
67
  "peerDependencies": {
59
- "@inquirer/prompts": "^7",
68
+ "@inquirer/prompts": "^7 || ^8",
60
69
  "commander": "^14",
61
70
  "consola": "^3",
62
- "ejs": "^3",
63
- "glob": "^11"
71
+ "ejs": "^3 || ^4",
72
+ "glob": "^11 || ^12 || ^13"
64
73
  }
65
74
  }
@@ -1,36 +0,0 @@
1
- {
2
- "$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
3
- "vcs": {
4
- "enabled": false,
5
- "clientKind": "git",
6
- "useIgnoreFile": false
7
- },
8
- "files": {
9
- "ignoreUnknown": false,
10
- "includes": ["src/**/*", "tests/**/*", "types/**/*", "./*.js", "./*.json"]
11
- },
12
- "formatter": {
13
- "enabled": true,
14
- "indentStyle": "space",
15
- "indentWidth": 2
16
- },
17
- "linter": {
18
- "enabled": true,
19
- "rules": {
20
- "recommended": true
21
- }
22
- },
23
- "javascript": {
24
- "formatter": {
25
- "quoteStyle": "double"
26
- }
27
- },
28
- "assist": {
29
- "enabled": true,
30
- "actions": {
31
- "source": {
32
- "organizeImports": "on"
33
- }
34
- }
35
- }
36
- }
@@ -1,43 +0,0 @@
1
- {
2
- "$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
3
- "vcs": {
4
- "enabled": false,
5
- "clientKind": "git",
6
- "useIgnoreFile": false
7
- },
8
- "files": {
9
- "ignoreUnknown": false,
10
- "includes": [
11
- "src/**/*",
12
- "server/**/*",
13
- "tests/**/*",
14
- "types/**/*",
15
- "./*.ts",
16
- "./*.json"
17
- ]
18
- },
19
- "formatter": {
20
- "enabled": true,
21
- "indentStyle": "space",
22
- "indentWidth": 2
23
- },
24
- "linter": {
25
- "enabled": true,
26
- "rules": {
27
- "recommended": true
28
- }
29
- },
30
- "javascript": {
31
- "formatter": {
32
- "quoteStyle": "double"
33
- }
34
- },
35
- "assist": {
36
- "enabled": true,
37
- "actions": {
38
- "source": {
39
- "organizeImports": "on"
40
- }
41
- }
42
- }
43
- }
@@ -1,36 +0,0 @@
1
- {
2
- "$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
3
- "vcs": {
4
- "enabled": false,
5
- "clientKind": "git",
6
- "useIgnoreFile": false
7
- },
8
- "files": {
9
- "ignoreUnknown": false,
10
- "includes": ["src/**/*", "tests/**/*", "types/**/*", "./*.js", "./*.json"]
11
- },
12
- "formatter": {
13
- "enabled": true,
14
- "indentStyle": "space",
15
- "indentWidth": 2
16
- },
17
- "linter": {
18
- "enabled": true,
19
- "rules": {
20
- "recommended": true
21
- }
22
- },
23
- "javascript": {
24
- "formatter": {
25
- "quoteStyle": "double"
26
- }
27
- },
28
- "assist": {
29
- "enabled": true,
30
- "actions": {
31
- "source": {
32
- "organizeImports": "on"
33
- }
34
- }
35
- }
36
- }
@@ -1,36 +0,0 @@
1
- {
2
- "$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
3
- "vcs": {
4
- "enabled": false,
5
- "clientKind": "git",
6
- "useIgnoreFile": false
7
- },
8
- "files": {
9
- "ignoreUnknown": false,
10
- "includes": ["src/**/*", "tests/**/*", "types/**/*", "./*.ts", "./*.json"]
11
- },
12
- "formatter": {
13
- "enabled": true,
14
- "indentStyle": "space",
15
- "indentWidth": 2
16
- },
17
- "linter": {
18
- "enabled": true,
19
- "rules": {
20
- "recommended": true
21
- }
22
- },
23
- "javascript": {
24
- "formatter": {
25
- "quoteStyle": "double"
26
- }
27
- },
28
- "assist": {
29
- "enabled": true,
30
- "actions": {
31
- "source": {
32
- "organizeImports": "on"
33
- }
34
- }
35
- }
36
- }
@@ -1,35 +0,0 @@
1
- {
2
- "$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
3
- "vcs": {
4
- "enabled": true,
5
- "clientKind": "git",
6
- "useIgnoreFile": true
7
- },
8
- "files": {
9
- "ignoreUnknown": false
10
- },
11
- "formatter": {
12
- "enabled": true,
13
- "indentStyle": "space",
14
- "indentWidth": 2
15
- },
16
- "linter": {
17
- "enabled": true,
18
- "rules": {
19
- "recommended": true
20
- }
21
- },
22
- "javascript": {
23
- "formatter": {
24
- "quoteStyle": "double"
25
- }
26
- },
27
- "assist": {
28
- "enabled": true,
29
- "actions": {
30
- "source": {
31
- "organizeImports": "on"
32
- }
33
- }
34
- }
35
- }
@@ -1,35 +0,0 @@
1
- {
2
- "$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
3
- "vcs": {
4
- "enabled": true,
5
- "clientKind": "git",
6
- "useIgnoreFile": true
7
- },
8
- "files": {
9
- "ignoreUnknown": false
10
- },
11
- "formatter": {
12
- "enabled": true,
13
- "indentStyle": "space",
14
- "indentWidth": 2
15
- },
16
- "linter": {
17
- "enabled": true,
18
- "rules": {
19
- "recommended": true
20
- }
21
- },
22
- "javascript": {
23
- "formatter": {
24
- "quoteStyle": "double"
25
- }
26
- },
27
- "assist": {
28
- "enabled": true,
29
- "actions": {
30
- "source": {
31
- "organizeImports": "on"
32
- }
33
- }
34
- }
35
- }
@@ -1,7 +0,0 @@
1
- <template>
2
- <RouterOutlet />
3
- </template>
4
-
5
- <script setup lang="ts">
6
- import { RouterOutlet } from "@ciderjs/city-gas/vue";
7
- </script>