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.
Files changed (63) hide show
  1. package/README.md +7 -5
  2. package/dist/index.js +191 -144
  3. package/{input-files/react/pages/about/index.page.tsx → files/js/react/pages/about/index.page.jsx} +0 -0
  4. package/{input-files/react/pages/index/Counter.tsx → files/js/react/pages/index/Counter.jsx} +0 -0
  5. package/{input-files/react/pages/index/index.page.tsx → files/js/react/pages/index/index.page.jsx} +0 -0
  6. package/files/js/react/renderer/Link.jsx +15 -0
  7. package/files/js/react/renderer/PageWrapper.jsx +89 -0
  8. package/files/js/react/renderer/_default.page.client.jsx +19 -0
  9. package/files/js/react/renderer/_default.page.server.jsx +47 -0
  10. package/files/js/react/renderer/_error.page.jsx +21 -0
  11. package/files/js/react/renderer/usePageContext.jsx +18 -0
  12. package/files/js/react+client-router/renderer/_default.page.client.jsx +43 -0
  13. package/files/js/react+client-router/renderer/types.js +1 -0
  14. package/files/js/vike/server/index.js +40 -0
  15. package/{input-files → files/js}/vue/pages/about/index.page.vue +0 -0
  16. package/files/js/vue/pages/index/Counter.vue +10 -0
  17. package/files/js/vue/pages/index/index.page.vue +12 -0
  18. package/files/js/vue/renderer/Link.vue +17 -0
  19. package/files/js/vue/renderer/PageWrapper.vue +55 -0
  20. package/files/js/vue/renderer/_default.page.client.js +12 -0
  21. package/files/js/vue/renderer/_default.page.server.js +41 -0
  22. package/files/js/vue/renderer/_error.page.vue +14 -0
  23. package/files/js/vue/renderer/app.js +29 -0
  24. package/files/js/vue/renderer/usePageContext.js +18 -0
  25. package/files/js/vue+client-router/renderer/_default.page.client.js +23 -0
  26. package/files/js/vue+client-router/renderer/app.js +36 -0
  27. package/files/js/vue+client-router/renderer/types.js +1 -0
  28. package/{input-files → files/shared}/.prettierrc +0 -0
  29. package/{input-files → files/shared}/react/pages/about/index.css +0 -0
  30. package/{input-files → files/shared}/react/renderer/PageWrapper.css +0 -0
  31. package/files/shared/vike/_gitignore +121 -0
  32. package/{input-files/common → files/shared/vike}/renderer/logo.svg +0 -0
  33. package/files/ts/react/pages/about/index.page.tsx +13 -0
  34. package/files/ts/react/pages/index/Counter.tsx +12 -0
  35. package/files/ts/react/pages/index/index.page.tsx +19 -0
  36. package/{input-files → files/ts}/react/renderer/Link.tsx +0 -0
  37. package/{input-files → files/ts}/react/renderer/PageWrapper.tsx +0 -0
  38. package/{input-files → files/ts}/react/renderer/_default.page.client.tsx +0 -0
  39. package/{input-files → files/ts}/react/renderer/_default.page.server.tsx +0 -0
  40. package/{input-files → files/ts}/react/renderer/_error.page.tsx +0 -0
  41. package/{input-files → files/ts}/react/renderer/types.ts +0 -0
  42. package/{input-files → files/ts}/react/renderer/usePageContext.tsx +0 -0
  43. package/files/ts/react+client-router/renderer/_default.page.client.tsx +44 -0
  44. package/files/ts/react+client-router/renderer/types.ts +12 -0
  45. package/{input-files/common → files/ts/vike}/server/index.ts +0 -5
  46. package/files/ts/vue/pages/about/index.page.vue +11 -0
  47. package/{input-files → files/ts}/vue/pages/index/Counter.vue +0 -0
  48. package/{input-files → files/ts}/vue/pages/index/index.page.vue +0 -0
  49. package/{input-files → files/ts}/vue/renderer/Link.vue +0 -0
  50. package/{input-files → files/ts}/vue/renderer/PageWrapper.vue +0 -0
  51. package/{input-files → files/ts}/vue/renderer/_default.page.client.ts +0 -0
  52. package/{input-files → files/ts}/vue/renderer/_default.page.server.ts +0 -0
  53. package/{input-files → files/ts}/vue/renderer/_error.page.vue +0 -0
  54. package/{input-files → files/ts}/vue/renderer/app.ts +0 -12
  55. package/{input-files → files/ts}/vue/renderer/types.ts +0 -0
  56. package/{input-files → files/ts}/vue/renderer/usePageContext.ts +0 -0
  57. package/{input-files → files/ts}/vue/vue.d.ts +0 -0
  58. package/files/ts/vue+client-router/renderer/_default.page.client.ts +24 -0
  59. package/files/ts/vue+client-router/renderer/app.ts +37 -0
  60. package/files/ts/vue+client-router/renderer/types.ts +11 -0
  61. package/package.json +56 -53
  62. package/input-files/common/_gitignore +0 -4
  63. 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
- "name": "create-vike",
3
- "version": "0.0.1",
4
- "description": "Generates Vike application boilerplate",
5
- "main": "dist/index.js",
6
- "bin": "create-vike.js",
7
- "scripts": {
8
- "prepublishOnly": "pnpm build",
9
- "build": "node build.mjs",
10
- "check": "run-p lint typecheck test",
11
- "test": "jest",
12
- "typecheck": "tsc -p tsconfig.json --noEmit",
13
- "lint": "eslint src --max-warnings 0",
14
- "format": "prettier . --write"
15
- },
16
- "files": [
17
- "dist/**/*",
18
- "input-files/**/*"
19
- ],
20
- "dependencies": {
21
- "commander": "^8.2.0",
22
- "detype": "^0.3.2",
23
- "prettier": "^2.4.1",
24
- "walk": "^2.3.15"
25
- },
26
- "devDependencies": {
27
- "@types/jest": "^27.0.2",
28
- "@types/rimraf": "^3.0.2",
29
- "@types/walk": "^2.3.1",
30
- "@typescript-eslint/eslint-plugin": "^4.33.0",
31
- "@typescript-eslint/parser": "^4.33.0",
32
- "esbuild": "^0.13.4",
33
- "esbuild-jest": "^0.5.0",
34
- "esbuild-node-externals": "^1.3.0",
35
- "eslint": "^7.32.0",
36
- "eslint-config-prettier": "^8.3.0",
37
- "eslint-import-resolver-typescript": "^2.5.0",
38
- "eslint-plugin-import": "^2.24.2",
39
- "eslint-plugin-no-only-tests": "^2.6.0",
40
- "eslint-plugin-only-warn": "^1.0.3",
41
- "eslint-plugin-ssr-friendly": "^1.0.5",
42
- "fast-glob": "^3.2.7",
43
- "jest": "^27.2.5",
44
- "npm-run-all": "^4.1.5",
45
- "rimraf": "^3.0.2",
46
- "typescript": "^4.4.3"
47
- },
48
- "repository": {
49
- "type": "git",
50
- "url": "git+https://github.com/cyco130/create-.git"
51
- },
52
- "author": "Fatih Aygün <cyco130@gmail.com>",
53
- "license": "MIT"
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,4 +0,0 @@
1
- node_modules
2
- .DS_Store
3
- dist
4
- *.local
@@ -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
- }