@ciderjs/gasbombe 0.3.2 → 0.4.0
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/catalog.json +32 -0
- package/dist/cli.cjs +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.cjs +14 -3
- package/dist/index.d.cts +2 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +14 -4
- package/dist/templates/{react-ciderjs → common}/biome.json.ejs +14 -2
- package/dist/templates/html-js/package.json.ejs +10 -11
- package/dist/templates/html-js/rolldown.config.mjs.ejs +7 -23
- package/dist/templates/react/package.json.ejs +19 -20
- package/dist/templates/react/rolldown.config.ts.ejs +1 -13
- package/dist/templates/react/vite.config.ts.ejs +1 -1
- package/dist/templates/react-ciderjs/gasnuki.config.ts.ejs +7 -0
- package/dist/templates/react-ciderjs/package.json.ejs +23 -23
- package/dist/templates/react-ciderjs/rolldown.config.ts.ejs +1 -13
- package/dist/templates/react-ciderjs/server/modules/hello.ts.ejs +10 -0
- package/dist/templates/react-ciderjs/src/generated/router.d.ts.ejs +19 -0
- package/dist/templates/react-ciderjs/src/generated/routes.ts.ejs +34 -0
- package/dist/templates/react-ciderjs/src/index.css.ejs +43 -0
- package/dist/templates/react-ciderjs/src/lib/server.ts.ejs +14 -2
- package/dist/templates/react-ciderjs/src/main.tsx.ejs +12 -8
- package/dist/templates/react-ciderjs/src/{App.tsx.ejs → pages/_root.tsx.ejs} +9 -16
- package/dist/templates/react-ciderjs/src/pages/about.tsx.ejs +1 -0
- package/dist/templates/react-ciderjs/src/pages/detail/user.tsx.ejs +6 -4
- package/dist/templates/react-ciderjs/src/pages/index.tsx.ejs +13 -2
- package/dist/templates/react-ciderjs/types/appsscript/client.ts.ejs +65 -0
- package/dist/templates/react-ciderjs/vite.config.ts.ejs +2 -6
- package/dist/templates/server-js/package.json.ejs +10 -11
- package/dist/templates/server-js/rolldown.config.mjs.ejs +7 -23
- package/dist/templates/server-js/tests/{main.test.js.ejs → app.test.js.ejs} +1 -1
- package/dist/templates/server-ts/package.json.ejs +11 -12
- package/dist/templates/server-ts/rolldown.config.ts.ejs +3 -19
- package/dist/templates/server-ts/tests/{main.test.ts.ejs → app.test.ts.ejs} +1 -1
- package/dist/templates/vue/package.json.ejs +16 -17
- package/dist/templates/vue/rolldown.config.ts.ejs +1 -13
- package/dist/templates/vue/vite.config.ts.ejs +1 -1
- package/dist/templates/vue-ciderjs/gasnuki.config.ts.ejs +7 -0
- package/dist/templates/vue-ciderjs/package.json.ejs +20 -20
- package/dist/templates/vue-ciderjs/rolldown.config.ts.ejs +1 -13
- package/dist/templates/vue-ciderjs/server/modules/hello.ts.ejs +10 -0
- package/dist/templates/vue-ciderjs/src/components/HelloWorld.vue.ejs +11 -2
- package/dist/templates/vue-ciderjs/src/generated/router.d.ts.ejs +19 -0
- package/dist/templates/vue-ciderjs/src/generated/routes.ts.ejs +34 -0
- package/dist/templates/vue-ciderjs/src/lib/server.ts.ejs +14 -2
- package/dist/templates/vue-ciderjs/src/main.ts.ejs +6 -8
- package/dist/templates/vue-ciderjs/src/pages/detail/user.vue.ejs +3 -2
- package/dist/templates/vue-ciderjs/types/appsscript/client.ts.ejs +65 -0
- package/dist/templates/vue-ciderjs/vite.config.ts.ejs +1 -1
- package/package.json +21 -12
- package/dist/templates/html-js/biome.json.ejs +0 -36
- package/dist/templates/react/biome.json.ejs +0 -43
- package/dist/templates/server-js/biome.json.ejs +0 -36
- package/dist/templates/server-ts/biome.json.ejs +0 -36
- package/dist/templates/vue/biome.json.ejs +0 -35
- package/dist/templates/vue-ciderjs/biome.json.ejs +0 -35
- package/dist/templates/vue-ciderjs/src/App.vue.ejs +0 -7
- /package/dist/templates/server-js/src/{main.js.ejs → app.js.ejs} +0 -0
- /package/dist/templates/server-ts/src/{main.ts.ejs → app.ts.ejs} +0 -0
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { createRouter } from "@ciderjs/city-gas";
|
|
2
|
-
import { createRouterPlugin } from "@ciderjs/city-gas/vue";
|
|
2
|
+
import { createRouterPlugin, RouterOutlet } from "@ciderjs/city-gas/vue";
|
|
3
3
|
import { createApp } from "vue";
|
|
4
|
+
import { dynamicRoutes, pages, specialPages } from "./generated/routes";
|
|
4
5
|
import "@/style.css";
|
|
5
|
-
import App from "@/App.vue";
|
|
6
|
-
import { pages, specialPages } from "@/generated/routes";
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
createApp(App).use(createRouterPlugin(router)).mount("#app");
|
|
11
|
-
}
|
|
7
|
+
const router = createRouter(pages, { specialPages, dynamicRoutes });
|
|
8
|
+
const app = createApp(RouterOutlet);
|
|
12
9
|
|
|
13
|
-
|
|
10
|
+
app.use(createRouterPlugin(router));
|
|
11
|
+
app.mount("#app");
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
<script setup lang="ts">
|
|
9
9
|
import { useParams } from "@ciderjs/city-gas/vue";
|
|
10
10
|
|
|
11
|
-
const params = useParams
|
|
11
|
+
const params = useParams("/detail/user");
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
14
|
<script lang="ts">
|
|
15
|
-
|
|
15
|
+
import {z} from 'zod';
|
|
16
|
+
export const schema = z.object({ id: z.string() });
|
|
16
17
|
</script>
|
|
@@ -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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ciderjs/gasbombe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
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
|
|
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,20 +47,22 @@
|
|
|
40
47
|
},
|
|
41
48
|
"homepage": "https://github.com/luthpg/gasbombe#readme",
|
|
42
49
|
"devDependencies": {
|
|
43
|
-
"@biomejs/biome": "
|
|
44
|
-
"@inquirer/prompts": "^
|
|
50
|
+
"@biomejs/biome": "catalog:",
|
|
51
|
+
"@inquirer/prompts": "^8.2.0",
|
|
45
52
|
"@types/ejs": "^3.1.5",
|
|
46
|
-
"@types/
|
|
47
|
-
"@
|
|
48
|
-
"@
|
|
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": "4.0.18",
|
|
49
57
|
"commander": "^14.0.2",
|
|
50
58
|
"consola": "^3.4.2",
|
|
51
|
-
"ejs": "^
|
|
52
|
-
"glob": "^
|
|
59
|
+
"ejs": "^4.0.1",
|
|
60
|
+
"glob": "^13.0.0",
|
|
53
61
|
"jiti": "^2.6.1",
|
|
54
|
-
"
|
|
62
|
+
"js-yaml": "^4.1.1",
|
|
63
|
+
"typescript": "catalog:",
|
|
55
64
|
"unbuild": "^3.6.1",
|
|
56
|
-
"vitest": "
|
|
65
|
+
"vitest": "catalog:"
|
|
57
66
|
},
|
|
58
67
|
"peerDependencies": {
|
|
59
68
|
"@inquirer/prompts": "^7",
|
|
@@ -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
|
-
}
|
|
File without changes
|
|
File without changes
|