@batijs/cli 0.0.149 → 0.0.151
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/boilerplates/@batijs/compiled/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/eslint/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/express/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/h3/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/hattip/files/$package.json.js +5 -5
- package/dist/boilerplates/@batijs/react/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/react/types/pages/+config.h.d.ts +2 -61
- package/dist/boilerplates/@batijs/shared/files/package.json +1 -1
- package/dist/boilerplates/@batijs/solid/files/$package.json.js +22 -28
- package/dist/boilerplates/@batijs/solid/files/layouts/HeadDefault.tsx +5 -0
- package/dist/boilerplates/@batijs/solid/files/layouts/LayoutDefault.tsx +1 -1
- package/dist/boilerplates/@batijs/solid/files/pages/+config.h.ts +2 -4
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/@id/+Page.tsx +8 -6
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/@id/+data.ts +22 -0
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/@id/+title.ts +7 -0
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+Page.tsx +6 -4
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+data.ts +22 -0
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+title.ts +7 -0
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/types.ts +1 -4
- package/dist/boilerplates/@batijs/solid/types/pages/+config.h.d.ts +2 -8
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/@id/+Page.d.ts +1 -4
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/@id/+data.d.ts +4 -0
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/@id/+title.d.ts +3 -0
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/index/+Page.d.ts +1 -4
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/index/+data.d.ts +3 -0
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/index/+title.d.ts +3 -0
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/types.d.ts +1 -4
- package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/vercel/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/vue/files/$package.json.js +1 -1
- package/dist/index.js +2 -2
- package/package.json +6 -6
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/@id/+onBeforeRender.ts +0 -27
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/filterMovieData.ts +0 -11
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+onBeforePrerenderStart.ts +0 -40
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+onBeforeRender.ts +0 -81
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/getStarWarsMovies.ts +0 -29
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/@id/+onBeforeRender.d.ts +0 -11
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/filterMovieData.d.ts +0 -3
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/index/+onBeforePrerenderStart.d.ts +0 -18
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/index/+onBeforeRender.d.ts +0 -10
- package/dist/boilerplates/@batijs/solid/types/pages/star-wars/index/getStarWarsMovies.d.ts +0 -7
|
@@ -42,8 +42,8 @@ var require_package = __commonJS({
|
|
|
42
42
|
},
|
|
43
43
|
devDependencies: {
|
|
44
44
|
"@batijs/compile": "workspace:^",
|
|
45
|
-
"@typescript-eslint/eslint-plugin": "^6.19.
|
|
46
|
-
"@typescript-eslint/parser": "^6.19.
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
46
|
+
"@typescript-eslint/parser": "^6.19.1",
|
|
47
47
|
eslint: "^8.56.0"
|
|
48
48
|
},
|
|
49
49
|
dependencies: {
|
|
@@ -44,14 +44,14 @@ var require_package = __commonJS({
|
|
|
44
44
|
"@auth/core": "^0.22.0",
|
|
45
45
|
"@batijs/compile": "workspace:*",
|
|
46
46
|
"@batijs/trpc": "workspace:*",
|
|
47
|
-
"@hattip/adapter-node": "^0.0.
|
|
47
|
+
"@hattip/adapter-node": "^0.0.41",
|
|
48
48
|
"@trpc/server": "^10.45.0",
|
|
49
49
|
"@types/express": "^4.17.21",
|
|
50
50
|
"@types/node": "^18.19.3",
|
|
51
51
|
express: "^4.18.2",
|
|
52
52
|
telefunc: "^0.1.70",
|
|
53
53
|
tsx: "^4.7.0",
|
|
54
|
-
vike: "^0.4.
|
|
54
|
+
vike: "^0.4.160",
|
|
55
55
|
"vike-authjs": "^0.1.4",
|
|
56
56
|
vite: "^5.0.12"
|
|
57
57
|
},
|
|
@@ -44,7 +44,7 @@ var require_package = __commonJS({
|
|
|
44
44
|
"@auth/core": "^0.22.0",
|
|
45
45
|
"@batijs/compile": "workspace:*",
|
|
46
46
|
"@batijs/trpc": "workspace:^",
|
|
47
|
-
"@hattip/polyfills": "^0.0.
|
|
47
|
+
"@hattip/polyfills": "^0.0.41",
|
|
48
48
|
"@trpc/server": "^10.45.0",
|
|
49
49
|
"@types/node": "^18.19.3",
|
|
50
50
|
"@types/serve-static": "^1.15.5",
|
|
@@ -52,7 +52,7 @@ var require_package = __commonJS({
|
|
|
52
52
|
"serve-static": "^1.15.0",
|
|
53
53
|
telefunc: "^0.1.70",
|
|
54
54
|
tsx: "^4.7.0",
|
|
55
|
-
vike: "^0.4.
|
|
55
|
+
vike: "^0.4.160",
|
|
56
56
|
"vike-authjs": "^0.1.4",
|
|
57
57
|
vite: "^5.0.12"
|
|
58
58
|
},
|
|
@@ -44,15 +44,15 @@ var require_package = __commonJS({
|
|
|
44
44
|
"@auth/core": "^0.22.0",
|
|
45
45
|
"@batijs/compile": "workspace:*",
|
|
46
46
|
"@batijs/trpc": "workspace:^",
|
|
47
|
-
"@hattip/adapter-node": "^0.0.
|
|
48
|
-
"@hattip/core": "^0.0.
|
|
49
|
-
"@hattip/router": "^0.0.
|
|
50
|
-
"@hattip/vite": "^0.0.
|
|
47
|
+
"@hattip/adapter-node": "^0.0.41",
|
|
48
|
+
"@hattip/core": "^0.0.41",
|
|
49
|
+
"@hattip/router": "^0.0.41",
|
|
50
|
+
"@hattip/vite": "^0.0.41",
|
|
51
51
|
"@trpc/server": "^10.45.0",
|
|
52
52
|
"@types/node": "^18.19.3",
|
|
53
53
|
hattip: "^0.0.33",
|
|
54
54
|
telefunc: "^0.1.70",
|
|
55
|
-
vike: "^0.4.
|
|
55
|
+
vike: "^0.4.160",
|
|
56
56
|
"vike-authjs": "^0.1.4",
|
|
57
57
|
vite: "^5.0.12"
|
|
58
58
|
},
|
|
@@ -1,69 +1,10 @@
|
|
|
1
|
+
import vikeReact from "vike-react";
|
|
1
2
|
import Head from "../layouts/HeadDefault";
|
|
2
3
|
import Layout from "../layouts/LayoutDefault";
|
|
3
4
|
declare const _default: {
|
|
4
5
|
Layout: typeof Layout;
|
|
5
6
|
Head: typeof Head;
|
|
6
7
|
title: string;
|
|
7
|
-
extends:
|
|
8
|
-
onRenderHtml: "import:vike-react/renderer/onRenderHtml:onRenderHtml";
|
|
9
|
-
onRenderClient: "import:vike-react/renderer/onRenderClient:onRenderClient";
|
|
10
|
-
passToClient: string[];
|
|
11
|
-
clientRouting: true;
|
|
12
|
-
hydrationCanBeAborted: true;
|
|
13
|
-
meta: {
|
|
14
|
-
Head: {
|
|
15
|
-
env: {
|
|
16
|
-
server: true;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
Layout: {
|
|
20
|
-
env: {
|
|
21
|
-
server: true;
|
|
22
|
-
client: true;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
title: {
|
|
26
|
-
env: {
|
|
27
|
-
server: true;
|
|
28
|
-
client: true;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
favicon: {
|
|
32
|
-
env: {
|
|
33
|
-
server: true;
|
|
34
|
-
client: true;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
lang: {
|
|
38
|
-
env: {
|
|
39
|
-
server: true;
|
|
40
|
-
client: true;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
ssr: {
|
|
44
|
-
env: {
|
|
45
|
-
config: true;
|
|
46
|
-
};
|
|
47
|
-
effect: import("vike/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn").ConfigEffect;
|
|
48
|
-
};
|
|
49
|
-
stream: {
|
|
50
|
-
env: {
|
|
51
|
-
server: true;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
VikeReactQueryWrapper: {
|
|
55
|
-
env: {
|
|
56
|
-
client: true;
|
|
57
|
-
server: true;
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
Wrapper: {
|
|
61
|
-
env: {
|
|
62
|
-
client: true;
|
|
63
|
-
server: true;
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
};
|
|
8
|
+
extends: typeof vikeReact;
|
|
68
9
|
};
|
|
69
10
|
export default _default;
|
|
@@ -45,13 +45,13 @@ var require_package = __commonJS({
|
|
|
45
45
|
"@types/node": "^18.19.3",
|
|
46
46
|
"cross-fetch": "^4.0.0",
|
|
47
47
|
"eslint-plugin-solid": "^0.13.1",
|
|
48
|
-
"solid-js": "^1.8.
|
|
48
|
+
"solid-js": "^1.8.12",
|
|
49
49
|
tailwindcss: "^3.4.1",
|
|
50
50
|
typescript: "^5.3.3",
|
|
51
|
-
vike: "^0.4.
|
|
52
|
-
"vike-solid": "^0.
|
|
51
|
+
vike: "^0.4.160",
|
|
52
|
+
"vike-solid": "^0.3.0",
|
|
53
53
|
vite: "^5.0.12",
|
|
54
|
-
"vite-plugin-solid": "^2.
|
|
54
|
+
"vite-plugin-solid": "^2.9.1"
|
|
55
55
|
},
|
|
56
56
|
dependencies: {
|
|
57
57
|
"@batijs/core": "workspace:*"
|
|
@@ -95,26 +95,23 @@ var require_package = __commonJS({
|
|
|
95
95
|
"./pages/star-wars/types": {
|
|
96
96
|
types: "./dist/types/pages/star-wars/types.d.ts"
|
|
97
97
|
},
|
|
98
|
-
"./pages/star-wars
|
|
99
|
-
types: "./dist/types/pages/star-wars
|
|
98
|
+
"./pages/star-wars/@id/+data": {
|
|
99
|
+
types: "./dist/types/pages/star-wars/@id/+data.d.ts"
|
|
100
100
|
},
|
|
101
101
|
"./pages/star-wars/@id/+Page": {
|
|
102
102
|
types: "./dist/types/pages/star-wars/@id/+Page.d.ts"
|
|
103
103
|
},
|
|
104
|
-
"./pages/star-wars/@id/+
|
|
105
|
-
types: "./dist/types/pages/star-wars/@id/+
|
|
104
|
+
"./pages/star-wars/@id/+title": {
|
|
105
|
+
types: "./dist/types/pages/star-wars/@id/+title.d.ts"
|
|
106
|
+
},
|
|
107
|
+
"./pages/star-wars/index/+data": {
|
|
108
|
+
types: "./dist/types/pages/star-wars/index/+data.d.ts"
|
|
106
109
|
},
|
|
107
110
|
"./pages/star-wars/index/+Page": {
|
|
108
111
|
types: "./dist/types/pages/star-wars/index/+Page.d.ts"
|
|
109
112
|
},
|
|
110
|
-
"./pages/star-wars/index
|
|
111
|
-
types: "./dist/types/pages/star-wars/index
|
|
112
|
-
},
|
|
113
|
-
"./pages/star-wars/index/+onBeforePrerenderStart": {
|
|
114
|
-
types: "./dist/types/pages/star-wars/index/+onBeforePrerenderStart.d.ts"
|
|
115
|
-
},
|
|
116
|
-
"./pages/star-wars/index/+onBeforeRender": {
|
|
117
|
-
types: "./dist/types/pages/star-wars/index/+onBeforeRender.d.ts"
|
|
113
|
+
"./pages/star-wars/index/+title": {
|
|
114
|
+
types: "./dist/types/pages/star-wars/index/+title.d.ts"
|
|
118
115
|
}
|
|
119
116
|
},
|
|
120
117
|
typesVersions: {
|
|
@@ -149,26 +146,23 @@ var require_package = __commonJS({
|
|
|
149
146
|
"pages/star-wars/types": [
|
|
150
147
|
"./dist/types/pages/star-wars/types.d.ts"
|
|
151
148
|
],
|
|
152
|
-
"pages/star-wars
|
|
153
|
-
"./dist/types/pages/star-wars
|
|
149
|
+
"pages/star-wars/@id/+data": [
|
|
150
|
+
"./dist/types/pages/star-wars/@id/+data.d.ts"
|
|
154
151
|
],
|
|
155
152
|
"pages/star-wars/@id/+Page": [
|
|
156
153
|
"./dist/types/pages/star-wars/@id/+Page.d.ts"
|
|
157
154
|
],
|
|
158
|
-
"pages/star-wars/@id/+
|
|
159
|
-
"./dist/types/pages/star-wars/@id/+
|
|
155
|
+
"pages/star-wars/@id/+title": [
|
|
156
|
+
"./dist/types/pages/star-wars/@id/+title.d.ts"
|
|
157
|
+
],
|
|
158
|
+
"pages/star-wars/index/+data": [
|
|
159
|
+
"./dist/types/pages/star-wars/index/+data.d.ts"
|
|
160
160
|
],
|
|
161
161
|
"pages/star-wars/index/+Page": [
|
|
162
162
|
"./dist/types/pages/star-wars/index/+Page.d.ts"
|
|
163
163
|
],
|
|
164
|
-
"pages/star-wars/index
|
|
165
|
-
"./dist/types/pages/star-wars/index
|
|
166
|
-
],
|
|
167
|
-
"pages/star-wars/index/+onBeforePrerenderStart": [
|
|
168
|
-
"./dist/types/pages/star-wars/index/+onBeforePrerenderStart.d.ts"
|
|
169
|
-
],
|
|
170
|
-
"pages/star-wars/index/+onBeforeRender": [
|
|
171
|
-
"./dist/types/pages/star-wars/index/+onBeforeRender.d.ts"
|
|
164
|
+
"pages/star-wars/index/+title": [
|
|
165
|
+
"./dist/types/pages/star-wars/index/+title.d.ts"
|
|
172
166
|
]
|
|
173
167
|
}
|
|
174
168
|
}
|
|
@@ -8,6 +8,8 @@ export default function HeadDefault() {
|
|
|
8
8
|
if (BATI.has("plausible.io")) {
|
|
9
9
|
return (
|
|
10
10
|
<>
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<meta name="description" content="Demo showcasing Vike" />
|
|
11
13
|
<link rel="icon" href={logoUrl} />
|
|
12
14
|
{/* See https://plausible.io/docs/plausible-script */}
|
|
13
15
|
{/* TODO: update data-domain */}
|
|
@@ -18,6 +20,7 @@ export default function HeadDefault() {
|
|
|
18
20
|
return (
|
|
19
21
|
<>
|
|
20
22
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
23
|
+
<meta name="description" content="Demo showcasing Vike" />
|
|
21
24
|
<script
|
|
22
25
|
async
|
|
23
26
|
src={`https://www.googletagmanager.com/gtag/js?id=${import.meta.env.PUBLIC_ENV__GOOGLE_ANALYTICS}`}
|
|
@@ -34,6 +37,8 @@ export default function HeadDefault() {
|
|
|
34
37
|
} else {
|
|
35
38
|
return (
|
|
36
39
|
<>
|
|
40
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
41
|
+
<meta name="description" content="Demo showcasing Vike" />
|
|
37
42
|
<link rel="icon" href={logoUrl} />
|
|
38
43
|
</>
|
|
39
44
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import vikeSolid from "vike-solid";
|
|
2
|
-
import Layout from "../layouts/LayoutDefault";
|
|
3
|
-
import Head from "../layouts/HeadDefault";
|
|
4
2
|
import type { Config } from "vike/types";
|
|
3
|
+
import Head from "../layouts/HeadDefault";
|
|
4
|
+
import Layout from "../layouts/LayoutDefault";
|
|
5
5
|
|
|
6
6
|
// Default config (can be overridden by pages)
|
|
7
7
|
export default {
|
|
@@ -9,7 +9,5 @@ export default {
|
|
|
9
9
|
Head,
|
|
10
10
|
// <title>
|
|
11
11
|
title: "My Vike App",
|
|
12
|
-
// <meta name="description">
|
|
13
|
-
description: "Demo showcasing Vike",
|
|
14
12
|
extends: vikeSolid,
|
|
15
13
|
} satisfies Config;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useData } from "vike-solid/useData";
|
|
2
|
+
import type { Data } from "./+data";
|
|
2
3
|
|
|
3
|
-
export default function Page(
|
|
4
|
+
export default function Page() {
|
|
5
|
+
const movie = useData<Data>();
|
|
4
6
|
return (
|
|
5
7
|
<>
|
|
6
|
-
<h1>{
|
|
7
|
-
Release Date: {
|
|
8
|
+
<h1>{movie.title}</h1>
|
|
9
|
+
Release Date: {movie.release_date}
|
|
8
10
|
<br />
|
|
9
|
-
Director: {
|
|
11
|
+
Director: {movie.director}
|
|
10
12
|
<br />
|
|
11
|
-
Producer: {
|
|
13
|
+
Producer: {movie.producer}
|
|
12
14
|
</>
|
|
13
15
|
);
|
|
14
16
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// https://vike.dev/data
|
|
2
|
+
|
|
3
|
+
import fetch from "cross-fetch";
|
|
4
|
+
import type { PageContextServer } from "vike/types";
|
|
5
|
+
import type { MovieDetails } from "../types";
|
|
6
|
+
|
|
7
|
+
export type Data = Awaited<ReturnType<typeof data>>;
|
|
8
|
+
|
|
9
|
+
export const data = async (pageContext: PageContextServer) => {
|
|
10
|
+
const response = await fetch(`https://brillout.github.io/star-wars/api/films/${pageContext.routeParams.id}.json`);
|
|
11
|
+
let movie = (await response.json()) as MovieDetails;
|
|
12
|
+
// We remove data we don't need because the data is passed to
|
|
13
|
+
// the client; we should minimize what is sent over the network.
|
|
14
|
+
movie = minimize(movie);
|
|
15
|
+
return movie;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
function minimize(movie: MovieDetails): MovieDetails {
|
|
19
|
+
const { id, title, release_date, director, producer } = movie;
|
|
20
|
+
movie = { id, title, release_date, director, producer };
|
|
21
|
+
return movie;
|
|
22
|
+
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { For } from "solid-js";
|
|
2
|
-
import
|
|
2
|
+
import { useData } from "vike-solid/useData";
|
|
3
|
+
import type { Data } from "./+data";
|
|
3
4
|
|
|
4
|
-
export default function Page(
|
|
5
|
+
export default function Page() {
|
|
6
|
+
const movies = useData<Data>();
|
|
5
7
|
return (
|
|
6
8
|
<>
|
|
7
9
|
<h1>Star Wars Movies</h1>
|
|
8
10
|
<ol>
|
|
9
|
-
<For each={
|
|
11
|
+
<For each={movies}>
|
|
10
12
|
{(movie) => (
|
|
11
13
|
<li>
|
|
12
14
|
<a href={`/star-wars/${movie.id}`}>{movie.title}</a> ({movie.release_date})
|
|
@@ -15,7 +17,7 @@ export default function Page(props: { movies: Movie[] }) {
|
|
|
15
17
|
</For>
|
|
16
18
|
</ol>
|
|
17
19
|
<p>
|
|
18
|
-
Source: <a href="https://star-wars
|
|
20
|
+
Source: <a href="https://brillout.github.io/star-wars">brillout.github.io/star-wars</a>.
|
|
19
21
|
</p>
|
|
20
22
|
</>
|
|
21
23
|
);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// https://vike.dev/data
|
|
2
|
+
|
|
3
|
+
import fetch from "cross-fetch";
|
|
4
|
+
import type { Movie, MovieDetails } from "../types";
|
|
5
|
+
|
|
6
|
+
export type Data = Awaited<ReturnType<typeof data>>;
|
|
7
|
+
|
|
8
|
+
export const data = async () => {
|
|
9
|
+
const response = await fetch("https://brillout.github.io/star-wars/api/films.json");
|
|
10
|
+
const moviesData = (await response.json()) as MovieDetails[];
|
|
11
|
+
// We remove data we don't need because the data is passed to the client; we should
|
|
12
|
+
// minimize what is sent over the network.
|
|
13
|
+
const movies = minimize(moviesData);
|
|
14
|
+
return movies;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
function minimize(movies: MovieDetails[]): Movie[] {
|
|
18
|
+
return movies.map((movie) => {
|
|
19
|
+
const { title, release_date, id } = movie;
|
|
20
|
+
return { title, release_date, id };
|
|
21
|
+
});
|
|
22
|
+
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import Layout from "../layouts/LayoutDefault";
|
|
2
1
|
import Head from "../layouts/HeadDefault";
|
|
2
|
+
import Layout from "../layouts/LayoutDefault";
|
|
3
3
|
declare const _default: {
|
|
4
4
|
Layout: typeof Layout;
|
|
5
5
|
Head: typeof Head;
|
|
6
6
|
title: string;
|
|
7
|
-
description: string;
|
|
8
7
|
extends: {
|
|
9
8
|
onRenderHtml: "import:vike-solid/renderer/onRenderHtml:onRenderHtml";
|
|
10
9
|
onRenderClient: "import:vike-solid/renderer/onRenderClient:onRenderClient";
|
|
11
|
-
passToClient: string[];
|
|
12
10
|
clientRouting: true;
|
|
13
11
|
hydrationCanBeAborted: true;
|
|
14
12
|
meta: {
|
|
@@ -29,14 +27,10 @@ declare const _default: {
|
|
|
29
27
|
client: true;
|
|
30
28
|
};
|
|
31
29
|
};
|
|
32
|
-
description: {
|
|
33
|
-
env: {
|
|
34
|
-
server: true;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
30
|
favicon: {
|
|
38
31
|
env: {
|
|
39
32
|
server: true;
|
|
33
|
+
client: true;
|
|
40
34
|
};
|
|
41
35
|
};
|
|
42
36
|
lang: {
|
package/dist/index.js
CHANGED
|
@@ -584,7 +584,7 @@ Please report this issue to https://github.com/magne4000/bati`
|
|
|
584
584
|
// package.json
|
|
585
585
|
var package_default = {
|
|
586
586
|
name: "@batijs/cli",
|
|
587
|
-
version: "0.0.
|
|
587
|
+
version: "0.0.151",
|
|
588
588
|
type: "module",
|
|
589
589
|
scripts: {
|
|
590
590
|
"check-types": "tsc --noEmit",
|
|
@@ -604,7 +604,7 @@ var package_default = {
|
|
|
604
604
|
"@types/which": "^3.0.3",
|
|
605
605
|
citty: "^0.1.5",
|
|
606
606
|
colorette: "^2.0.20",
|
|
607
|
-
esbuild: "^0.19.
|
|
607
|
+
esbuild: "^0.19.12",
|
|
608
608
|
execa: "^8.0.1",
|
|
609
609
|
rimraf: "^5.0.5",
|
|
610
610
|
sift: "^17.0.1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@batijs/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.151",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"description": "Next-gen scaffolder. Get started with fully-functional apps, and choose any tool you want",
|
|
@@ -12,19 +12,19 @@
|
|
|
12
12
|
"@types/which": "^3.0.3",
|
|
13
13
|
"citty": "^0.1.5",
|
|
14
14
|
"colorette": "^2.0.20",
|
|
15
|
-
"esbuild": "^0.19.
|
|
15
|
+
"esbuild": "^0.19.12",
|
|
16
16
|
"execa": "^8.0.1",
|
|
17
17
|
"rimraf": "^5.0.5",
|
|
18
18
|
"sift": "^17.0.1",
|
|
19
19
|
"tsup": "^8.0.1",
|
|
20
20
|
"typescript": "^5.3.3",
|
|
21
21
|
"vite": "^5.0.12",
|
|
22
|
-
"@batijs/
|
|
23
|
-
"@batijs/
|
|
22
|
+
"@batijs/build": "0.0.151",
|
|
23
|
+
"@batijs/compile": "0.0.151"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@batijs/
|
|
27
|
-
"@batijs/
|
|
26
|
+
"@batijs/features": "0.0.151",
|
|
27
|
+
"@batijs/core": "0.0.151"
|
|
28
28
|
},
|
|
29
29
|
"bin": "./dist/index.js",
|
|
30
30
|
"exports": {
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export default onBeforeRender;
|
|
2
|
-
|
|
3
|
-
import fetch from "cross-fetch";
|
|
4
|
-
import type { PageContextBuiltInServer } from "vike/types";
|
|
5
|
-
import { filterMovieData } from "../filterMovieData";
|
|
6
|
-
import type { MovieDetails } from "../types";
|
|
7
|
-
|
|
8
|
-
async function onBeforeRender(pageContext: PageContextBuiltInServer) {
|
|
9
|
-
const response = await fetch(`https://star-wars.brillout.com/api/films/${pageContext.routeParams.id}.json`);
|
|
10
|
-
let movie = (await response.json()) as MovieDetails;
|
|
11
|
-
|
|
12
|
-
// We remove data we don't need because we pass `pageContext.movie` to
|
|
13
|
-
// the client; we want to minimize what is sent over the network.
|
|
14
|
-
movie = filterMovieData(movie);
|
|
15
|
-
|
|
16
|
-
const { title } = movie;
|
|
17
|
-
|
|
18
|
-
return {
|
|
19
|
-
pageContext: {
|
|
20
|
-
pageProps: {
|
|
21
|
-
movie,
|
|
22
|
-
},
|
|
23
|
-
// The page's <title>
|
|
24
|
-
title,
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { MovieDetails } from "./types";
|
|
2
|
-
|
|
3
|
-
export { filterMovieData };
|
|
4
|
-
|
|
5
|
-
function filterMovieData(
|
|
6
|
-
movie: MovieDetails & Record<string, unknown>
|
|
7
|
-
): MovieDetails {
|
|
8
|
-
const { id, title, release_date, director, producer } = movie;
|
|
9
|
-
movie = { id, title, release_date, director, producer };
|
|
10
|
-
return movie;
|
|
11
|
-
}
|
package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+onBeforePrerenderStart.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// https://vike.dev/onBeforePrerenderStart
|
|
2
|
-
export default onBeforePrerenderStart;
|
|
3
|
-
|
|
4
|
-
import { filterMovieData } from "../filterMovieData";
|
|
5
|
-
import { filterMoviesData, getStarWarsMovies, getTitle } from "./getStarWarsMovies.js";
|
|
6
|
-
|
|
7
|
-
async function onBeforePrerenderStart() {
|
|
8
|
-
const movies = await getStarWarsMovies();
|
|
9
|
-
|
|
10
|
-
return [
|
|
11
|
-
{
|
|
12
|
-
url: "/star-wars",
|
|
13
|
-
// We already provide `pageContext` here so that `vike`
|
|
14
|
-
// will *not* have to call the `onBeforeRender()` hook defined
|
|
15
|
-
// above in this file.
|
|
16
|
-
pageContext: {
|
|
17
|
-
pageProps: {
|
|
18
|
-
movies: filterMoviesData(movies),
|
|
19
|
-
},
|
|
20
|
-
title: getTitle(movies),
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
...movies.map((movie) => {
|
|
24
|
-
const url = `/star-wars/${movie.id}`;
|
|
25
|
-
return {
|
|
26
|
-
url,
|
|
27
|
-
// Note that we can also provide the `pageContext` of other pages.
|
|
28
|
-
// This means that `vike` will not call any
|
|
29
|
-
// `onBeforeRender()` hook and the Star Wars API will be called
|
|
30
|
-
// only once (in this `prerender()` hook).
|
|
31
|
-
pageContext: {
|
|
32
|
-
pageProps: {
|
|
33
|
-
movie: filterMovieData(movie),
|
|
34
|
-
},
|
|
35
|
-
title: movie.title,
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}),
|
|
39
|
-
];
|
|
40
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import fetch from "cross-fetch";
|
|
2
|
-
//import { filterMovieData } from '../filterMovieData'
|
|
3
|
-
import type { Movie, MovieDetails } from "../types";
|
|
4
|
-
|
|
5
|
-
export default onBeforeRender;
|
|
6
|
-
|
|
7
|
-
// export { prerender }
|
|
8
|
-
|
|
9
|
-
async function onBeforeRender() {
|
|
10
|
-
const movies = await getStarWarsMovies();
|
|
11
|
-
return {
|
|
12
|
-
pageContext: {
|
|
13
|
-
pageProps: {
|
|
14
|
-
// We remove data we don't need because we pass `pageContext.movies` to
|
|
15
|
-
// the client; we want to minimize what is sent over the network.
|
|
16
|
-
movies: filterMoviesData(movies),
|
|
17
|
-
},
|
|
18
|
-
// The page's <title>
|
|
19
|
-
title: getTitle(movies),
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async function getStarWarsMovies(): Promise<MovieDetails[]> {
|
|
25
|
-
const response = await fetch("https://star-wars.brillout.com/api/films.json");
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
-
let movies: MovieDetails[] = ((await response.json()) as any).results;
|
|
28
|
-
movies = movies.map((movie: MovieDetails, i: number) => ({
|
|
29
|
-
...movie,
|
|
30
|
-
id: String(i + 1),
|
|
31
|
-
}));
|
|
32
|
-
return movies;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function filterMoviesData(movies: MovieDetails[]): Movie[] {
|
|
36
|
-
return movies.map((movie: MovieDetails) => {
|
|
37
|
-
const { title, release_date, id } = movie;
|
|
38
|
-
return { title, release_date, id };
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/*
|
|
43
|
-
async function prerender() {
|
|
44
|
-
const movies = await getStarWarsMovies()
|
|
45
|
-
return [
|
|
46
|
-
{
|
|
47
|
-
url: '/star-wars',
|
|
48
|
-
// We already provide `pageContext` here so that Vike
|
|
49
|
-
// will *not* have to call the `onBeforeRender()` hook defined
|
|
50
|
-
// above in this file.
|
|
51
|
-
pageContext: {
|
|
52
|
-
pageProps: {
|
|
53
|
-
movies: filterMoviesData(movies)
|
|
54
|
-
},
|
|
55
|
-
documentProps: { title: getTitle(movies) }
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
...movies.map((movie) => {
|
|
59
|
-
const url = `/star-wars/${movie.id}`
|
|
60
|
-
return {
|
|
61
|
-
url,
|
|
62
|
-
// Note that we can also provide the `pageContext` of other pages.
|
|
63
|
-
// This means that Vike will not call any
|
|
64
|
-
// `onBeforeRender()` hook and the Star Wars API will be called
|
|
65
|
-
// only once (in this `prerender()` hook).
|
|
66
|
-
pageContext: {
|
|
67
|
-
pageProps: {
|
|
68
|
-
movie: filterMovieData(movie)
|
|
69
|
-
},
|
|
70
|
-
documentProps: { title: movie.title }
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
})
|
|
74
|
-
]
|
|
75
|
-
}
|
|
76
|
-
*/
|
|
77
|
-
|
|
78
|
-
function getTitle(movies: Movie[] | MovieDetails[]): string {
|
|
79
|
-
const title = `${movies.length} Star Wars Movies`;
|
|
80
|
-
return title;
|
|
81
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export { getStarWarsMovies };
|
|
2
|
-
export { filterMoviesData };
|
|
3
|
-
export { getTitle };
|
|
4
|
-
|
|
5
|
-
import fetch from "cross-fetch";
|
|
6
|
-
import type { Movie, MovieDetails } from "../types";
|
|
7
|
-
|
|
8
|
-
async function getStarWarsMovies(): Promise<MovieDetails[]> {
|
|
9
|
-
const response = await fetch("https://star-wars.brillout.com/api/films.json");
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
-
let movies: MovieDetails[] = ((await response.json()) as any).results;
|
|
12
|
-
movies = movies.map((movie: MovieDetails, i: number) => ({
|
|
13
|
-
...movie,
|
|
14
|
-
id: String(i + 1),
|
|
15
|
-
}));
|
|
16
|
-
return movies;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function filterMoviesData(movies: MovieDetails[]): Movie[] {
|
|
20
|
-
return movies.map((movie: MovieDetails) => {
|
|
21
|
-
const { title, release_date, id } = movie;
|
|
22
|
-
return { title, release_date, id };
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function getTitle(movies: Movie[] | MovieDetails[]): string {
|
|
27
|
-
const title = `${movies.length} Star Wars Movies`;
|
|
28
|
-
return title;
|
|
29
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export default onBeforeRender;
|
|
2
|
-
import type { PageContextBuiltInServer } from "vike/types";
|
|
3
|
-
import type { MovieDetails } from "../types";
|
|
4
|
-
declare function onBeforeRender(pageContext: PageContextBuiltInServer): Promise<{
|
|
5
|
-
pageContext: {
|
|
6
|
-
pageProps: {
|
|
7
|
-
movie: MovieDetails;
|
|
8
|
-
};
|
|
9
|
-
title: string;
|
|
10
|
-
};
|
|
11
|
-
}>;
|
package/dist/boilerplates/@batijs/solid/types/pages/star-wars/index/+onBeforePrerenderStart.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export default onBeforePrerenderStart;
|
|
2
|
-
declare function onBeforePrerenderStart(): Promise<({
|
|
3
|
-
url: string;
|
|
4
|
-
pageContext: {
|
|
5
|
-
pageProps: {
|
|
6
|
-
movie: import("../types").MovieDetails;
|
|
7
|
-
};
|
|
8
|
-
title: string;
|
|
9
|
-
};
|
|
10
|
-
} | {
|
|
11
|
-
url: string;
|
|
12
|
-
pageContext: {
|
|
13
|
-
pageProps: {
|
|
14
|
-
movies: import("../types").Movie[];
|
|
15
|
-
};
|
|
16
|
-
title: string;
|
|
17
|
-
};
|
|
18
|
-
})[]>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { getStarWarsMovies };
|
|
2
|
-
export { filterMoviesData };
|
|
3
|
-
export { getTitle };
|
|
4
|
-
import type { Movie, MovieDetails } from "../types";
|
|
5
|
-
declare function getStarWarsMovies(): Promise<MovieDetails[]>;
|
|
6
|
-
declare function filterMoviesData(movies: MovieDetails[]): Movie[];
|
|
7
|
-
declare function getTitle(movies: Movie[] | MovieDetails[]): string;
|