create-vike 0.0.1 → 0.0.4
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/README.md +7 -5
- package/dist/index.js +191 -144
- package/{input-files/react/pages/about/index.page.tsx → files/js/react/pages/about/index.page.jsx} +0 -0
- package/{input-files/react/pages/index/Counter.tsx → files/js/react/pages/index/Counter.jsx} +0 -0
- package/{input-files/react/pages/index/index.page.tsx → files/js/react/pages/index/index.page.jsx} +0 -0
- package/files/js/react/renderer/Link.jsx +15 -0
- package/files/js/react/renderer/PageWrapper.jsx +89 -0
- package/files/js/react/renderer/_default.page.client.jsx +19 -0
- package/files/js/react/renderer/_default.page.server.jsx +47 -0
- package/files/js/react/renderer/_error.page.jsx +21 -0
- package/files/js/react/renderer/usePageContext.jsx +18 -0
- package/files/js/react+client-router/renderer/_default.page.client.jsx +43 -0
- package/files/js/react+client-router/renderer/types.js +1 -0
- package/files/js/vike/server/index.js +40 -0
- package/{input-files → files/js}/vue/pages/about/index.page.vue +0 -0
- package/files/js/vue/pages/index/Counter.vue +10 -0
- package/files/js/vue/pages/index/index.page.vue +12 -0
- package/files/js/vue/renderer/Link.vue +17 -0
- package/files/js/vue/renderer/PageWrapper.vue +55 -0
- package/files/js/vue/renderer/_default.page.client.js +12 -0
- package/files/js/vue/renderer/_default.page.server.js +41 -0
- package/files/js/vue/renderer/_error.page.vue +14 -0
- package/files/js/vue/renderer/app.js +29 -0
- package/files/js/vue/renderer/usePageContext.js +18 -0
- package/files/js/vue+client-router/renderer/_default.page.client.js +23 -0
- package/files/js/vue+client-router/renderer/app.js +36 -0
- package/files/js/vue+client-router/renderer/types.js +1 -0
- package/{input-files → files/shared}/.prettierrc +0 -0
- package/{input-files → files/shared}/react/pages/about/index.css +0 -0
- package/{input-files → files/shared}/react/renderer/PageWrapper.css +0 -0
- package/files/shared/vike/_gitignore +121 -0
- package/{input-files/common → files/shared/vike}/renderer/logo.svg +0 -0
- package/files/ts/react/pages/about/index.page.tsx +13 -0
- package/files/ts/react/pages/index/Counter.tsx +12 -0
- package/files/ts/react/pages/index/index.page.tsx +19 -0
- package/{input-files → files/ts}/react/renderer/Link.tsx +0 -0
- package/{input-files → files/ts}/react/renderer/PageWrapper.tsx +0 -0
- package/{input-files → files/ts}/react/renderer/_default.page.client.tsx +0 -0
- package/{input-files → files/ts}/react/renderer/_default.page.server.tsx +0 -0
- package/{input-files → files/ts}/react/renderer/_error.page.tsx +0 -0
- package/{input-files → files/ts}/react/renderer/types.ts +0 -0
- package/{input-files → files/ts}/react/renderer/usePageContext.tsx +0 -0
- package/files/ts/react+client-router/renderer/_default.page.client.tsx +44 -0
- package/files/ts/react+client-router/renderer/types.ts +12 -0
- package/{input-files/common → files/ts/vike}/server/index.ts +0 -5
- package/files/ts/vue/pages/about/index.page.vue +11 -0
- package/{input-files → files/ts}/vue/pages/index/Counter.vue +0 -0
- package/{input-files → files/ts}/vue/pages/index/index.page.vue +0 -0
- package/{input-files → files/ts}/vue/renderer/Link.vue +0 -0
- package/{input-files → files/ts}/vue/renderer/PageWrapper.vue +0 -0
- package/{input-files → files/ts}/vue/renderer/_default.page.client.ts +0 -0
- package/{input-files → files/ts}/vue/renderer/_default.page.server.ts +0 -0
- package/{input-files → files/ts}/vue/renderer/_error.page.vue +0 -0
- package/{input-files → files/ts}/vue/renderer/app.ts +0 -12
- package/{input-files → files/ts}/vue/renderer/types.ts +0 -0
- package/{input-files → files/ts}/vue/renderer/usePageContext.ts +0 -0
- package/{input-files → files/ts}/vue/vue.d.ts +0 -0
- package/files/ts/vue+client-router/renderer/_default.page.client.ts +24 -0
- package/files/ts/vue+client-router/renderer/app.ts +37 -0
- package/files/ts/vue+client-router/renderer/types.ts +11 -0
- package/package.json +56 -53
- package/input-files/common/_gitignore +0 -4
- package/input-files/vue/tsconfig.json +0 -18
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useClientRouter } from "vite-plugin-ssr/client/router";
|
|
2
|
+
import { createApp } from "./app";
|
|
3
|
+
import { PageContext } from "./types";
|
|
4
|
+
|
|
5
|
+
useClientRouter({
|
|
6
|
+
async render(pageContext: PageContext) {
|
|
7
|
+
const app = createApp(pageContext);
|
|
8
|
+
app.mount("#app");
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
ensureHydration: true,
|
|
12
|
+
|
|
13
|
+
prefetchLinks: true,
|
|
14
|
+
|
|
15
|
+
onTransitionStart() {
|
|
16
|
+
// Page transition started
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
onTransitionEnd() {
|
|
20
|
+
// Page transition ended
|
|
21
|
+
},
|
|
22
|
+
}).hydrationPromise.then(() => {
|
|
23
|
+
// Hydration finished; page is now interactive
|
|
24
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createApp as createVueApp,
|
|
3
|
+
createSSRApp,
|
|
4
|
+
defineComponent,
|
|
5
|
+
h,
|
|
6
|
+
} from "vue";
|
|
7
|
+
import PageWrapper from "./PageWrapper.vue";
|
|
8
|
+
import { setPageContext } from "./usePageContext";
|
|
9
|
+
import type { PageContext } from "./types";
|
|
10
|
+
|
|
11
|
+
export { createApp };
|
|
12
|
+
|
|
13
|
+
function createApp(pageContext: PageContext) {
|
|
14
|
+
const { Page, pageProps } = pageContext;
|
|
15
|
+
const PageWithLayout = defineComponent({
|
|
16
|
+
render() {
|
|
17
|
+
return h(
|
|
18
|
+
PageWrapper,
|
|
19
|
+
{},
|
|
20
|
+
{
|
|
21
|
+
default() {
|
|
22
|
+
return h(Page, pageProps || {});
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const app = pageContext.isHydration
|
|
30
|
+
? createSSRApp(PageWithLayout)
|
|
31
|
+
: createVueApp(PageWithLayout);
|
|
32
|
+
|
|
33
|
+
// Make `pageContext` available from any Vue component
|
|
34
|
+
setPageContext(app, pageContext);
|
|
35
|
+
|
|
36
|
+
return app;
|
|
37
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type PageProps = {};
|
|
2
|
+
// The `pageContext` that are available in both on the server-side and browser-side
|
|
3
|
+
export type PageContext = {
|
|
4
|
+
Page: any;
|
|
5
|
+
pageProps?: PageProps;
|
|
6
|
+
isHydration?: boolean;
|
|
7
|
+
documentProps?: {
|
|
8
|
+
title?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
package/package.json
CHANGED
|
@@ -1,54 +1,57 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
2
|
+
"name": "create-vike",
|
|
3
|
+
"version": "0.0.4",
|
|
4
|
+
"description": "Generates Vike application boilerplate",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": "create-vike.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/**/*",
|
|
9
|
+
"files/**/*"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"commander": "^9.3.0",
|
|
13
|
+
"prettier": "^2.6.2",
|
|
14
|
+
"walk": "^2.3.15"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/jest": "^27.5.1",
|
|
18
|
+
"@types/node": "^17.0.36",
|
|
19
|
+
"@types/rimraf": "^3.0.2",
|
|
20
|
+
"@types/walk": "^2.3.1",
|
|
21
|
+
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
|
22
|
+
"@typescript-eslint/parser": "^5.27.0",
|
|
23
|
+
"chalk": "^5.0.1",
|
|
24
|
+
"detype": "^0.5.0",
|
|
25
|
+
"esbuild": "^0.14.42",
|
|
26
|
+
"esbuild-jest": "^0.5.0",
|
|
27
|
+
"esbuild-node-externals": "^1.4.1",
|
|
28
|
+
"eslint": "^8.16.0",
|
|
29
|
+
"eslint-config-prettier": "^8.5.0",
|
|
30
|
+
"eslint-import-resolver-typescript": "^2.7.1",
|
|
31
|
+
"eslint-plugin-import": "^2.26.0",
|
|
32
|
+
"eslint-plugin-no-only-tests": "^2.6.0",
|
|
33
|
+
"eslint-plugin-only-warn": "^1.0.3",
|
|
34
|
+
"eslint-plugin-ssr-friendly": "^1.0.6",
|
|
35
|
+
"fast-glob": "^3.2.11",
|
|
36
|
+
"jest": "^28.1.0",
|
|
37
|
+
"npm-run-all": "^4.1.5",
|
|
38
|
+
"rimraf": "^3.0.2",
|
|
39
|
+
"semver": "^7.3.7",
|
|
40
|
+
"typescript": "^4.7.2"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/cyco130/create-.git"
|
|
45
|
+
},
|
|
46
|
+
"author": "Fatih Aygün <cyco130@gmail.com>",
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"scripts": {
|
|
49
|
+
"build": "node build.mjs",
|
|
50
|
+
"generate-files": "./generate-files",
|
|
51
|
+
"test": "run-p 'test:*'",
|
|
52
|
+
"test:unit": "jest --passWithNoTests",
|
|
53
|
+
"test:typecheck": "tsc -p tsconfig.json --noEmit",
|
|
54
|
+
"test:lint": "eslint src --max-warnings 0",
|
|
55
|
+
"format": "prettier . --write"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"strict": true,
|
|
4
|
-
"module": "ES2020",
|
|
5
|
-
"moduleResolution": "Node",
|
|
6
|
-
"target": "ES2017",
|
|
7
|
-
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
|
8
|
-
"types": ["vite/client"],
|
|
9
|
-
"skipLibCheck": true,
|
|
10
|
-
"esModuleInterop": true
|
|
11
|
-
},
|
|
12
|
-
"ts-node": {
|
|
13
|
-
"transpileOnly": true,
|
|
14
|
-
"compilerOptions": {
|
|
15
|
-
"module": "CommonJS"
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|