create-jwn-js 1.0.2 → 1.0.3
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/index.js +11 -0
- package/package.json +1 -1
- package/template-vite-vue3-ts/.gitignore +5 -0
- package/template-vite-vue3-ts/connect-template.json +36 -0
- package/template-vite-vue3-ts/cron.js +90 -0
- package/template-vite-vue3-ts/docs/index.md +27 -0
- package/template-vite-vue3-ts/index.html +18 -0
- package/template-vite-vue3-ts/jest.config.ts +38 -0
- package/template-vite-vue3-ts/package.json +57 -0
- package/template-vite-vue3-ts/postcss.config.js +28 -0
- package/template-vite-vue3-ts/src/backend/server/helpers/createConfigServer.ts +16 -0
- package/template-vite-vue3-ts/src/backend/server/helpers/createMariadb.ts +16 -0
- package/template-vite-vue3-ts/src/backend/server/helpers/createMemcached.ts +15 -0
- package/template-vite-vue3-ts/src/backend/server/helpers/readManifest.ts +16 -0
- package/template-vite-vue3-ts/src/backend/server/index.ts +51 -0
- package/template-vite-vue3-ts/src/backend/server/site-schema.ts +21 -0
- package/template-vite-vue3-ts/src/backend/server/web-routes/index.ts +9 -0
- package/template-vite-vue3-ts/src/backend/views/Index/IndexController.ts +16 -0
- package/template-vite-vue3-ts/src/frontend/App.vue +30 -0
- package/template-vite-vue3-ts/src/frontend/entry-client.ts +2 -0
- package/template-vite-vue3-ts/src/frontend/entry-server.ts +4 -0
- package/template-vite-vue3-ts/src/frontend/helpers/customerPrefetch.ts +46 -0
- package/template-vite-vue3-ts/src/frontend/main.ts +68 -0
- package/template-vite-vue3-ts/src/frontend/routes/index.ts +42 -0
- package/template-vite-vue3-ts/src/frontend/shims-plugins.d.ts +18 -0
- package/template-vite-vue3-ts/src/frontend/shims-vue.d.ts +5 -0
- package/template-vite-vue3-ts/src/frontend/shims-vuex.d.ts +10 -0
- package/template-vite-vue3-ts/src/frontend/store/fetch.ts +174 -0
- package/template-vite-vue3-ts/src/frontend/store/index.ts +131 -0
- package/template-vite-vue3-ts/src/frontend/store/types.d.ts +83 -0
- package/template-vite-vue3-ts/src/frontend/views/Error/Error.vue +62 -0
- package/template-vite-vue3-ts/src/frontend/views/Index/Index.vue +27 -0
- package/template-vite-vue3-ts/src/frontend/views/Index/__tests__/Index.spec.ts +31 -0
- package/template-vite-vue3-ts/src/frontend/vite-env.d.ts +1 -0
- package/template-vite-vue3-ts/src/helpers/langLink.ts +17 -0
- package/template-vite-vue3-ts/src/helpers/parseLang.ts +10 -0
- package/template-vite-vue3-ts/src/scripts/jest.global.setup.ts +23 -0
- package/template-vite-vue3-ts/src/scripts/jest.global.teardown.ts +10 -0
- package/template-vite-vue3-ts/src/scripts/jest.setup.ts +16 -0
- package/template-vite-vue3-ts/tsconfig.json +47 -0
- package/template-vite-vue3-ts/vite.config.ts +87 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "esnext",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"noImplicitThis": true,
|
|
8
|
+
"jsx": "preserve",
|
|
9
|
+
"sourceMap": true,
|
|
10
|
+
"resolveJsonModule": true,
|
|
11
|
+
"esModuleInterop": true,
|
|
12
|
+
"allowSyntheticDefaultImports": true,
|
|
13
|
+
"allowJs": true,
|
|
14
|
+
"noImplicitAny": true,
|
|
15
|
+
"strictFunctionTypes": false,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"strictPropertyInitialization": false,
|
|
18
|
+
"experimentalDecorators": true,
|
|
19
|
+
"emitDecoratorMetadata": true,
|
|
20
|
+
"lib": [
|
|
21
|
+
"esnext",
|
|
22
|
+
"dom"
|
|
23
|
+
],
|
|
24
|
+
"types": [
|
|
25
|
+
"vite/client",
|
|
26
|
+
"@types/jest",
|
|
27
|
+
"node",
|
|
28
|
+
"jest-environment-puppeteer"
|
|
29
|
+
],
|
|
30
|
+
"baseUrl": ".",
|
|
31
|
+
"paths": {
|
|
32
|
+
"@/*": [
|
|
33
|
+
"./src/*"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"include": [
|
|
38
|
+
"src/**/*.ts",
|
|
39
|
+
"src/**/*.d.ts",
|
|
40
|
+
"src/**/*.tsx",
|
|
41
|
+
"src/**/*.vue"
|
|
42
|
+
],
|
|
43
|
+
"exclude": [
|
|
44
|
+
"node_modules",
|
|
45
|
+
"dist"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import {defineConfig, ResolvedConfig} from "vite";
|
|
3
|
+
import vue from "@vitejs/plugin-vue";
|
|
4
|
+
import fetch from "cross-fetch";
|
|
5
|
+
import ssr from "vite-ssr-vue/plugin";
|
|
6
|
+
import svgLoader from "vite-svg-loader";
|
|
7
|
+
import config from "./connect.json";
|
|
8
|
+
import {createConfigServer} from "./src/backend/server/helpers/createConfigServer";
|
|
9
|
+
import {createMemcached} from "./src/backend/server/helpers/createMemcached";
|
|
10
|
+
import {createMariadb} from "./src/backend/server/helpers/createMariadb";
|
|
11
|
+
|
|
12
|
+
declare var process: any;
|
|
13
|
+
|
|
14
|
+
const cnf = createConfigServer(config);
|
|
15
|
+
const {memcachedClient, memcached} = createMemcached();
|
|
16
|
+
const {home, homePool} = createMariadb(config);
|
|
17
|
+
process.server = {
|
|
18
|
+
db: {home},
|
|
19
|
+
memcached
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default defineConfig({
|
|
23
|
+
resolve: {
|
|
24
|
+
alias: [
|
|
25
|
+
{
|
|
26
|
+
find: /^~(.+)/,
|
|
27
|
+
replacement: path.resolve("./node_modules") + "/$1"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
find: /@\/(.*)/,
|
|
31
|
+
replacement: path.resolve("./src") + "/$1"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
server: {
|
|
36
|
+
host: cnf.host,
|
|
37
|
+
port: config.server.development.vite.port,
|
|
38
|
+
proxy: {
|
|
39
|
+
"/web": `http://${cnf.host}:${cnf.port}`
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
//@ts-ignore
|
|
44
|
+
ssr: {
|
|
45
|
+
external: [
|
|
46
|
+
"@jwn-js/plugins",
|
|
47
|
+
"css-select"
|
|
48
|
+
],
|
|
49
|
+
noExternal: [
|
|
50
|
+
"vuex-router-sync"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
plugins: [
|
|
54
|
+
ssr({
|
|
55
|
+
ssr: "./src/frontend/entry-server.ts"
|
|
56
|
+
}),
|
|
57
|
+
vue({
|
|
58
|
+
template: {
|
|
59
|
+
ssr: true,
|
|
60
|
+
compilerOptions: {
|
|
61
|
+
directiveTransforms: {
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}),
|
|
66
|
+
svgLoader(),
|
|
67
|
+
{
|
|
68
|
+
name: "close",
|
|
69
|
+
async configResolved(config:ResolvedConfig) {
|
|
70
|
+
if(config.command !== "build") {
|
|
71
|
+
const interval = setInterval(async() => {
|
|
72
|
+
try {
|
|
73
|
+
await fetch(`http://${cnf.host}:${cnf.vitePort}`);
|
|
74
|
+
clearInterval(interval);
|
|
75
|
+
} catch(e) {}
|
|
76
|
+
|
|
77
|
+
}, 50);
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
async closeBundle() {
|
|
81
|
+
memcachedClient && memcachedClient.close();
|
|
82
|
+
homePool && await homePool.end();
|
|
83
|
+
process.server.app && await process.server.app.close();
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
]
|
|
87
|
+
});
|