ssr-plugin-react 6.2.84 → 7.0.1-beta.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/CHANGELOG.md +60 -0
- package/README.md +0 -0
- package/cjs/entry/context.d.ts +0 -1
- package/cjs/entry/context.d.ts.map +1 -1
- package/cjs/entry/context.js +1 -2
- package/cjs/entry/context.js.map +1 -1
- package/cjs/entry/create.d.ts +0 -1
- package/cjs/entry/create.d.ts.map +1 -1
- package/cjs/entry/create.js +6 -6
- package/cjs/entry/create.js.map +1 -1
- package/cjs/entry/{client-entry.d.ts → react17-client-entry.d.ts} +1 -2
- package/cjs/entry/react17-client-entry.d.ts.map +1 -0
- package/cjs/entry/{client-entry.js → react17-client-entry.js} +13 -8
- package/cjs/entry/react17-client-entry.js.map +1 -0
- package/{esm/entry/client-entry.d.ts → cjs/entry/react18-client-entry.d.ts} +1 -2
- package/cjs/entry/react18-client-entry.d.ts.map +1 -0
- package/cjs/entry/react18-client-entry.js +62 -0
- package/cjs/entry/react18-client-entry.js.map +1 -0
- package/cjs/entry/server-entry.d.ts +0 -1
- package/cjs/entry/server-entry.d.ts.map +1 -1
- package/cjs/entry/server-entry.js +44 -16
- package/cjs/entry/server-entry.js.map +1 -1
- package/cjs/index.d.ts +0 -1
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +16 -36
- package/cjs/index.js.map +1 -1
- package/esm/entry/context.d.ts +0 -1
- package/esm/entry/context.d.ts.map +1 -1
- package/esm/entry/context.js.map +1 -1
- package/esm/entry/create.d.ts +0 -1
- package/esm/entry/create.d.ts.map +1 -1
- package/esm/entry/create.js +4 -4
- package/esm/entry/create.js.map +1 -1
- package/esm/entry/react17-client-entry.d.ts +3 -0
- package/esm/entry/react17-client-entry.d.ts.map +1 -0
- package/esm/entry/{client-entry.js → react17-client-entry.js} +13 -8
- package/esm/entry/react17-client-entry.js.map +1 -0
- package/esm/entry/react18-client-entry.d.ts +3 -0
- package/esm/entry/react18-client-entry.d.ts.map +1 -0
- package/esm/entry/react18-client-entry.js +59 -0
- package/esm/entry/react18-client-entry.js.map +1 -0
- package/esm/entry/server-entry.d.ts +0 -1
- package/esm/entry/server-entry.d.ts.map +1 -1
- package/esm/entry/server-entry.js +45 -17
- package/esm/entry/server-entry.js.map +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +16 -21
- package/esm/index.js.map +1 -1
- package/package.json +27 -55
- package/src/entry/context.tsx +22 -19
- package/src/entry/create.ts +19 -20
- package/src/entry/react17-client-entry.tsx +73 -0
- package/src/entry/react18-client-entry.tsx +80 -0
- package/src/entry/server-entry.tsx +132 -84
- package/src/index.ts +40 -44
- package/.turbo/turbo-build.log +0 -7
- package/cjs/config/base.d.ts +0 -4
- package/cjs/config/base.d.ts.map +0 -1
- package/cjs/config/base.js +0 -56
- package/cjs/config/base.js.map +0 -1
- package/cjs/config/client.d.ts +0 -5
- package/cjs/config/client.d.ts.map +0 -1
- package/cjs/config/client.js +0 -57
- package/cjs/config/client.js.map +0 -1
- package/cjs/config/index.d.ts +0 -3
- package/cjs/config/index.d.ts.map +0 -1
- package/cjs/config/index.js +0 -19
- package/cjs/config/index.js.map +0 -1
- package/cjs/config/server.d.ts +0 -6
- package/cjs/config/server.d.ts.map +0 -1
- package/cjs/config/server.js +0 -42
- package/cjs/config/server.js.map +0 -1
- package/cjs/entry/client-entry.d.ts.map +0 -1
- package/cjs/entry/client-entry.js.map +0 -1
- package/cjs/tools/vite.d.ts +0 -9
- package/cjs/tools/vite.d.ts.map +0 -1
- package/cjs/tools/vite.js +0 -151
- package/cjs/tools/vite.js.map +0 -1
- package/cjs/tools/webpack.d.ts +0 -3
- package/cjs/tools/webpack.d.ts.map +0 -1
- package/cjs/tools/webpack.js +0 -23
- package/cjs/tools/webpack.js.map +0 -1
- package/esm/config/base.d.ts +0 -4
- package/esm/config/base.d.ts.map +0 -1
- package/esm/config/base.js +0 -53
- package/esm/config/base.js.map +0 -1
- package/esm/config/client.d.ts +0 -5
- package/esm/config/client.d.ts.map +0 -1
- package/esm/config/client.js +0 -54
- package/esm/config/client.js.map +0 -1
- package/esm/config/index.d.ts +0 -3
- package/esm/config/index.d.ts.map +0 -1
- package/esm/config/index.js +0 -3
- package/esm/config/index.js.map +0 -1
- package/esm/config/server.d.ts +0 -6
- package/esm/config/server.d.ts.map +0 -1
- package/esm/config/server.js +0 -39
- package/esm/config/server.js.map +0 -1
- package/esm/entry/client-entry.d.ts.map +0 -1
- package/esm/entry/client-entry.js.map +0 -1
- package/esm/tools/vite.d.ts +0 -9
- package/esm/tools/vite.d.ts.map +0 -1
- package/esm/tools/vite.js +0 -143
- package/esm/tools/vite.js.map +0 -1
- package/esm/tools/webpack.d.ts +0 -3
- package/esm/tools/webpack.d.ts.map +0 -1
- package/esm/tools/webpack.js +0 -18
- package/esm/tools/webpack.js.map +0 -1
- package/src/config/base.ts +0 -65
- package/src/config/client.ts +0 -65
- package/src/config/index.ts +0 -2
- package/src/config/server.ts +0 -48
- package/src/entry/client-entry.tsx +0 -55
- package/src/tools/vite.ts +0 -153
- package/src/tools/webpack.ts +0 -20
package/esm/tools/vite.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _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;
|
|
2
|
-
import { resolve } from 'path';
|
|
3
|
-
import { build } from 'vite';
|
|
4
|
-
import { loadConfig, chunkNamePlugin, rollupOutputOptions, manifestPlugin, commonConfig, asyncOptimizeChunkPlugin, getOutputPublicPath, getPkgMajorVersion, getCwd } from 'ssr-common-utils';
|
|
5
|
-
import react from '@vitejs/plugin-react';
|
|
6
|
-
import { visualizer } from 'rollup-plugin-visualizer';
|
|
7
|
-
import { createStyleImportPlugin, AndDesignVueResolve, VantResolve, ElementPlusResolve, NutuiResolve, AntdResolve } from 'ssr-vite-plugin-style-import';
|
|
8
|
-
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define, babelOptions, optimize } = loadConfig();
|
|
9
|
-
const { clientOutPut, serverOutPut } = getOutput();
|
|
10
|
-
const isAntd5 = getPkgMajorVersion('antd') === 5;
|
|
11
|
-
const extraInclude = [].concat(isAntd5 ? ['react-is'] : []);
|
|
12
|
-
const styleImportConfig = {
|
|
13
|
-
include: ['**/*.vue', '**/*.ts', '**/*.js', '**/*.tsx', '**/*.jsx', /chunkName/],
|
|
14
|
-
resolves: [
|
|
15
|
-
AndDesignVueResolve(),
|
|
16
|
-
VantResolve(),
|
|
17
|
-
ElementPlusResolve(),
|
|
18
|
-
NutuiResolve(),
|
|
19
|
-
AntdResolve()
|
|
20
|
-
]
|
|
21
|
-
};
|
|
22
|
-
const serverPlugins = [
|
|
23
|
-
react({
|
|
24
|
-
...(_b = (_a = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _a === void 0 ? void 0 : _a.server) === null || _b === void 0 ? void 0 : _b.defaultPluginOptions,
|
|
25
|
-
jsxRuntime: 'automatic',
|
|
26
|
-
babel: {
|
|
27
|
-
...babelOptions,
|
|
28
|
-
plugins: [
|
|
29
|
-
...(_c = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) !== null && _c !== void 0 ? _c : [],
|
|
30
|
-
...!supportOptinalChaining ? [
|
|
31
|
-
'@babel/plugin-proposal-optional-chaining',
|
|
32
|
-
'@babel/plugin-proposal-nullish-coalescing-operator'
|
|
33
|
-
] : []
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
}),
|
|
37
|
-
(_e = (_d = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _d === void 0 ? void 0 : _d.common) === null || _e === void 0 ? void 0 : _e.extraPlugin,
|
|
38
|
-
(_g = (_f = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _f === void 0 ? void 0 : _f.server) === null || _g === void 0 ? void 0 : _g.extraPlugin,
|
|
39
|
-
createStyleImportPlugin(styleImportConfig)
|
|
40
|
-
].filter(Boolean);
|
|
41
|
-
const serverConfig = {
|
|
42
|
-
...commonConfig(),
|
|
43
|
-
...(_h = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _h === void 0 ? void 0 : _h.otherConfig,
|
|
44
|
-
plugins: (_m = (_l = (_k = (_j = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _j === void 0 ? void 0 : _j.server) === null || _k === void 0 ? void 0 : _k.processPlugin) === null || _l === void 0 ? void 0 : _l.call(_k, serverPlugins)) !== null && _m !== void 0 ? _m : serverPlugins,
|
|
45
|
-
esbuild: {
|
|
46
|
-
...(_p = (_o = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _o === void 0 ? void 0 : _o.otherConfig) === null || _p === void 0 ? void 0 : _p.esbuild,
|
|
47
|
-
keepNames: true,
|
|
48
|
-
logOverride: { 'this-is-undefined-in-esm': 'silent' }
|
|
49
|
-
},
|
|
50
|
-
optimizeDeps: {
|
|
51
|
-
...(_r = (_q = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _q === void 0 ? void 0 : _q.otherConfig) === null || _r === void 0 ? void 0 : _r.optimizeDeps,
|
|
52
|
-
include: extraInclude.concat(...(_v = (_u = (_t = (_s = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _s === void 0 ? void 0 : _s.otherConfig) === null || _t === void 0 ? void 0 : _t.optimizeDeps) === null || _u === void 0 ? void 0 : _u.include) !== null && _v !== void 0 ? _v : []),
|
|
53
|
-
esbuildOptions: {
|
|
54
|
-
...(_y = (_x = (_w = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _w === void 0 ? void 0 : _w.otherConfig) === null || _x === void 0 ? void 0 : _x.optimizeDeps) === null || _y === void 0 ? void 0 : _y.esbuildOptions,
|
|
55
|
-
// @ts-expect-error
|
|
56
|
-
bundle: isDev
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
build: {
|
|
60
|
-
minify: !process.env.NOMINIFY,
|
|
61
|
-
...(_0 = (_z = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _z === void 0 ? void 0 : _z.otherConfig) === null || _0 === void 0 ? void 0 : _0.build,
|
|
62
|
-
ssr: reactServerEntry,
|
|
63
|
-
outDir: serverOutPut,
|
|
64
|
-
rollupOptions: {
|
|
65
|
-
...(_3 = (_2 = (_1 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _1 === void 0 ? void 0 : _1.otherConfig) === null || _2 === void 0 ? void 0 : _2.build) === null || _3 === void 0 ? void 0 : _3.rollupOptions,
|
|
66
|
-
input: isDev ? reactClientEntry : reactServerEntry,
|
|
67
|
-
output: {
|
|
68
|
-
entryFileNames: 'Page.server.js',
|
|
69
|
-
assetFileNames: rollupOutputOptions().assetFileNames
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
define: {
|
|
74
|
-
...(_5 = (_4 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _4 === void 0 ? void 0 : _4.otherConfig) === null || _5 === void 0 ? void 0 : _5.define,
|
|
75
|
-
__isBrowser__: false,
|
|
76
|
-
...define === null || define === void 0 ? void 0 : define.base,
|
|
77
|
-
...define === null || define === void 0 ? void 0 : define.server
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const clientPlugins = [
|
|
81
|
-
react({
|
|
82
|
-
...(_7 = (_6 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _6 === void 0 ? void 0 : _6.client) === null || _7 === void 0 ? void 0 : _7.defaultPluginOptions,
|
|
83
|
-
jsxRuntime: 'automatic',
|
|
84
|
-
...babelOptions
|
|
85
|
-
}),
|
|
86
|
-
(_9 = (_8 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _8 === void 0 ? void 0 : _8.common) === null || _9 === void 0 ? void 0 : _9.extraPlugin,
|
|
87
|
-
(_11 = (_10 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _10 === void 0 ? void 0 : _10.client) === null || _11 === void 0 ? void 0 : _11.extraPlugin,
|
|
88
|
-
createStyleImportPlugin(styleImportConfig)
|
|
89
|
-
].filter(Boolean);
|
|
90
|
-
const analyzePlugin = process.env.GENERATE_ANALYSIS ? visualizer({ filename: resolve(getCwd(), './build/stat.html'), open: true }) : null;
|
|
91
|
-
const clientConfig = {
|
|
92
|
-
...commonConfig(),
|
|
93
|
-
...(_12 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _12 === void 0 ? void 0 : _12.otherConfig,
|
|
94
|
-
base: isDev ? '/' : getOutputPublicPath(),
|
|
95
|
-
esbuild: {
|
|
96
|
-
...(_14 = (_13 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _13 === void 0 ? void 0 : _13.otherConfig) === null || _14 === void 0 ? void 0 : _14.esbuild,
|
|
97
|
-
keepNames: true,
|
|
98
|
-
logOverride: { 'this-is-undefined-in-esm': 'silent' }
|
|
99
|
-
},
|
|
100
|
-
optimizeDeps: {
|
|
101
|
-
...(_16 = (_15 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _15 === void 0 ? void 0 : _15.otherConfig) === null || _16 === void 0 ? void 0 : _16.optimizeDeps,
|
|
102
|
-
include: ['react-router', ...extraInclude].concat(...(_20 = (_19 = (_18 = (_17 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _17 === void 0 ? void 0 : _17.otherConfig) === null || _18 === void 0 ? void 0 : _18.optimizeDeps) === null || _19 === void 0 ? void 0 : _19.include) !== null && _20 !== void 0 ? _20 : []),
|
|
103
|
-
exclude: ['ssr-hoc-react'].concat(...(_24 = (_23 = (_22 = (_21 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _21 === void 0 ? void 0 : _21.otherConfig) === null || _22 === void 0 ? void 0 : _22.optimizeDeps) === null || _23 === void 0 ? void 0 : _23.exclude) !== null && _24 !== void 0 ? _24 : [])
|
|
104
|
-
},
|
|
105
|
-
plugins: (_28 = (_27 = (_26 = (_25 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _25 === void 0 ? void 0 : _25.client) === null || _26 === void 0 ? void 0 : _26.processPlugin) === null || _27 === void 0 ? void 0 : _27.call(_26, clientPlugins)) !== null && _28 !== void 0 ? _28 : clientPlugins,
|
|
106
|
-
build: {
|
|
107
|
-
minify: !process.env.NOMINIFY,
|
|
108
|
-
...(_30 = (_29 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _29 === void 0 ? void 0 : _29.otherConfig) === null || _30 === void 0 ? void 0 : _30.build,
|
|
109
|
-
...(optimize ? { write: false } : {}),
|
|
110
|
-
ssrManifest: true,
|
|
111
|
-
outDir: clientOutPut,
|
|
112
|
-
rollupOptions: {
|
|
113
|
-
...(_33 = (_32 = (_31 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _31 === void 0 ? void 0 : _31.otherConfig) === null || _32 === void 0 ? void 0 : _32.build) === null || _33 === void 0 ? void 0 : _33.rollupOptions,
|
|
114
|
-
input: reactClientEntry,
|
|
115
|
-
output: rollupOutputOptions(),
|
|
116
|
-
plugins: [chunkNamePlugin(), asyncOptimizeChunkPlugin(), manifestPlugin(), analyzePlugin]
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
define: {
|
|
120
|
-
...(_35 = (_34 = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().client) === null || _34 === void 0 ? void 0 : _34.otherConfig) === null || _35 === void 0 ? void 0 : _35.define,
|
|
121
|
-
__isBrowser__: true,
|
|
122
|
-
...define === null || define === void 0 ? void 0 : define.base,
|
|
123
|
-
...define === null || define === void 0 ? void 0 : define.client
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
const viteStart = async () => {
|
|
127
|
-
//
|
|
128
|
-
};
|
|
129
|
-
const viteBuild = async () => {
|
|
130
|
-
var _a;
|
|
131
|
-
await build({ ...clientConfig, mode: 'production' });
|
|
132
|
-
await build({ ...serverConfig, mode: (_a = process.env.VITEMODE) !== null && _a !== void 0 ? _a : 'production' });
|
|
133
|
-
};
|
|
134
|
-
const viteBuildClient = async () => {
|
|
135
|
-
var _a;
|
|
136
|
-
await build({ ...clientConfig, mode: (_a = process.env.VITEMODE) !== null && _a !== void 0 ? _a : 'production' }).catch(_ => { });
|
|
137
|
-
};
|
|
138
|
-
const viteBuildServer = async () => {
|
|
139
|
-
var _a;
|
|
140
|
-
await build({ ...serverConfig, mode: (_a = process.env.VITEMODE) !== null && _a !== void 0 ? _a : 'production' });
|
|
141
|
-
};
|
|
142
|
-
export { viteBuild, viteStart, serverConfig, clientConfig, viteBuildClient, viteBuildServer };
|
|
143
|
-
//# sourceMappingURL=vite.js.map
|
package/esm/tools/vite.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/tools/vite.ts"],"names":[],"mappings":"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"}
|
package/esm/tools/webpack.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../src/tools/webpack.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,qBASxB,CAAA;AAED,eAAO,MAAM,YAAY,qBAMxB,CAAA"}
|
package/esm/tools/webpack.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as WebpackChain from 'webpack-chain';
|
|
2
|
-
export const webpackStart = async () => {
|
|
3
|
-
const { startServerBuild } = await import('ssr-webpack/cjs/server');
|
|
4
|
-
const { getServerWebpack } = await import('../config/server');
|
|
5
|
-
const serverConfigChain = new WebpackChain();
|
|
6
|
-
const { startClientServer } = await import('ssr-webpack');
|
|
7
|
-
const { getClientWebpack } = await import('../config');
|
|
8
|
-
const clientConfigChain = new WebpackChain();
|
|
9
|
-
await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientServer(getClientWebpack(clientConfigChain))]);
|
|
10
|
-
};
|
|
11
|
-
export const webpackBuild = async () => {
|
|
12
|
-
const { startServerBuild, startClientBuild } = await import('ssr-webpack');
|
|
13
|
-
const { getClientWebpack, getServerWebpack } = await import('../config');
|
|
14
|
-
const serverConfigChain = new WebpackChain();
|
|
15
|
-
const clientConfigChain = new WebpackChain();
|
|
16
|
-
await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientBuild(getClientWebpack(clientConfigChain))]);
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=webpack.js.map
|
package/esm/tools/webpack.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/tools/webpack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;IACrC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;IACnE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC7D,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAA;IAE5C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;IACtD,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAA;IAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AACpI,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;IACrC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAC1E,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;IACxE,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAA;IAC5C,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAA;IAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AACnI,CAAC,CAAA"}
|
package/src/config/base.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { join } from 'path'
|
|
3
|
-
import { Mode } from 'ssr-types'
|
|
4
|
-
import { getCwd, loadConfig, setStyle, loadModuleFromFramework, getBuildConfig, addCommonChain } from 'ssr-common-utils'
|
|
5
|
-
import * as WebpackChain from 'webpack-chain'
|
|
6
|
-
import * as webpack from 'ssr-webpack4'
|
|
7
|
-
|
|
8
|
-
const MiniCssExtractPlugin = require(loadModuleFromFramework('ssr-mini-css-extract-plugin'))
|
|
9
|
-
const WebpackBar = require('webpackbar')
|
|
10
|
-
|
|
11
|
-
const getBaseConfig = (chain: WebpackChain, isServer: boolean) => {
|
|
12
|
-
const config = loadConfig()
|
|
13
|
-
const { moduleFileExtensions, chainBaseConfig, alias, define } = config
|
|
14
|
-
const mode = process.env.NODE_ENV as Mode
|
|
15
|
-
|
|
16
|
-
chain.mode(mode)
|
|
17
|
-
chain.module.strictExportPresence(true)
|
|
18
|
-
chain
|
|
19
|
-
.resolve
|
|
20
|
-
.modules
|
|
21
|
-
.add('node_modules')
|
|
22
|
-
.add(join(getCwd(), './node_modules'))
|
|
23
|
-
.end()
|
|
24
|
-
.extensions.merge(moduleFileExtensions)
|
|
25
|
-
.end()
|
|
26
|
-
.alias
|
|
27
|
-
.end()
|
|
28
|
-
|
|
29
|
-
alias && Object.keys(alias).forEach(item => {
|
|
30
|
-
chain.resolve.alias
|
|
31
|
-
.set(item, alias[item])
|
|
32
|
-
})
|
|
33
|
-
addCommonChain(chain, isServer)
|
|
34
|
-
setStyle(chain, /\.css$/, {
|
|
35
|
-
rule: 'css',
|
|
36
|
-
isServer,
|
|
37
|
-
importLoaders: 1
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
setStyle(chain, /\.less$/, {
|
|
41
|
-
rule: 'less',
|
|
42
|
-
loader: 'less-loader',
|
|
43
|
-
isServer,
|
|
44
|
-
importLoaders: 2
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
chain.plugin('minify-css').use(MiniCssExtractPlugin, getBuildConfig().cssBuildConfig)
|
|
48
|
-
|
|
49
|
-
chain.plugin('webpackBar').use(new WebpackBar({
|
|
50
|
-
name: isServer ? 'server' : 'client',
|
|
51
|
-
color: isServer ? '#f173ac' : '#45b97c'
|
|
52
|
-
}))
|
|
53
|
-
chain.plugin('ssrDefine').use(webpack.DefinePlugin, [{
|
|
54
|
-
...process.env,
|
|
55
|
-
__isBrowser__: !isServer,
|
|
56
|
-
...(isServer ? define?.server : define?.client),
|
|
57
|
-
...define?.base
|
|
58
|
-
}])
|
|
59
|
-
chainBaseConfig(chain, isServer)
|
|
60
|
-
return config
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export {
|
|
64
|
-
getBaseConfig
|
|
65
|
-
}
|
package/src/config/client.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { loadConfig, getSplitChunksOptions, getOutputPublicPath, loadModuleFromFramework, getBuildConfig, terserConfig, asyncChunkMap } from 'ssr-common-utils'
|
|
2
|
-
import * as WebpackChain from 'webpack-chain'
|
|
3
|
-
import { getBaseConfig } from './base'
|
|
4
|
-
|
|
5
|
-
const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin')
|
|
6
|
-
const safePostCssParser = require('postcss-safe-parser')
|
|
7
|
-
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin')
|
|
8
|
-
const loadModule = loadModuleFromFramework
|
|
9
|
-
|
|
10
|
-
const getClientWebpack = (chain: WebpackChain) => {
|
|
11
|
-
const { isDev, chunkName, getOutput, cwd, chainClientConfig, host, fePort } = loadConfig()
|
|
12
|
-
const buildConfig = getBuildConfig()
|
|
13
|
-
|
|
14
|
-
const shouldUseSourceMap = isDev || Boolean(process.env.GENERATE_SOURCEMAP)
|
|
15
|
-
const publicPath = getOutputPublicPath()
|
|
16
|
-
getBaseConfig(chain, false)
|
|
17
|
-
chain.entry(chunkName)
|
|
18
|
-
.add(require.resolve('../entry/client-entry'))
|
|
19
|
-
.end()
|
|
20
|
-
.output
|
|
21
|
-
.path(getOutput().clientOutPut)
|
|
22
|
-
.filename(buildConfig.jsBuldConfig.fileName)
|
|
23
|
-
.chunkFilename(buildConfig.jsBuldConfig.chunkFileName)
|
|
24
|
-
.publicPath(publicPath)
|
|
25
|
-
.end()
|
|
26
|
-
chain.optimization
|
|
27
|
-
.runtimeChunk(true)
|
|
28
|
-
.splitChunks(getSplitChunksOptions(asyncChunkMap))
|
|
29
|
-
.when(!isDev, optimization => {
|
|
30
|
-
optimization.minimizer('terser')
|
|
31
|
-
.use(loadModule('terser-webpack-plugin'), [terserConfig(false)])
|
|
32
|
-
optimization.minimizer('optimize-css').use(loadModule('optimize-css-assets-webpack-plugin'), [{
|
|
33
|
-
cssProcessorOptions: {
|
|
34
|
-
parser: safePostCssParser,
|
|
35
|
-
map: shouldUseSourceMap ? {
|
|
36
|
-
inline: false,
|
|
37
|
-
annotation: true
|
|
38
|
-
} : false
|
|
39
|
-
}
|
|
40
|
-
}])
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
chain.plugin('moduleNotFound').use(ModuleNotFoundPlugin, [cwd])
|
|
44
|
-
|
|
45
|
-
chain.plugin('manifest').use(loadModule('webpack-manifest-plugin'), [{
|
|
46
|
-
fileName: 'asset-manifest.json'
|
|
47
|
-
}])
|
|
48
|
-
|
|
49
|
-
chain.when(isDev, chain => {
|
|
50
|
-
chain.plugin('fast-refresh').use(new ReactRefreshWebpackPlugin({
|
|
51
|
-
overlay: {
|
|
52
|
-
sockHost: host,
|
|
53
|
-
sockPort: fePort
|
|
54
|
-
}
|
|
55
|
-
}))
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
chainClientConfig(chain) // 合并用户自定义配置
|
|
59
|
-
|
|
60
|
-
return chain.toConfig()
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export {
|
|
64
|
-
getClientWebpack
|
|
65
|
-
}
|
package/src/config/index.ts
DELETED
package/src/config/server.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { loadConfig, loadModuleFromFramework } from 'ssr-common-utils'
|
|
2
|
-
import * as WebpackChain from 'webpack-chain'
|
|
3
|
-
import * as webpack from 'ssr-webpack4'
|
|
4
|
-
|
|
5
|
-
import { getBaseConfig } from './base'
|
|
6
|
-
|
|
7
|
-
const getServerWebpack = (chain: WebpackChain) => {
|
|
8
|
-
const config = loadConfig()
|
|
9
|
-
const { isDev, getOutput, chainServerConfig, chunkName } = config
|
|
10
|
-
const shouldUseSourceMap = isDev || Boolean(process.env.GENERATE_SOURCEMAP)
|
|
11
|
-
getBaseConfig(chain, true)
|
|
12
|
-
chain.target('node')
|
|
13
|
-
chain.entry(chunkName)
|
|
14
|
-
.add(require.resolve('../entry/server-entry'))
|
|
15
|
-
.end()
|
|
16
|
-
.output
|
|
17
|
-
.path(getOutput().serverOutPut)
|
|
18
|
-
.filename('[name].server.js')
|
|
19
|
-
.libraryTarget('commonjs')
|
|
20
|
-
|
|
21
|
-
if (!isDev) {
|
|
22
|
-
chain.optimization.minimizer('terser')
|
|
23
|
-
.use(loadModuleFromFramework('terser-webpack-plugin'), [{
|
|
24
|
-
terserOptions: {
|
|
25
|
-
keep_fnames: true
|
|
26
|
-
},
|
|
27
|
-
extractComments: false,
|
|
28
|
-
parallel: true,
|
|
29
|
-
cache: true,
|
|
30
|
-
sourceMap: shouldUseSourceMap
|
|
31
|
-
}])
|
|
32
|
-
}
|
|
33
|
-
chain.when(isDev, () => {
|
|
34
|
-
chain.watch(true)
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
chain.plugin('serverLimit').use(webpack.optimize.LimitChunkCountPlugin, [{
|
|
38
|
-
maxChunks: 1
|
|
39
|
-
}])
|
|
40
|
-
|
|
41
|
-
chainServerConfig(chain) // 合并用户自定义配置
|
|
42
|
-
|
|
43
|
-
return chain.toConfig()
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export {
|
|
47
|
-
getServerWebpack
|
|
48
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { createElement } from 'react'
|
|
2
|
-
import * as ReactDOM from 'react-dom'
|
|
3
|
-
import 'react-router' // for vite prebundle list
|
|
4
|
-
import { BrowserRouter, Route, Switch } from 'react-router-dom'
|
|
5
|
-
import { preloadComponent, isMicro, setStoreContext, setStore } from 'ssr-common-utils'
|
|
6
|
-
import { wrapComponent } from 'ssr-hoc-react'
|
|
7
|
-
import { LayoutProps } from 'ssr-types'
|
|
8
|
-
import { ssrCreateContext, Routes, createStore } from './create'
|
|
9
|
-
import { AppContext } from './context'
|
|
10
|
-
|
|
11
|
-
const { FeRoutes, layoutFetch, App } = Routes
|
|
12
|
-
|
|
13
|
-
const clientRender = async (): Promise<void> => {
|
|
14
|
-
const IApp = App ?? function(props: LayoutProps) {
|
|
15
|
-
return props.children!
|
|
16
|
-
}
|
|
17
|
-
const context = ssrCreateContext() as any
|
|
18
|
-
setStoreContext(context)
|
|
19
|
-
const store = createStore(window.__VALTIO_DATA__)
|
|
20
|
-
setStore(store ?? {})
|
|
21
|
-
const baseName = isMicro() ? window.clientPrefix : window.prefix
|
|
22
|
-
const routes = await preloadComponent(FeRoutes, baseName)
|
|
23
|
-
ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](
|
|
24
|
-
createElement(BrowserRouter, {
|
|
25
|
-
basename: baseName
|
|
26
|
-
}, createElement(AppContext, {
|
|
27
|
-
context,
|
|
28
|
-
children: createElement(Switch, null,
|
|
29
|
-
createElement(IApp as any, null, createElement(Switch, null,
|
|
30
|
-
routes.map(item => {
|
|
31
|
-
const { fetch, component, path } = item
|
|
32
|
-
component.fetch = fetch
|
|
33
|
-
component.layoutFetch = layoutFetch
|
|
34
|
-
const WrappedComponent = wrapComponent(component)
|
|
35
|
-
return createElement(Route, {
|
|
36
|
-
exact: true,
|
|
37
|
-
key: path,
|
|
38
|
-
path: path,
|
|
39
|
-
render: () => createElement(WrappedComponent, {
|
|
40
|
-
key: location.pathname
|
|
41
|
-
})
|
|
42
|
-
})
|
|
43
|
-
}))))
|
|
44
|
-
}))
|
|
45
|
-
, document.querySelector(window.ssrDevInfo.rootId ?? '#app'))
|
|
46
|
-
if (!window.__USE_VITE__) {
|
|
47
|
-
(module as any)?.hot?.accept?.()
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
clientRender()
|
|
52
|
-
|
|
53
|
-
export {
|
|
54
|
-
clientRender
|
|
55
|
-
}
|
package/src/tools/vite.ts
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'path'
|
|
2
|
-
import { build, UserConfig } from 'vite'
|
|
3
|
-
import {
|
|
4
|
-
loadConfig, chunkNamePlugin, rollupOutputOptions, manifestPlugin, commonConfig,
|
|
5
|
-
asyncOptimizeChunkPlugin, getOutputPublicPath, getPkgMajorVersion, getCwd
|
|
6
|
-
} from 'ssr-common-utils'
|
|
7
|
-
import react from '@vitejs/plugin-react'
|
|
8
|
-
import { visualizer } from 'rollup-plugin-visualizer'
|
|
9
|
-
import { createStyleImportPlugin, AndDesignVueResolve, VantResolve, ElementPlusResolve, NutuiResolve, AntdResolve } from 'ssr-vite-plugin-style-import'
|
|
10
|
-
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define, babelOptions, optimize } = loadConfig()
|
|
11
|
-
const { clientOutPut, serverOutPut } = getOutput()
|
|
12
|
-
const isAntd5 = getPkgMajorVersion('antd') === 5
|
|
13
|
-
const extraInclude = ([] as string[]).concat(isAntd5 ? ['react-is'] : [])
|
|
14
|
-
|
|
15
|
-
const styleImportConfig = {
|
|
16
|
-
include: ['**/*.vue', '**/*.ts', '**/*.js', '**/*.tsx', '**/*.jsx', /chunkName/],
|
|
17
|
-
resolves: [
|
|
18
|
-
AndDesignVueResolve(),
|
|
19
|
-
VantResolve(),
|
|
20
|
-
ElementPlusResolve(),
|
|
21
|
-
NutuiResolve(),
|
|
22
|
-
AntdResolve()
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
const serverPlugins = [
|
|
26
|
-
react({
|
|
27
|
-
...viteConfig?.()?.server?.defaultPluginOptions,
|
|
28
|
-
jsxRuntime: 'automatic',
|
|
29
|
-
babel: {
|
|
30
|
-
...babelOptions,
|
|
31
|
-
plugins: [
|
|
32
|
-
...babelOptions?.plugins ?? [],
|
|
33
|
-
...!supportOptinalChaining ? [
|
|
34
|
-
'@babel/plugin-proposal-optional-chaining',
|
|
35
|
-
'@babel/plugin-proposal-nullish-coalescing-operator'
|
|
36
|
-
] : []
|
|
37
|
-
]
|
|
38
|
-
}
|
|
39
|
-
}),
|
|
40
|
-
viteConfig?.()?.common?.extraPlugin,
|
|
41
|
-
viteConfig?.()?.server?.extraPlugin,
|
|
42
|
-
createStyleImportPlugin(styleImportConfig)
|
|
43
|
-
].filter(Boolean)
|
|
44
|
-
|
|
45
|
-
const serverConfig: UserConfig = {
|
|
46
|
-
...commonConfig(),
|
|
47
|
-
...viteConfig?.().server?.otherConfig,
|
|
48
|
-
plugins: viteConfig?.()?.server?.processPlugin?.(serverPlugins) ?? serverPlugins,
|
|
49
|
-
esbuild: {
|
|
50
|
-
...viteConfig?.().server?.otherConfig?.esbuild,
|
|
51
|
-
keepNames: true,
|
|
52
|
-
logOverride: { 'this-is-undefined-in-esm': 'silent' }
|
|
53
|
-
},
|
|
54
|
-
optimizeDeps: {
|
|
55
|
-
...viteConfig?.().server?.otherConfig?.optimizeDeps,
|
|
56
|
-
include: extraInclude.concat(...viteConfig?.().server?.otherConfig?.optimizeDeps?.include ?? []),
|
|
57
|
-
esbuildOptions: {
|
|
58
|
-
...viteConfig?.().server?.otherConfig?.optimizeDeps?.esbuildOptions,
|
|
59
|
-
// @ts-expect-error
|
|
60
|
-
bundle: isDev
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
build: {
|
|
64
|
-
minify: !process.env.NOMINIFY,
|
|
65
|
-
...viteConfig?.().server?.otherConfig?.build,
|
|
66
|
-
ssr: reactServerEntry,
|
|
67
|
-
outDir: serverOutPut,
|
|
68
|
-
rollupOptions: {
|
|
69
|
-
...viteConfig?.().server?.otherConfig?.build?.rollupOptions,
|
|
70
|
-
input: isDev ? reactClientEntry : reactServerEntry, // setting prebundle list by client-entry in dev
|
|
71
|
-
output: {
|
|
72
|
-
entryFileNames: 'Page.server.js',
|
|
73
|
-
assetFileNames: rollupOutputOptions().assetFileNames
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
define: {
|
|
78
|
-
...viteConfig?.().server?.otherConfig?.define,
|
|
79
|
-
__isBrowser__: false,
|
|
80
|
-
...define?.base,
|
|
81
|
-
...define?.server
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
const clientPlugins = [
|
|
85
|
-
react({
|
|
86
|
-
...viteConfig?.()?.client?.defaultPluginOptions,
|
|
87
|
-
jsxRuntime: 'automatic',
|
|
88
|
-
...babelOptions
|
|
89
|
-
}),
|
|
90
|
-
viteConfig?.()?.common?.extraPlugin,
|
|
91
|
-
viteConfig?.()?.client?.extraPlugin,
|
|
92
|
-
createStyleImportPlugin(styleImportConfig)
|
|
93
|
-
].filter(Boolean)
|
|
94
|
-
const analyzePlugin = process.env.GENERATE_ANALYSIS ? visualizer({ filename: resolve(getCwd(), './build/stat.html'), open: true }) : null
|
|
95
|
-
|
|
96
|
-
const clientConfig: UserConfig = {
|
|
97
|
-
...commonConfig(),
|
|
98
|
-
...viteConfig?.().client?.otherConfig,
|
|
99
|
-
base: isDev ? '/' : getOutputPublicPath(),
|
|
100
|
-
esbuild: {
|
|
101
|
-
...viteConfig?.().client?.otherConfig?.esbuild,
|
|
102
|
-
keepNames: true,
|
|
103
|
-
logOverride: { 'this-is-undefined-in-esm': 'silent' }
|
|
104
|
-
},
|
|
105
|
-
optimizeDeps: {
|
|
106
|
-
...viteConfig?.().client?.otherConfig?.optimizeDeps,
|
|
107
|
-
include: ['react-router', ...extraInclude].concat(...viteConfig?.().client?.otherConfig?.optimizeDeps?.include ?? []),
|
|
108
|
-
exclude: ['ssr-hoc-react'].concat(...viteConfig?.().client?.otherConfig?.optimizeDeps?.exclude ?? [])
|
|
109
|
-
},
|
|
110
|
-
plugins: viteConfig?.()?.client?.processPlugin?.(clientPlugins) ?? clientPlugins,
|
|
111
|
-
build: {
|
|
112
|
-
minify: !process.env.NOMINIFY,
|
|
113
|
-
...viteConfig?.().client?.otherConfig?.build,
|
|
114
|
-
...(optimize ? { write: false } : {}),
|
|
115
|
-
ssrManifest: true,
|
|
116
|
-
outDir: clientOutPut,
|
|
117
|
-
rollupOptions: {
|
|
118
|
-
...viteConfig?.().client?.otherConfig?.build?.rollupOptions,
|
|
119
|
-
input: reactClientEntry,
|
|
120
|
-
output: rollupOutputOptions(),
|
|
121
|
-
plugins: [chunkNamePlugin(), asyncOptimizeChunkPlugin(), manifestPlugin(), analyzePlugin]
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
define: {
|
|
125
|
-
...viteConfig?.().client?.otherConfig?.define,
|
|
126
|
-
__isBrowser__: true,
|
|
127
|
-
...define?.base,
|
|
128
|
-
...define?.client
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
const viteStart = async () => {
|
|
132
|
-
//
|
|
133
|
-
}
|
|
134
|
-
const viteBuild = async () => {
|
|
135
|
-
await build({ ...clientConfig, mode: 'production' })
|
|
136
|
-
await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' })
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
const viteBuildClient = async () => {
|
|
140
|
-
await build({ ...clientConfig, mode: process.env.VITEMODE ?? 'production' }).catch(_ => { })
|
|
141
|
-
}
|
|
142
|
-
const viteBuildServer = async () => {
|
|
143
|
-
await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' })
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
export {
|
|
147
|
-
viteBuild,
|
|
148
|
-
viteStart,
|
|
149
|
-
serverConfig,
|
|
150
|
-
clientConfig,
|
|
151
|
-
viteBuildClient,
|
|
152
|
-
viteBuildServer
|
|
153
|
-
}
|
package/src/tools/webpack.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import * as WebpackChain from 'webpack-chain'
|
|
2
|
-
|
|
3
|
-
export const webpackStart = async () => {
|
|
4
|
-
const { startServerBuild } = await import('ssr-webpack/cjs/server')
|
|
5
|
-
const { getServerWebpack } = await import('../config/server')
|
|
6
|
-
const serverConfigChain = new WebpackChain()
|
|
7
|
-
|
|
8
|
-
const { startClientServer } = await import('ssr-webpack')
|
|
9
|
-
const { getClientWebpack } = await import('../config')
|
|
10
|
-
const clientConfigChain = new WebpackChain()
|
|
11
|
-
await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientServer(getClientWebpack(clientConfigChain))])
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const webpackBuild = async () => {
|
|
15
|
-
const { startServerBuild, startClientBuild } = await import('ssr-webpack')
|
|
16
|
-
const { getClientWebpack, getServerWebpack } = await import('../config')
|
|
17
|
-
const serverConfigChain = new WebpackChain()
|
|
18
|
-
const clientConfigChain = new WebpackChain()
|
|
19
|
-
await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientBuild(getClientWebpack(clientConfigChain))])
|
|
20
|
-
}
|