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.
Files changed (116) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +0 -0
  3. package/cjs/entry/context.d.ts +0 -1
  4. package/cjs/entry/context.d.ts.map +1 -1
  5. package/cjs/entry/context.js +1 -2
  6. package/cjs/entry/context.js.map +1 -1
  7. package/cjs/entry/create.d.ts +0 -1
  8. package/cjs/entry/create.d.ts.map +1 -1
  9. package/cjs/entry/create.js +6 -6
  10. package/cjs/entry/create.js.map +1 -1
  11. package/cjs/entry/{client-entry.d.ts → react17-client-entry.d.ts} +1 -2
  12. package/cjs/entry/react17-client-entry.d.ts.map +1 -0
  13. package/cjs/entry/{client-entry.js → react17-client-entry.js} +13 -8
  14. package/cjs/entry/react17-client-entry.js.map +1 -0
  15. package/{esm/entry/client-entry.d.ts → cjs/entry/react18-client-entry.d.ts} +1 -2
  16. package/cjs/entry/react18-client-entry.d.ts.map +1 -0
  17. package/cjs/entry/react18-client-entry.js +62 -0
  18. package/cjs/entry/react18-client-entry.js.map +1 -0
  19. package/cjs/entry/server-entry.d.ts +0 -1
  20. package/cjs/entry/server-entry.d.ts.map +1 -1
  21. package/cjs/entry/server-entry.js +44 -16
  22. package/cjs/entry/server-entry.js.map +1 -1
  23. package/cjs/index.d.ts +0 -1
  24. package/cjs/index.d.ts.map +1 -1
  25. package/cjs/index.js +16 -36
  26. package/cjs/index.js.map +1 -1
  27. package/esm/entry/context.d.ts +0 -1
  28. package/esm/entry/context.d.ts.map +1 -1
  29. package/esm/entry/context.js.map +1 -1
  30. package/esm/entry/create.d.ts +0 -1
  31. package/esm/entry/create.d.ts.map +1 -1
  32. package/esm/entry/create.js +4 -4
  33. package/esm/entry/create.js.map +1 -1
  34. package/esm/entry/react17-client-entry.d.ts +3 -0
  35. package/esm/entry/react17-client-entry.d.ts.map +1 -0
  36. package/esm/entry/{client-entry.js → react17-client-entry.js} +13 -8
  37. package/esm/entry/react17-client-entry.js.map +1 -0
  38. package/esm/entry/react18-client-entry.d.ts +3 -0
  39. package/esm/entry/react18-client-entry.d.ts.map +1 -0
  40. package/esm/entry/react18-client-entry.js +59 -0
  41. package/esm/entry/react18-client-entry.js.map +1 -0
  42. package/esm/entry/server-entry.d.ts +0 -1
  43. package/esm/entry/server-entry.d.ts.map +1 -1
  44. package/esm/entry/server-entry.js +45 -17
  45. package/esm/entry/server-entry.js.map +1 -1
  46. package/esm/index.d.ts +0 -1
  47. package/esm/index.d.ts.map +1 -1
  48. package/esm/index.js +16 -21
  49. package/esm/index.js.map +1 -1
  50. package/package.json +27 -55
  51. package/src/entry/context.tsx +22 -19
  52. package/src/entry/create.ts +19 -20
  53. package/src/entry/react17-client-entry.tsx +73 -0
  54. package/src/entry/react18-client-entry.tsx +80 -0
  55. package/src/entry/server-entry.tsx +132 -84
  56. package/src/index.ts +40 -44
  57. package/.turbo/turbo-build.log +0 -7
  58. package/cjs/config/base.d.ts +0 -4
  59. package/cjs/config/base.d.ts.map +0 -1
  60. package/cjs/config/base.js +0 -56
  61. package/cjs/config/base.js.map +0 -1
  62. package/cjs/config/client.d.ts +0 -5
  63. package/cjs/config/client.d.ts.map +0 -1
  64. package/cjs/config/client.js +0 -57
  65. package/cjs/config/client.js.map +0 -1
  66. package/cjs/config/index.d.ts +0 -3
  67. package/cjs/config/index.d.ts.map +0 -1
  68. package/cjs/config/index.js +0 -19
  69. package/cjs/config/index.js.map +0 -1
  70. package/cjs/config/server.d.ts +0 -6
  71. package/cjs/config/server.d.ts.map +0 -1
  72. package/cjs/config/server.js +0 -42
  73. package/cjs/config/server.js.map +0 -1
  74. package/cjs/entry/client-entry.d.ts.map +0 -1
  75. package/cjs/entry/client-entry.js.map +0 -1
  76. package/cjs/tools/vite.d.ts +0 -9
  77. package/cjs/tools/vite.d.ts.map +0 -1
  78. package/cjs/tools/vite.js +0 -151
  79. package/cjs/tools/vite.js.map +0 -1
  80. package/cjs/tools/webpack.d.ts +0 -3
  81. package/cjs/tools/webpack.d.ts.map +0 -1
  82. package/cjs/tools/webpack.js +0 -23
  83. package/cjs/tools/webpack.js.map +0 -1
  84. package/esm/config/base.d.ts +0 -4
  85. package/esm/config/base.d.ts.map +0 -1
  86. package/esm/config/base.js +0 -53
  87. package/esm/config/base.js.map +0 -1
  88. package/esm/config/client.d.ts +0 -5
  89. package/esm/config/client.d.ts.map +0 -1
  90. package/esm/config/client.js +0 -54
  91. package/esm/config/client.js.map +0 -1
  92. package/esm/config/index.d.ts +0 -3
  93. package/esm/config/index.d.ts.map +0 -1
  94. package/esm/config/index.js +0 -3
  95. package/esm/config/index.js.map +0 -1
  96. package/esm/config/server.d.ts +0 -6
  97. package/esm/config/server.d.ts.map +0 -1
  98. package/esm/config/server.js +0 -39
  99. package/esm/config/server.js.map +0 -1
  100. package/esm/entry/client-entry.d.ts.map +0 -1
  101. package/esm/entry/client-entry.js.map +0 -1
  102. package/esm/tools/vite.d.ts +0 -9
  103. package/esm/tools/vite.d.ts.map +0 -1
  104. package/esm/tools/vite.js +0 -143
  105. package/esm/tools/vite.js.map +0 -1
  106. package/esm/tools/webpack.d.ts +0 -3
  107. package/esm/tools/webpack.d.ts.map +0 -1
  108. package/esm/tools/webpack.js +0 -18
  109. package/esm/tools/webpack.js.map +0 -1
  110. package/src/config/base.ts +0 -65
  111. package/src/config/client.ts +0 -65
  112. package/src/config/index.ts +0 -2
  113. package/src/config/server.ts +0 -48
  114. package/src/entry/client-entry.tsx +0 -55
  115. package/src/tools/vite.ts +0 -153
  116. 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/tools/vite.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const webpackStart: () => Promise<void>;
2
- export declare const webpackBuild: () => Promise<void>;
3
- //# sourceMappingURL=webpack.d.ts.map
@@ -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"}
@@ -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
@@ -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"}
@@ -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
- }
@@ -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
- }
@@ -1,2 +0,0 @@
1
- export * from './client'
2
- export * from './server'
@@ -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
- }
@@ -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
- }