ssr-plugin-react 6.2.62 → 6.2.64
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/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +29 -0
- package/cjs/config/base.d.ts.map +1 -1
- package/cjs/config/base.js +2 -89
- package/cjs/config/base.js.map +1 -1
- package/cjs/config/client.d.ts.map +1 -1
- package/cjs/config/client.js +1 -26
- package/cjs/config/client.js.map +1 -1
- package/cjs/entry/server-entry.d.ts.map +1 -1
- package/cjs/entry/server-entry.js +9 -4
- package/cjs/entry/server-entry.js.map +1 -1
- package/esm/config/base.d.ts.map +1 -1
- package/esm/config/base.js +3 -90
- package/esm/config/base.js.map +1 -1
- package/esm/config/client.d.ts.map +1 -1
- package/esm/config/client.js +2 -27
- package/esm/config/client.js.map +1 -1
- package/esm/entry/server-entry.d.ts.map +1 -1
- package/esm/entry/server-entry.js +10 -5
- package/esm/entry/server-entry.js.map +1 -1
- package/package.json +3 -1
- package/src/config/base.ts +3 -94
- package/src/config/client.ts +2 -27
- package/src/entry/server-entry.tsx +10 -5
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
ssr-plugin-react:build: cache hit, replaying output
|
|
1
|
+
ssr-plugin-react:build: cache hit, replaying output ec1169cbf39deb6c
|
|
2
2
|
ssr-plugin-react:build:
|
|
3
|
-
ssr-plugin-react:build: > ssr-plugin-react@6.2.
|
|
3
|
+
ssr-plugin-react:build: > ssr-plugin-react@6.2.64 build /home/runner/work/ssr/ssr/packages/plugin-react
|
|
4
4
|
ssr-plugin-react:build: > concurrently "tsc -p ./tsconfig.cjs.json " " tsc -p ./tsconfig.esm.json"
|
|
5
5
|
ssr-plugin-react:build:
|
|
6
6
|
ssr-plugin-react:build: [1] tsc -p ./tsconfig.esm.json exited with code 0
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
## [6.2.64](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.63...plugin-react@6.2.64) (2023-07-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* filter babel plugins null string ([837d7b6](https://github.com/zhangyuang/ssr/commit/837d7b6eb7bbcd290cc234591975bc2f82695ed8))
|
|
7
|
+
* react plugin add plugin-proposal close [#297](https://github.com/zhangyuang/ssr/issues/297) ([fdd8253](https://github.com/zhangyuang/ssr/commit/fdd82537f33f8284881ba80cacfa12ce756a109b))
|
|
8
|
+
* ssr build --optimize clear null string add layout~app ([84f5671](https://github.com/zhangyuang/ssr/commit/84f5671f2c87c251cc9e33ce1b8c7423d33e7845))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## [6.2.63](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.62...plugin-react@6.2.63) (2023-06-07)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* build --html add rootId ([#291](https://github.com/zhangyuang/ssr/issues/291)) ([53e6a36](https://github.com/zhangyuang/ssr/commit/53e6a3690ddf47659b9c0a85f8a98519a37a19d5))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* add addCommonChain for babel in vue3/react ([568a3ed](https://github.com/zhangyuang/ssr/commit/568a3edde7b432d8e78881eb77491bf484c82e20))
|
|
23
|
+
* add pinia in midway-vue3 dependencies ([9b8ca90](https://github.com/zhangyuang/ssr/commit/9b8ca907e51f5e3f5f29b0ebd7025587a622012f))
|
|
24
|
+
* extra terserconfig to common ([11105bb](https://github.com/zhangyuang/ssr/commit/11105bbe3f71be00da794a1c11e73b138e64d090))
|
|
25
|
+
* use splitPageInfo generate page state ([8f51258](https://github.com/zhangyuang/ssr/commit/8f51258af97f99168e16b65b1f886a2bb50bd183))
|
|
26
|
+
* use splitPageInfo generate page state in build html file ([0bb5107](https://github.com/zhangyuang/ssr/commit/0bb510704fd95372bdeae6fab4970f70b1bf28a0))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
1
30
|
## [6.2.62](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.61...plugin-react@6.2.62) (2023-05-19)
|
|
2
31
|
|
|
3
32
|
|
package/cjs/config/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAM7C,QAAA,MAAM,aAAa,UAAW,YAAY,YAAY,OAAO,gCAkD5D,CAAA;AAED,OAAO,EACL,aAAa,EACd,CAAA"}
|
package/cjs/config/base.js
CHANGED
|
@@ -1,73 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c, _d;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.getBaseConfig = void 0;
|
|
5
4
|
const path_1 = require("path");
|
|
6
5
|
const ssr_common_utils_1 = require("ssr-common-utils");
|
|
7
6
|
const webpack = require("webpack");
|
|
8
|
-
const semver_1 = require("semver");
|
|
9
7
|
const MiniCssExtractPlugin = require((0, ssr_common_utils_1.loadModuleFromFramework)('ssr-mini-css-extract-plugin'));
|
|
10
8
|
const WebpackBar = require('webpackbar');
|
|
11
|
-
const loadModule = ssr_common_utils_1.loadModuleFromFramework;
|
|
12
|
-
const antdVersion = (_b = (_a = (0, ssr_common_utils_1.getPkgJson)().dependencies) === null || _a === void 0 ? void 0 : _a['antd']) !== null && _b !== void 0 ? _b : (_c = (0, ssr_common_utils_1.getPkgJson)().devDependencies) === null || _c === void 0 ? void 0 : _c['antd'];
|
|
13
|
-
const isAntd4 = ((_d = (0, semver_1.coerce)(antdVersion)) === null || _d === void 0 ? void 0 : _d.major) === 4;
|
|
14
|
-
const addBabelLoader = (chain, envOptions, isServer) => {
|
|
15
|
-
var _a, _b;
|
|
16
|
-
const { babelOptions, isDev } = (0, ssr_common_utils_1.loadConfig)();
|
|
17
|
-
const plugins = [
|
|
18
|
-
[loadModule('@babel/plugin-transform-runtime'), {
|
|
19
|
-
regenerator: false,
|
|
20
|
-
corejs: false,
|
|
21
|
-
helpers: true
|
|
22
|
-
}],
|
|
23
|
-
[loadModule('@babel/plugin-proposal-private-methods'), { loose: true }],
|
|
24
|
-
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }],
|
|
25
|
-
...(_a = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) !== null && _a !== void 0 ? _a : []
|
|
26
|
-
];
|
|
27
|
-
if (isAntd4) {
|
|
28
|
-
plugins.push([
|
|
29
|
-
loadModule('babel-plugin-import'),
|
|
30
|
-
{
|
|
31
|
-
libraryName: 'antd',
|
|
32
|
-
libraryDirectory: 'lib',
|
|
33
|
-
style: true
|
|
34
|
-
}, 'antd'
|
|
35
|
-
]);
|
|
36
|
-
}
|
|
37
|
-
if (!isServer && isDev) {
|
|
38
|
-
plugins.push(loadModule('react-refresh/babel'));
|
|
39
|
-
}
|
|
40
|
-
chain.use('babel-loader')
|
|
41
|
-
.loader(loadModule('babel-loader'))
|
|
42
|
-
.options({
|
|
43
|
-
cacheDirectory: true,
|
|
44
|
-
cacheCompression: false,
|
|
45
|
-
sourceType: 'unambiguous',
|
|
46
|
-
presets: [
|
|
47
|
-
[
|
|
48
|
-
loadModule('@babel/preset-env'),
|
|
49
|
-
envOptions
|
|
50
|
-
],
|
|
51
|
-
[loadModule('babel-preset-react-app'), {
|
|
52
|
-
flow: false,
|
|
53
|
-
typescript: true,
|
|
54
|
-
runtime: 'automatic'
|
|
55
|
-
}],
|
|
56
|
-
...(_b = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.presets) !== null && _b !== void 0 ? _b : []
|
|
57
|
-
],
|
|
58
|
-
plugins: plugins
|
|
59
|
-
})
|
|
60
|
-
.end();
|
|
61
|
-
};
|
|
62
9
|
const getBaseConfig = (chain, isServer) => {
|
|
63
|
-
var _a, _b;
|
|
64
10
|
const config = (0, ssr_common_utils_1.loadConfig)();
|
|
65
|
-
const { moduleFileExtensions, chainBaseConfig,
|
|
11
|
+
const { moduleFileExtensions, chainBaseConfig, alias, define } = config;
|
|
66
12
|
const mode = process.env.NODE_ENV;
|
|
67
|
-
const envOptions = {
|
|
68
|
-
modules: false,
|
|
69
|
-
...corejsOptions
|
|
70
|
-
};
|
|
71
13
|
chain.mode(mode);
|
|
72
14
|
chain.module.strictExportPresence(true);
|
|
73
15
|
chain
|
|
@@ -84,26 +26,7 @@ const getBaseConfig = (chain, isServer) => {
|
|
|
84
26
|
chain.resolve.alias
|
|
85
27
|
.set(item, alias[item]);
|
|
86
28
|
});
|
|
87
|
-
(0, ssr_common_utils_1.
|
|
88
|
-
const babelModule = chain.module
|
|
89
|
-
.rule('compileBabel')
|
|
90
|
-
.test(/\.(js|mjs|jsx|ts|tsx)$/)
|
|
91
|
-
.exclude
|
|
92
|
-
.add(/node_modules|core-js/)
|
|
93
|
-
.add((_a = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.exclude) !== null && _a !== void 0 ? _a : [])
|
|
94
|
-
.end();
|
|
95
|
-
chain.module
|
|
96
|
-
.rule('mjs')
|
|
97
|
-
.test(/\.mjs/)
|
|
98
|
-
.type('javascript/auto')
|
|
99
|
-
.end();
|
|
100
|
-
const module = chain.module
|
|
101
|
-
.rule('compileBabelForExtraModule')
|
|
102
|
-
.test(/\.(js|mjs|jsx|ts|tsx)$/)
|
|
103
|
-
.include;
|
|
104
|
-
const babelForExtraModule = module.add(babelExtraModule !== null && babelExtraModule !== void 0 ? babelExtraModule : []).add((_b = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.include) !== null && _b !== void 0 ? _b : []).end().exclude.add(/core-js/).end();
|
|
105
|
-
addBabelLoader(babelModule, envOptions, isServer);
|
|
106
|
-
addBabelLoader(babelForExtraModule, envOptions, isServer);
|
|
29
|
+
(0, ssr_common_utils_1.addCommonChain)(chain, isServer);
|
|
107
30
|
(0, ssr_common_utils_1.setStyle)(chain, /\.css$/, {
|
|
108
31
|
rule: 'css',
|
|
109
32
|
isServer,
|
|
@@ -115,16 +38,6 @@ const getBaseConfig = (chain, isServer) => {
|
|
|
115
38
|
isServer,
|
|
116
39
|
importLoaders: 2
|
|
117
40
|
});
|
|
118
|
-
chain.module
|
|
119
|
-
.rule('fonts')
|
|
120
|
-
.test(/\.(eot|woff|woff2|ttf)(\?.*)?$/)
|
|
121
|
-
.use('file-loader')
|
|
122
|
-
.loader(loadModule('file-loader'))
|
|
123
|
-
.options({
|
|
124
|
-
name: `${assetsDir}/[name].[hash:8].[ext]`,
|
|
125
|
-
esModule: false,
|
|
126
|
-
emitFile: !isServer
|
|
127
|
-
});
|
|
128
41
|
chain.plugin('minify-css').use(MiniCssExtractPlugin, (0, ssr_common_utils_1.getBuildConfig)().cssBuildConfig);
|
|
129
42
|
chain.plugin('webpackBar').use(new WebpackBar({
|
|
130
43
|
name: isServer ? 'server' : 'client',
|
package/cjs/config/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAE3B,uDAAwH;AAExH,mCAAkC;AAElC,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAA,0CAAuB,EAAC,6BAA6B,CAAC,CAAC,CAAA;AAC5F,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAExC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,QAAiB,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAA,6BAAU,GAAE,CAAA;IAC3B,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAgB,CAAA;IAEzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACvC,KAAK;SACF,OAAO;SACP,OAAO;SACP,GAAG,CAAC,cAAc,CAAC;SACnB,GAAG,CAAC,IAAA,WAAI,EAAC,IAAA,yBAAM,GAAE,EAAE,gBAAgB,CAAC,CAAC;SACrC,GAAG,EAAE;SACL,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC;SACtC,GAAG,EAAE;SACL,KAAK;SACL,GAAG,EAAE,CAAA;IAER,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzC,KAAK,CAAC,OAAO,CAAC,KAAK;aAChB,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,IAAA,iCAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC/B,IAAA,2BAAQ,EAAC,KAAK,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,KAAK;QACX,QAAQ;QACR,aAAa,EAAE,CAAC;KACjB,CAAC,CAAA;IAEF,IAAA,2BAAQ,EAAC,KAAK,EAAE,SAAS,EAAE;QACzB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,QAAQ;QACR,aAAa,EAAE,CAAC;KACjB,CAAC,CAAA;IAEF,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAA,iCAAc,GAAE,CAAC,cAAc,CAAC,CAAA;IAErF,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;QAC5C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACpC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACxC,CAAC,CAAC,CAAA;IACH,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACnD,GAAG,OAAO,CAAC,GAAG;YACd,aAAa,EAAE,CAAC,QAAQ;YACxB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC;YAC/C,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;SAChB,CAAC,CAAC,CAAA;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAChC,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAGC,sCAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAe7C,QAAA,MAAM,gBAAgB,UAAW,YAAY,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAe7C,QAAA,MAAM,gBAAgB,UAAW,YAAY,oCAyE5C,CAAA;AAED,OAAO,EACL,gBAAgB,EACjB,CAAA"}
|
package/cjs/config/client.js
CHANGED
|
@@ -35,32 +35,7 @@ const getClientWebpack = (chain) => {
|
|
|
35
35
|
.splitChunks((0, ssr_common_utils_1.getSplitChunksOptions)(asyncChunkMap))
|
|
36
36
|
.when(!isDev, optimization => {
|
|
37
37
|
optimization.minimizer('terser')
|
|
38
|
-
.use(loadModule('terser-webpack-plugin'), [
|
|
39
|
-
terserOptions: {
|
|
40
|
-
keep_fnames: true,
|
|
41
|
-
parse: {
|
|
42
|
-
ecma: 8
|
|
43
|
-
},
|
|
44
|
-
compress: {
|
|
45
|
-
ecma: 5,
|
|
46
|
-
warnings: false,
|
|
47
|
-
comparisons: false,
|
|
48
|
-
inline: 2
|
|
49
|
-
},
|
|
50
|
-
mangle: {
|
|
51
|
-
safari10: true
|
|
52
|
-
},
|
|
53
|
-
output: {
|
|
54
|
-
ecma: 5,
|
|
55
|
-
comments: false,
|
|
56
|
-
ascii_only: true
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
extractComments: false,
|
|
60
|
-
parallel: true,
|
|
61
|
-
cache: true,
|
|
62
|
-
sourceMap: shouldUseSourceMap
|
|
63
|
-
}]);
|
|
38
|
+
.use(loadModule('terser-webpack-plugin'), [(0, ssr_common_utils_1.terserConfig)()]);
|
|
64
39
|
optimization.minimizer('optimize-css').use(loadModule('optimize-css-assets-webpack-plugin'), [{
|
|
65
40
|
cssProcessorOptions: {
|
|
66
41
|
parser: safePostCssParser,
|
package/cjs/config/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAC7B,+BAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO;;;
|
|
1
|
+
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO;;;EAmF5D,CAAA;AAED,OAAO,EACL,YAAY,EACZ,MAAM,EACP,CAAA"}
|
|
@@ -57,10 +57,15 @@ const serverRender = async (ctx, config) => {
|
|
|
57
57
|
}
|
|
58
58
|
const combineData = isCsr ? null : Object.assign(state !== null && state !== void 0 ? state : {}, layoutFetchData !== null && layoutFetchData !== void 0 ? layoutFetchData : {}, fetchData !== null && fetchData !== void 0 ? fetchData : {});
|
|
59
59
|
const ssrDevInfo = { manifest: isDev ? manifest : '', rootId };
|
|
60
|
-
const
|
|
61
|
-
:
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
const innerHTML = (0, ssr_common_utils_1.splitPageInfo)({
|
|
61
|
+
'window.__USE_SSR__': !isCsr,
|
|
62
|
+
'window.__INITIAL_DATA__': isCsr ? {} : (0, ssr_serialize_javascript_1.serialize)(combineData),
|
|
63
|
+
'window.__USE_VITE__': isVite,
|
|
64
|
+
'window.prefix': `"${prefix}"`,
|
|
65
|
+
'window.clientPrefix': `"${clientPrefix !== null && clientPrefix !== void 0 ? clientPrefix : ''}"`,
|
|
66
|
+
'window.ssrDevInfo': JSON.stringify(ssrDevInfo)
|
|
67
|
+
});
|
|
68
|
+
const injectState = React.createElement("script", { dangerouslySetInnerHTML: { __html: innerHTML } });
|
|
64
69
|
// with jsx type error, use createElement here
|
|
65
70
|
const ele = (0, react_1.createElement)(react_router_dom_1.StaticRouter, {
|
|
66
71
|
location: ctx.request.url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,+BAA8B;AAC9B,iCAAqC;AACrC,uDAA+C;AAC/C,6CAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"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"}
|
package/esm/config/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAM7C,QAAA,MAAM,aAAa,UAAW,YAAY,YAAY,OAAO,gCAkD5D,CAAA;AAED,OAAO,EACL,aAAa,EACd,CAAA"}
|
package/esm/config/base.js
CHANGED
|
@@ -1,70 +1,12 @@
|
|
|
1
|
-
var _a, _b, _c, _d;
|
|
2
1
|
import { join } from 'path';
|
|
3
|
-
import { getCwd, loadConfig, setStyle,
|
|
2
|
+
import { getCwd, loadConfig, setStyle, loadModuleFromFramework, getBuildConfig, addCommonChain } from 'ssr-common-utils';
|
|
4
3
|
import * as webpack from 'webpack';
|
|
5
|
-
import { coerce } from 'semver';
|
|
6
4
|
const MiniCssExtractPlugin = require(loadModuleFromFramework('ssr-mini-css-extract-plugin'));
|
|
7
5
|
const WebpackBar = require('webpackbar');
|
|
8
|
-
const loadModule = loadModuleFromFramework;
|
|
9
|
-
const antdVersion = (_b = (_a = getPkgJson().dependencies) === null || _a === void 0 ? void 0 : _a['antd']) !== null && _b !== void 0 ? _b : (_c = getPkgJson().devDependencies) === null || _c === void 0 ? void 0 : _c['antd'];
|
|
10
|
-
const isAntd4 = ((_d = coerce(antdVersion)) === null || _d === void 0 ? void 0 : _d.major) === 4;
|
|
11
|
-
const addBabelLoader = (chain, envOptions, isServer) => {
|
|
12
|
-
var _a, _b;
|
|
13
|
-
const { babelOptions, isDev } = loadConfig();
|
|
14
|
-
const plugins = [
|
|
15
|
-
[loadModule('@babel/plugin-transform-runtime'), {
|
|
16
|
-
regenerator: false,
|
|
17
|
-
corejs: false,
|
|
18
|
-
helpers: true
|
|
19
|
-
}],
|
|
20
|
-
[loadModule('@babel/plugin-proposal-private-methods'), { loose: true }],
|
|
21
|
-
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }],
|
|
22
|
-
...(_a = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) !== null && _a !== void 0 ? _a : []
|
|
23
|
-
];
|
|
24
|
-
if (isAntd4) {
|
|
25
|
-
plugins.push([
|
|
26
|
-
loadModule('babel-plugin-import'),
|
|
27
|
-
{
|
|
28
|
-
libraryName: 'antd',
|
|
29
|
-
libraryDirectory: 'lib',
|
|
30
|
-
style: true
|
|
31
|
-
}, 'antd'
|
|
32
|
-
]);
|
|
33
|
-
}
|
|
34
|
-
if (!isServer && isDev) {
|
|
35
|
-
plugins.push(loadModule('react-refresh/babel'));
|
|
36
|
-
}
|
|
37
|
-
chain.use('babel-loader')
|
|
38
|
-
.loader(loadModule('babel-loader'))
|
|
39
|
-
.options({
|
|
40
|
-
cacheDirectory: true,
|
|
41
|
-
cacheCompression: false,
|
|
42
|
-
sourceType: 'unambiguous',
|
|
43
|
-
presets: [
|
|
44
|
-
[
|
|
45
|
-
loadModule('@babel/preset-env'),
|
|
46
|
-
envOptions
|
|
47
|
-
],
|
|
48
|
-
[loadModule('babel-preset-react-app'), {
|
|
49
|
-
flow: false,
|
|
50
|
-
typescript: true,
|
|
51
|
-
runtime: 'automatic'
|
|
52
|
-
}],
|
|
53
|
-
...(_b = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.presets) !== null && _b !== void 0 ? _b : []
|
|
54
|
-
],
|
|
55
|
-
plugins: plugins
|
|
56
|
-
})
|
|
57
|
-
.end();
|
|
58
|
-
};
|
|
59
6
|
const getBaseConfig = (chain, isServer) => {
|
|
60
|
-
var _a, _b;
|
|
61
7
|
const config = loadConfig();
|
|
62
|
-
const { moduleFileExtensions, chainBaseConfig,
|
|
8
|
+
const { moduleFileExtensions, chainBaseConfig, alias, define } = config;
|
|
63
9
|
const mode = process.env.NODE_ENV;
|
|
64
|
-
const envOptions = {
|
|
65
|
-
modules: false,
|
|
66
|
-
...corejsOptions
|
|
67
|
-
};
|
|
68
10
|
chain.mode(mode);
|
|
69
11
|
chain.module.strictExportPresence(true);
|
|
70
12
|
chain
|
|
@@ -81,26 +23,7 @@ const getBaseConfig = (chain, isServer) => {
|
|
|
81
23
|
chain.resolve.alias
|
|
82
24
|
.set(item, alias[item]);
|
|
83
25
|
});
|
|
84
|
-
|
|
85
|
-
const babelModule = chain.module
|
|
86
|
-
.rule('compileBabel')
|
|
87
|
-
.test(/\.(js|mjs|jsx|ts|tsx)$/)
|
|
88
|
-
.exclude
|
|
89
|
-
.add(/node_modules|core-js/)
|
|
90
|
-
.add((_a = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.exclude) !== null && _a !== void 0 ? _a : [])
|
|
91
|
-
.end();
|
|
92
|
-
chain.module
|
|
93
|
-
.rule('mjs')
|
|
94
|
-
.test(/\.mjs/)
|
|
95
|
-
.type('javascript/auto')
|
|
96
|
-
.end();
|
|
97
|
-
const module = chain.module
|
|
98
|
-
.rule('compileBabelForExtraModule')
|
|
99
|
-
.test(/\.(js|mjs|jsx|ts|tsx)$/)
|
|
100
|
-
.include;
|
|
101
|
-
const babelForExtraModule = module.add(babelExtraModule !== null && babelExtraModule !== void 0 ? babelExtraModule : []).add((_b = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.include) !== null && _b !== void 0 ? _b : []).end().exclude.add(/core-js/).end();
|
|
102
|
-
addBabelLoader(babelModule, envOptions, isServer);
|
|
103
|
-
addBabelLoader(babelForExtraModule, envOptions, isServer);
|
|
26
|
+
addCommonChain(chain, isServer);
|
|
104
27
|
setStyle(chain, /\.css$/, {
|
|
105
28
|
rule: 'css',
|
|
106
29
|
isServer,
|
|
@@ -112,16 +35,6 @@ const getBaseConfig = (chain, isServer) => {
|
|
|
112
35
|
isServer,
|
|
113
36
|
importLoaders: 2
|
|
114
37
|
});
|
|
115
|
-
chain.module
|
|
116
|
-
.rule('fonts')
|
|
117
|
-
.test(/\.(eot|woff|woff2|ttf)(\?.*)?$/)
|
|
118
|
-
.use('file-loader')
|
|
119
|
-
.loader(loadModule('file-loader'))
|
|
120
|
-
.options({
|
|
121
|
-
name: `${assetsDir}/[name].[hash:8].[ext]`,
|
|
122
|
-
esModule: false,
|
|
123
|
-
emitFile: !isServer
|
|
124
|
-
});
|
|
125
38
|
chain.plugin('minify-css').use(MiniCssExtractPlugin, getBuildConfig().cssBuildConfig);
|
|
126
39
|
chain.plugin('webpackBar').use(new WebpackBar({
|
|
127
40
|
name: isServer ? 'server' : 'client',
|
package/esm/config/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAExH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,MAAM,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,CAAC,CAAA;AAC5F,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAExC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,QAAiB,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAgB,CAAA;IAEzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACvC,KAAK;SACF,OAAO;SACP,OAAO;SACP,GAAG,CAAC,cAAc,CAAC;SACnB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;SACrC,GAAG,EAAE;SACL,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC;SACtC,GAAG,EAAE;SACL,KAAK;SACL,GAAG,EAAE,CAAA;IAER,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzC,KAAK,CAAC,OAAO,CAAC,KAAK;aAChB,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,KAAK;QACX,QAAQ;QACR,aAAa,EAAE,CAAC;KACjB,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE;QACzB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,QAAQ;QACR,aAAa,EAAE,CAAC;KACjB,CAAC,CAAA;IAEF,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,EAAE,CAAC,cAAc,CAAC,CAAA;IAErF,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;QAC5C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACpC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACxC,CAAC,CAAC,CAAA;IACH,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACnD,GAAG,OAAO,CAAC,GAAG;YACd,aAAa,EAAE,CAAC,QAAQ;YACxB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC;YAC/C,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;SAChB,CAAC,CAAC,CAAA;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAChC,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,OAAO,EACL,aAAa,EACd,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAe7C,QAAA,MAAM,gBAAgB,UAAW,YAAY,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAe7C,QAAA,MAAM,gBAAgB,UAAW,YAAY,oCAyE5C,CAAA;AAED,OAAO,EACL,gBAAgB,EACjB,CAAA"}
|
package/esm/config/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { promises } from 'fs';
|
|
2
2
|
import { resolve } from 'path';
|
|
3
|
-
import { loadConfig, getCwd, getSplitChunksOptions, getOutputPublicPath, loadModuleFromFramework, getBuildConfig } from 'ssr-common-utils';
|
|
3
|
+
import { loadConfig, getCwd, getSplitChunksOptions, getOutputPublicPath, loadModuleFromFramework, getBuildConfig, terserConfig } from 'ssr-common-utils';
|
|
4
4
|
import { getBaseConfig } from './base';
|
|
5
5
|
const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin');
|
|
6
6
|
const safePostCssParser = require('postcss-safe-parser');
|
|
@@ -32,32 +32,7 @@ const getClientWebpack = (chain) => {
|
|
|
32
32
|
.splitChunks(getSplitChunksOptions(asyncChunkMap))
|
|
33
33
|
.when(!isDev, optimization => {
|
|
34
34
|
optimization.minimizer('terser')
|
|
35
|
-
.use(loadModule('terser-webpack-plugin'), [
|
|
36
|
-
terserOptions: {
|
|
37
|
-
keep_fnames: true,
|
|
38
|
-
parse: {
|
|
39
|
-
ecma: 8
|
|
40
|
-
},
|
|
41
|
-
compress: {
|
|
42
|
-
ecma: 5,
|
|
43
|
-
warnings: false,
|
|
44
|
-
comparisons: false,
|
|
45
|
-
inline: 2
|
|
46
|
-
},
|
|
47
|
-
mangle: {
|
|
48
|
-
safari10: true
|
|
49
|
-
},
|
|
50
|
-
output: {
|
|
51
|
-
ecma: 5,
|
|
52
|
-
comments: false,
|
|
53
|
-
ascii_only: true
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
extractComments: false,
|
|
57
|
-
parallel: true,
|
|
58
|
-
cache: true,
|
|
59
|
-
sourceMap: shouldUseSourceMap
|
|
60
|
-
}]);
|
|
35
|
+
.use(loadModule('terser-webpack-plugin'), [terserConfig()]);
|
|
61
36
|
optimization.minimizer('optimize-css').use(loadModule('optimize-css-assets-webpack-plugin'), [{
|
|
62
37
|
cssProcessorOptions: {
|
|
63
38
|
parser: safePostCssParser,
|
package/esm/config/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO;;;
|
|
1
|
+
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO;;;EAmF5D,CAAA;AAED,OAAO,EACL,YAAY,EACZ,MAAM,EACP,CAAA"}
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { createElement } from 'react';
|
|
4
4
|
import { StaticRouter } from 'react-router-dom';
|
|
5
5
|
import { renderToString, renderToNodeStream } from 'react-dom/server';
|
|
6
|
-
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, reactRefreshFragment, localStorageWrapper, checkRoute } from 'ssr-common-utils';
|
|
6
|
+
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, splitPageInfo, reactRefreshFragment, localStorageWrapper, checkRoute } from 'ssr-common-utils';
|
|
7
7
|
import { serialize } from 'ssr-serialize-javascript';
|
|
8
8
|
import { STORE_CONTEXT as Context } from '_build/create-context';
|
|
9
9
|
import { Routes } from './create-router';
|
|
@@ -53,10 +53,15 @@ const serverRender = async (ctx, config) => {
|
|
|
53
53
|
}
|
|
54
54
|
const combineData = isCsr ? null : Object.assign(state !== null && state !== void 0 ? state : {}, layoutFetchData !== null && layoutFetchData !== void 0 ? layoutFetchData : {}, fetchData !== null && fetchData !== void 0 ? fetchData : {});
|
|
55
55
|
const ssrDevInfo = { manifest: isDev ? manifest : '', rootId };
|
|
56
|
-
const
|
|
57
|
-
:
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
const innerHTML = splitPageInfo({
|
|
57
|
+
'window.__USE_SSR__': !isCsr,
|
|
58
|
+
'window.__INITIAL_DATA__': isCsr ? {} : serialize(combineData),
|
|
59
|
+
'window.__USE_VITE__': isVite,
|
|
60
|
+
'window.prefix': `"${prefix}"`,
|
|
61
|
+
'window.clientPrefix': `"${clientPrefix !== null && clientPrefix !== void 0 ? clientPrefix : ''}"`,
|
|
62
|
+
'window.ssrDevInfo': JSON.stringify(ssrDevInfo)
|
|
63
|
+
});
|
|
64
|
+
const injectState = React.createElement("script", { dangerouslySetInnerHTML: { __html: innerHTML } });
|
|
60
65
|
// with jsx type error, use createElement here
|
|
61
66
|
const ele = createElement(StaticRouter, {
|
|
62
67
|
location: ctx.request.url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ssr-plugin-react",
|
|
3
|
-
"version": "6.2.
|
|
3
|
+
"version": "6.2.64",
|
|
4
4
|
"description": "plugin-react for ssr",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
"@babel/core": "^7.0.0",
|
|
35
35
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5",
|
|
36
36
|
"@babel/plugin-proposal-optional-chaining": "^7.16.5",
|
|
37
|
+
"@babel/plugin-proposal-private-methods": "^7.18.6",
|
|
38
|
+
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
|
|
37
39
|
"@babel/plugin-transform-runtime": "^7.9.6",
|
|
38
40
|
"@babel/preset-env": "^7.5.5",
|
|
39
41
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
|
package/src/config/base.ts
CHANGED
|
@@ -1,72 +1,17 @@
|
|
|
1
1
|
|
|
2
2
|
import { join } from 'path'
|
|
3
3
|
import { Mode } from 'ssr-types'
|
|
4
|
-
import { getCwd, loadConfig, setStyle,
|
|
4
|
+
import { getCwd, loadConfig, setStyle, loadModuleFromFramework, getBuildConfig, addCommonChain } from 'ssr-common-utils'
|
|
5
5
|
import * as WebpackChain from 'webpack-chain'
|
|
6
6
|
import * as webpack from 'webpack'
|
|
7
|
-
import { coerce } from 'semver'
|
|
8
7
|
|
|
9
8
|
const MiniCssExtractPlugin = require(loadModuleFromFramework('ssr-mini-css-extract-plugin'))
|
|
10
9
|
const WebpackBar = require('webpackbar')
|
|
11
|
-
const loadModule = loadModuleFromFramework
|
|
12
10
|
|
|
13
|
-
const antdVersion = getPkgJson().dependencies?.['antd'] ?? getPkgJson().devDependencies?.['antd']
|
|
14
|
-
const isAntd4 = coerce(antdVersion)?.major === 4
|
|
15
|
-
const addBabelLoader = (chain: WebpackChain.Rule<WebpackChain.Module>, envOptions: any, isServer: boolean) => {
|
|
16
|
-
const { babelOptions, isDev } = loadConfig()
|
|
17
|
-
const plugins = [
|
|
18
|
-
[loadModule('@babel/plugin-transform-runtime'), {
|
|
19
|
-
regenerator: false,
|
|
20
|
-
corejs: false,
|
|
21
|
-
helpers: true
|
|
22
|
-
}],
|
|
23
|
-
[loadModule('@babel/plugin-proposal-private-methods'), { loose: true }],
|
|
24
|
-
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }],
|
|
25
|
-
...babelOptions?.plugins ?? []
|
|
26
|
-
]
|
|
27
|
-
if (isAntd4) {
|
|
28
|
-
plugins.push([
|
|
29
|
-
loadModule('babel-plugin-import'),
|
|
30
|
-
{
|
|
31
|
-
libraryName: 'antd',
|
|
32
|
-
libraryDirectory: 'lib',
|
|
33
|
-
style: true
|
|
34
|
-
}, 'antd'
|
|
35
|
-
])
|
|
36
|
-
}
|
|
37
|
-
if (!isServer && isDev) {
|
|
38
|
-
plugins.push(loadModule('react-refresh/babel'))
|
|
39
|
-
}
|
|
40
|
-
chain.use('babel-loader')
|
|
41
|
-
.loader(loadModule('babel-loader'))
|
|
42
|
-
.options({
|
|
43
|
-
cacheDirectory: true,
|
|
44
|
-
cacheCompression: false,
|
|
45
|
-
sourceType: 'unambiguous',
|
|
46
|
-
presets: [
|
|
47
|
-
[
|
|
48
|
-
loadModule('@babel/preset-env'),
|
|
49
|
-
envOptions
|
|
50
|
-
],
|
|
51
|
-
[loadModule('babel-preset-react-app'), {
|
|
52
|
-
flow: false,
|
|
53
|
-
typescript: true,
|
|
54
|
-
runtime: 'automatic'
|
|
55
|
-
}],
|
|
56
|
-
...babelOptions?.presets ?? []
|
|
57
|
-
],
|
|
58
|
-
plugins: plugins
|
|
59
|
-
})
|
|
60
|
-
.end()
|
|
61
|
-
}
|
|
62
11
|
const getBaseConfig = (chain: WebpackChain, isServer: boolean) => {
|
|
63
12
|
const config = loadConfig()
|
|
64
|
-
const { moduleFileExtensions, chainBaseConfig,
|
|
13
|
+
const { moduleFileExtensions, chainBaseConfig, alias, define } = config
|
|
65
14
|
const mode = process.env.NODE_ENV as Mode
|
|
66
|
-
const envOptions = {
|
|
67
|
-
modules: false,
|
|
68
|
-
...corejsOptions
|
|
69
|
-
}
|
|
70
15
|
|
|
71
16
|
chain.mode(mode)
|
|
72
17
|
chain.module.strictExportPresence(true)
|
|
@@ -85,32 +30,7 @@ const getBaseConfig = (chain: WebpackChain, isServer: boolean) => {
|
|
|
85
30
|
chain.resolve.alias
|
|
86
31
|
.set(item, alias[item])
|
|
87
32
|
})
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const babelModule = chain.module
|
|
91
|
-
.rule('compileBabel')
|
|
92
|
-
.test(/\.(js|mjs|jsx|ts|tsx)$/)
|
|
93
|
-
.exclude
|
|
94
|
-
.add(/node_modules|core-js/)
|
|
95
|
-
.add(babelOptions?.exclude as Array<string|RegExp> ?? [])
|
|
96
|
-
.end()
|
|
97
|
-
|
|
98
|
-
chain.module
|
|
99
|
-
.rule('mjs')
|
|
100
|
-
.test(/\.mjs/)
|
|
101
|
-
.type('javascript/auto')
|
|
102
|
-
.end()
|
|
103
|
-
|
|
104
|
-
const module = chain.module
|
|
105
|
-
.rule('compileBabelForExtraModule')
|
|
106
|
-
.test(/\.(js|mjs|jsx|ts|tsx)$/)
|
|
107
|
-
.include
|
|
108
|
-
|
|
109
|
-
const babelForExtraModule = module.add(babelExtraModule ?? []).add(babelOptions?.include as Array<string|RegExp> ?? []).end().exclude.add(/core-js/).end()
|
|
110
|
-
|
|
111
|
-
addBabelLoader(babelModule, envOptions, isServer)
|
|
112
|
-
addBabelLoader(babelForExtraModule, envOptions, isServer)
|
|
113
|
-
|
|
33
|
+
addCommonChain(chain, isServer)
|
|
114
34
|
setStyle(chain, /\.css$/, {
|
|
115
35
|
rule: 'css',
|
|
116
36
|
isServer,
|
|
@@ -124,17 +44,6 @@ const getBaseConfig = (chain: WebpackChain, isServer: boolean) => {
|
|
|
124
44
|
importLoaders: 2
|
|
125
45
|
})
|
|
126
46
|
|
|
127
|
-
chain.module
|
|
128
|
-
.rule('fonts')
|
|
129
|
-
.test(/\.(eot|woff|woff2|ttf)(\?.*)?$/)
|
|
130
|
-
.use('file-loader')
|
|
131
|
-
.loader(loadModule('file-loader'))
|
|
132
|
-
.options({
|
|
133
|
-
name: `${assetsDir}/[name].[hash:8].[ext]`,
|
|
134
|
-
esModule: false,
|
|
135
|
-
emitFile: !isServer
|
|
136
|
-
})
|
|
137
|
-
|
|
138
47
|
chain.plugin('minify-css').use(MiniCssExtractPlugin, getBuildConfig().cssBuildConfig)
|
|
139
48
|
|
|
140
49
|
chain.plugin('webpackBar').use(new WebpackBar({
|
package/src/config/client.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { promises } from 'fs'
|
|
2
2
|
import { resolve } from 'path'
|
|
3
|
-
import { loadConfig, getCwd, getSplitChunksOptions, getOutputPublicPath, loadModuleFromFramework, getBuildConfig } from 'ssr-common-utils'
|
|
3
|
+
import { loadConfig, getCwd, getSplitChunksOptions, getOutputPublicPath, loadModuleFromFramework, getBuildConfig, terserConfig } from 'ssr-common-utils'
|
|
4
4
|
import * as WebpackChain from 'webpack-chain'
|
|
5
5
|
import { Compiler } from 'webpack'
|
|
6
6
|
import { getBaseConfig } from './base'
|
|
@@ -38,32 +38,7 @@ const getClientWebpack = (chain: WebpackChain) => {
|
|
|
38
38
|
.splitChunks(getSplitChunksOptions(asyncChunkMap))
|
|
39
39
|
.when(!isDev, optimization => {
|
|
40
40
|
optimization.minimizer('terser')
|
|
41
|
-
.use(loadModule('terser-webpack-plugin'), [
|
|
42
|
-
terserOptions: {
|
|
43
|
-
keep_fnames: true,
|
|
44
|
-
parse: {
|
|
45
|
-
ecma: 8
|
|
46
|
-
},
|
|
47
|
-
compress: {
|
|
48
|
-
ecma: 5,
|
|
49
|
-
warnings: false,
|
|
50
|
-
comparisons: false,
|
|
51
|
-
inline: 2
|
|
52
|
-
},
|
|
53
|
-
mangle: {
|
|
54
|
-
safari10: true
|
|
55
|
-
},
|
|
56
|
-
output: {
|
|
57
|
-
ecma: 5,
|
|
58
|
-
comments: false,
|
|
59
|
-
ascii_only: true
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
extractComments: false,
|
|
63
|
-
parallel: true,
|
|
64
|
-
cache: true,
|
|
65
|
-
sourceMap: shouldUseSourceMap
|
|
66
|
-
}])
|
|
41
|
+
.use(loadModule('terser-webpack-plugin'), [terserConfig()])
|
|
67
42
|
optimization.minimizer('optimize-css').use(loadModule('optimize-css-assets-webpack-plugin'), [{
|
|
68
43
|
cssProcessorOptions: {
|
|
69
44
|
parser: safePostCssParser,
|
|
@@ -3,7 +3,7 @@ import * as React from 'react'
|
|
|
3
3
|
import { createElement } from 'react'
|
|
4
4
|
import { StaticRouter } from 'react-router-dom'
|
|
5
5
|
import { renderToString, renderToNodeStream } from 'react-dom/server'
|
|
6
|
-
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, reactRefreshFragment, localStorageWrapper, checkRoute } from 'ssr-common-utils'
|
|
6
|
+
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, splitPageInfo, reactRefreshFragment, localStorageWrapper, checkRoute } from 'ssr-common-utils'
|
|
7
7
|
import { ISSRContext, IConfig, ReactESMPreloadFeRouteItem, DynamicFC, StaticFC } from 'ssr-types'
|
|
8
8
|
import { serialize } from 'ssr-serialize-javascript'
|
|
9
9
|
import { STORE_CONTEXT as Context } from '_build/create-context'
|
|
@@ -64,10 +64,15 @@ const serverRender = async (ctx: ISSRContext, config: IConfig) => {
|
|
|
64
64
|
|
|
65
65
|
const combineData = isCsr ? null : Object.assign(state ?? {}, layoutFetchData ?? {}, fetchData ?? {})
|
|
66
66
|
const ssrDevInfo = { manifest: isDev ? manifest : '', rootId }
|
|
67
|
-
const
|
|
68
|
-
:
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
const innerHTML = splitPageInfo({
|
|
68
|
+
'window.__USE_SSR__': !isCsr,
|
|
69
|
+
'window.__INITIAL_DATA__': isCsr ? {} : serialize(combineData),
|
|
70
|
+
'window.__USE_VITE__': isVite,
|
|
71
|
+
'window.prefix': `"${prefix}"`,
|
|
72
|
+
'window.clientPrefix': `"${clientPrefix ?? ''}"`,
|
|
73
|
+
'window.ssrDevInfo': JSON.stringify(ssrDevInfo)
|
|
74
|
+
})
|
|
75
|
+
const injectState = <script dangerouslySetInnerHTML={{ __html: innerHTML }} />
|
|
71
76
|
// with jsx type error, use createElement here
|
|
72
77
|
const ele = createElement(StaticRouter, {
|
|
73
78
|
location: ctx.request.url,
|