ssr-plugin-react 6.1.46 → 6.1.50
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 +65 -0
- package/README.md +10 -7
- package/cjs/config/base.js +8 -4
- package/cjs/tools/vite.d.ts +1 -1
- package/cjs/tools/vite.js +21 -16
- package/esm/config/base.js +8 -4
- package/esm/tools/vite.d.ts +1 -1
- package/esm/tools/vite.js +19 -14
- package/package.json +7 -7
- package/src/config/base.ts +7 -4
- package/src/config/client.ts +1 -1
- package/src/tools/vite.ts +12 -14
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,71 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [6.1.50](https://github.com/zhangyuang/ssr/compare/v6.1.49...v6.1.50) (2022-01-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* babelForExtraModule ([3c236a1](https://github.com/zhangyuang/ssr/commit/3c236a14104e1d347ea0d91c1d6d9f6634cd254d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [6.1.49](https://github.com/zhangyuang/ssr/compare/v6.1.48...v6.1.49) (2022-01-19)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* babelExtraModule ([503f3e6](https://github.com/zhangyuang/ssr/commit/503f3e618a8918fbd482267349059d743af75787))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* vite mode support extract children common module chunks ([4896c6c](https://github.com/zhangyuang/ssr/commit/4896c6cde8e39238f7d34183698acb480f2be9b6))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [6.1.48](https://github.com/zhangyuang/ssr/compare/v6.1.47...v6.1.48) (2022-01-13)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package ssr-plugin-react
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## [6.1.47](https://github.com/zhangyuang/ssr/compare/v6.1.47-alpha.1...v6.1.47) (2022-01-13)
|
|
42
|
+
|
|
43
|
+
**Note:** Version bump only for package ssr-plugin-react
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## [6.1.47-alpha.1](https://github.com/zhangyuang/ssr/compare/v6.1.47-alpha.0...v6.1.47-alpha.1) (2022-01-13)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Features
|
|
53
|
+
|
|
54
|
+
* support babelOptions ([2cd9139](https://github.com/zhangyuang/ssr/commit/2cd91398bed61fe4def651d1846ad438c517f78b))
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## [6.1.47-alpha.0](https://github.com/zhangyuang/ssr/compare/v6.1.46...v6.1.47-alpha.0) (2022-01-13)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### Features
|
|
64
|
+
|
|
65
|
+
* support babelOptions ([8847197](https://github.com/zhangyuang/ssr/commit/8847197ff8065b40a883c37f107ee8eae8d32ba9))
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
6
71
|
## [6.1.46](https://github.com/zhangyuang/ssr/compare/v6.1.45...v6.1.46) (2022-01-07)
|
|
7
72
|
|
|
8
73
|
**Note:** Version bump only for package ssr-plugin-react
|
package/README.md
CHANGED
|
@@ -13,12 +13,11 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
<br />
|
|
15
15
|
<div align="center">
|
|
16
|
-
<a href="https://github.com/zhangyuang/ssr/actions" target="_blank"><img src="https://github.com/zhangyuang/ssr/workflows/CI/badge.svg" alt="githubActions"
|
|
17
|
-
<a href="https://www.cypress.io/" target="_blank"><img src="https://img.shields.io/badge/cypress-dashboard-brightgreen.svg" alt="cypress"
|
|
18
|
-
<a href="https://npmcharts.com/compare/ssr" target="_blank"><img src="https://img.shields.io/npm/dm/ssr" alt="download"
|
|
19
|
-
<a href="https://
|
|
20
|
-
<a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/
|
|
21
|
-
<a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/badge/node-%3E=12-green.svg" alt="Node"></a>
|
|
16
|
+
<a href="https://github.com/zhangyuang/ssr/actions" target="_blank"><img src="https://github.com/zhangyuang/ssr/workflows/CI/badge.svg" alt="githubActions" />
|
|
17
|
+
<a href="https://www.cypress.io/" target="_blank"><img src="https://img.shields.io/badge/cypress-dashboard-brightgreen.svg" alt="cypress" />
|
|
18
|
+
<a href="https://npmcharts.com/compare/ssr" target="_blank"><img src="https://img.shields.io/npm/dm/ssr" alt="download" />
|
|
19
|
+
<a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/tokei/lines/github/zhangyuang/ssr-lines?color=97b93b" alt="Node" />
|
|
20
|
+
<a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/badge/node-%3E=12-green.svg" alt="Node" ></a>
|
|
22
21
|
</div>
|
|
23
22
|
<br />
|
|
24
23
|
|
|
@@ -273,7 +272,7 @@ $ npm run start:vite # 以 vite 模式启动,等价于 npx ssr start --vite
|
|
|
273
272
|
|
|
274
273
|
<div style="display:flex">
|
|
275
274
|
<img src="https://res.wx.qq.com/op_res/7F1t4Z8yCHWilehbcFGjAj0yVn0URMiWBGVJa-TVu_eqw5IwUXA2kPYBnfX6YRHy0FVBB-yC6l0IEL02QTJkLg" width="300">
|
|
276
|
-
<img src="https://res.wx.qq.com/op_res/
|
|
275
|
+
<img src="https://res.wx.qq.com/op_res/UXZQkqMG9Ej1Ox4pro3iDJPugn8EGQN7xKWXTDh0L0xgK7BOUZvT-MQ_Diks_iTtCL3Kregp-lS52WXsiDctuw" width="300">
|
|
277
276
|
</div>
|
|
278
277
|
|
|
279
278
|
## 前端开发手册
|
|
@@ -283,3 +282,7 @@ $ npm run start:vite # 以 vite 模式启动,等价于 npx ssr start --vite
|
|
|
283
282
|
## 项目 Star 数增长趋势
|
|
284
283
|
|
|
285
284
|
[](https://starchart.cc/zhangyuang/ssr)
|
|
285
|
+
|
|
286
|
+
## 代码行数
|
|
287
|
+
|
|
288
|
+

|
package/cjs/config/base.js
CHANGED
|
@@ -8,6 +8,8 @@ const MiniCssExtractPlugin = require((0, ssr_server_utils_1.loadModuleFromFramew
|
|
|
8
8
|
const WebpackBar = require('webpackbar');
|
|
9
9
|
const loadModule = ssr_server_utils_1.loadModuleFromFramework;
|
|
10
10
|
const addBabelLoader = (chain, envOptions) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const { babelOptions } = (0, ssr_server_utils_1.loadConfig)();
|
|
11
13
|
chain.use('babel-loader')
|
|
12
14
|
.loader(loadModule('babel-loader'))
|
|
13
15
|
.options({
|
|
@@ -19,7 +21,8 @@ const addBabelLoader = (chain, envOptions) => {
|
|
|
19
21
|
loadModule('@babel/preset-env'),
|
|
20
22
|
envOptions
|
|
21
23
|
],
|
|
22
|
-
[loadModule('babel-preset-react-app'), { flow: false, typescript: true }]
|
|
24
|
+
[loadModule('babel-preset-react-app'), { flow: false, typescript: true }],
|
|
25
|
+
...(_a = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.presets) !== null && _a !== void 0 ? _a : []
|
|
23
26
|
],
|
|
24
27
|
plugins: [
|
|
25
28
|
[loadModule('@babel/plugin-transform-runtime'), {
|
|
@@ -36,7 +39,8 @@ const addBabelLoader = (chain, envOptions) => {
|
|
|
36
39
|
}, 'antd'
|
|
37
40
|
],
|
|
38
41
|
[loadModule('@babel/plugin-proposal-private-methods'), { loose: true }],
|
|
39
|
-
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }]
|
|
42
|
+
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }],
|
|
43
|
+
...(_b = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) !== null && _b !== void 0 ? _b : []
|
|
40
44
|
]
|
|
41
45
|
})
|
|
42
46
|
.end();
|
|
@@ -82,10 +86,10 @@ const getBaseConfig = (chain, isServer) => {
|
|
|
82
86
|
.add([/ssr-plugin-react/, /ssr-client-utils/, /ssr-hoc-react/]);
|
|
83
87
|
let babelForExtraModule;
|
|
84
88
|
if (babelExtraModule) {
|
|
85
|
-
babelForExtraModule = module.add(babelExtraModule).end();
|
|
89
|
+
babelForExtraModule = module.add(babelExtraModule).end().exclude.add(/core-js/).end();
|
|
86
90
|
}
|
|
87
91
|
else {
|
|
88
|
-
babelForExtraModule = module.end();
|
|
92
|
+
babelForExtraModule = module.end().exclude.add(/core-js/).end();
|
|
89
93
|
}
|
|
90
94
|
addBabelLoader(babelModule, envOptions);
|
|
91
95
|
addBabelLoader(babelForExtraModule, envOptions);
|
package/cjs/tools/vite.d.ts
CHANGED
package/cjs/tools/vite.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
2
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.clientConfig = exports.serverConfig = exports.viteStart = exports.viteBuild = void 0;
|
|
5
|
+
const vite_1 = require("vite");
|
|
5
6
|
const ssr_server_utils_1 = require("ssr-server-utils");
|
|
6
7
|
const plugin_react_1 = require("@vitejs/plugin-react");
|
|
7
8
|
const vite_plugin_style_import_1 = require("vite-plugin-style-import");
|
|
8
|
-
const
|
|
9
|
-
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define } = (0, ssr_server_utils_1.loadConfig)();
|
|
9
|
+
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define, babelOptions } = (0, ssr_server_utils_1.loadConfig)();
|
|
10
10
|
const { clientOutPut, serverOutPut } = getOutput();
|
|
11
11
|
const styleImportConfig = {
|
|
12
12
|
include: ['**/*.vue', '**/*.ts', '**/*.js', '**/*.tsx', '**/*.jsx', /chunkName/],
|
|
@@ -24,15 +24,19 @@ const serverConfig = {
|
|
|
24
24
|
(0, plugin_react_1.default)({
|
|
25
25
|
...(_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,
|
|
26
26
|
jsxRuntime: 'classic',
|
|
27
|
-
babel:
|
|
27
|
+
babel: {
|
|
28
|
+
...babelOptions,
|
|
28
29
|
plugins: [
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
...(_c = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) !== null && _c !== void 0 ? _c : [],
|
|
31
|
+
...!supportOptinalChaining ? [
|
|
32
|
+
'@babel/plugin-proposal-optional-chaining',
|
|
33
|
+
'@babel/plugin-proposal-nullish-coalescing-operator'
|
|
34
|
+
] : []
|
|
31
35
|
]
|
|
32
36
|
}
|
|
33
37
|
}),
|
|
34
|
-
(
|
|
35
|
-
(
|
|
38
|
+
(_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,
|
|
39
|
+
(_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,
|
|
36
40
|
(0, vite_plugin_style_import_1.default)(styleImportConfig)
|
|
37
41
|
],
|
|
38
42
|
build: {
|
|
@@ -47,7 +51,7 @@ const serverConfig = {
|
|
|
47
51
|
},
|
|
48
52
|
define: {
|
|
49
53
|
__isBrowser__: false,
|
|
50
|
-
...(
|
|
54
|
+
...(_j = (_h = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _h === void 0 ? void 0 : _h.server) === null || _j === void 0 ? void 0 : _j.define,
|
|
51
55
|
...define === null || define === void 0 ? void 0 : define.server,
|
|
52
56
|
...define === null || define === void 0 ? void 0 : define.base
|
|
53
57
|
}
|
|
@@ -60,11 +64,12 @@ const clientConfig = {
|
|
|
60
64
|
},
|
|
61
65
|
plugins: [
|
|
62
66
|
(0, plugin_react_1.default)({
|
|
63
|
-
...(
|
|
64
|
-
jsxRuntime: 'classic'
|
|
67
|
+
...(_l = (_k = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _k === void 0 ? void 0 : _k.client) === null || _l === void 0 ? void 0 : _l.defaultPluginOptions,
|
|
68
|
+
jsxRuntime: 'classic',
|
|
69
|
+
...babelOptions
|
|
65
70
|
}),
|
|
66
|
-
(
|
|
67
|
-
(
|
|
71
|
+
(_o = (_m = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _m === void 0 ? void 0 : _m.common) === null || _o === void 0 ? void 0 : _o.extraPlugin,
|
|
72
|
+
(_q = (_p = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _p === void 0 ? void 0 : _p.client) === null || _q === void 0 ? void 0 : _q.extraPlugin,
|
|
68
73
|
(0, vite_plugin_style_import_1.default)(styleImportConfig)
|
|
69
74
|
],
|
|
70
75
|
build: {
|
|
@@ -78,7 +83,7 @@ const clientConfig = {
|
|
|
78
83
|
},
|
|
79
84
|
define: {
|
|
80
85
|
__isBrowser__: true,
|
|
81
|
-
...(
|
|
86
|
+
...(_s = (_r = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _r === void 0 ? void 0 : _r.client) === null || _s === void 0 ? void 0 : _s.define,
|
|
82
87
|
...define === null || define === void 0 ? void 0 : define.client,
|
|
83
88
|
...define === null || define === void 0 ? void 0 : define.base
|
|
84
89
|
}
|
|
@@ -89,7 +94,7 @@ const viteStart = async () => {
|
|
|
89
94
|
};
|
|
90
95
|
exports.viteStart = viteStart;
|
|
91
96
|
const viteBuild = async () => {
|
|
92
|
-
await build({ ...clientConfig, mode: 'production' });
|
|
93
|
-
await build({ ...serverConfig, mode: 'production' });
|
|
97
|
+
await (0, vite_1.build)({ ...clientConfig, mode: 'production' });
|
|
98
|
+
await (0, vite_1.build)({ ...serverConfig, mode: 'production' });
|
|
94
99
|
};
|
|
95
100
|
exports.viteBuild = viteBuild;
|
package/esm/config/base.js
CHANGED
|
@@ -5,6 +5,8 @@ const MiniCssExtractPlugin = require(loadModuleFromFramework('mini-css-extract-p
|
|
|
5
5
|
const WebpackBar = require('webpackbar');
|
|
6
6
|
const loadModule = loadModuleFromFramework;
|
|
7
7
|
const addBabelLoader = (chain, envOptions) => {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
const { babelOptions } = loadConfig();
|
|
8
10
|
chain.use('babel-loader')
|
|
9
11
|
.loader(loadModule('babel-loader'))
|
|
10
12
|
.options({
|
|
@@ -16,7 +18,8 @@ const addBabelLoader = (chain, envOptions) => {
|
|
|
16
18
|
loadModule('@babel/preset-env'),
|
|
17
19
|
envOptions
|
|
18
20
|
],
|
|
19
|
-
[loadModule('babel-preset-react-app'), { flow: false, typescript: true }]
|
|
21
|
+
[loadModule('babel-preset-react-app'), { flow: false, typescript: true }],
|
|
22
|
+
...(_a = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.presets) !== null && _a !== void 0 ? _a : []
|
|
20
23
|
],
|
|
21
24
|
plugins: [
|
|
22
25
|
[loadModule('@babel/plugin-transform-runtime'), {
|
|
@@ -33,7 +36,8 @@ const addBabelLoader = (chain, envOptions) => {
|
|
|
33
36
|
}, 'antd'
|
|
34
37
|
],
|
|
35
38
|
[loadModule('@babel/plugin-proposal-private-methods'), { loose: true }],
|
|
36
|
-
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }]
|
|
39
|
+
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }],
|
|
40
|
+
...(_b = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) !== null && _b !== void 0 ? _b : []
|
|
37
41
|
]
|
|
38
42
|
})
|
|
39
43
|
.end();
|
|
@@ -79,10 +83,10 @@ const getBaseConfig = (chain, isServer) => {
|
|
|
79
83
|
.add([/ssr-plugin-react/, /ssr-client-utils/, /ssr-hoc-react/]);
|
|
80
84
|
let babelForExtraModule;
|
|
81
85
|
if (babelExtraModule) {
|
|
82
|
-
babelForExtraModule = module.add(babelExtraModule).end();
|
|
86
|
+
babelForExtraModule = module.add(babelExtraModule).end().exclude.add(/core-js/).end();
|
|
83
87
|
}
|
|
84
88
|
else {
|
|
85
|
-
babelForExtraModule = module.end();
|
|
89
|
+
babelForExtraModule = module.end().exclude.add(/core-js/).end();
|
|
86
90
|
}
|
|
87
91
|
addBabelLoader(babelModule, envOptions);
|
|
88
92
|
addBabelLoader(babelForExtraModule, envOptions);
|
package/esm/tools/vite.d.ts
CHANGED
package/esm/tools/vite.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
1
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
2
|
+
import { build } from 'vite';
|
|
2
3
|
import { loadConfig, chunkNamePlugin, rollupOutputOptions, manifestPlugin, commonConfig, asyncOptimizeChunkPlugin } from 'ssr-server-utils';
|
|
3
4
|
import react from '@vitejs/plugin-react';
|
|
4
5
|
import styleImport, { AndDesignVueResolve, VantResolve, ElementPlusResolve, NutuiResolve, AntdResolve } from 'vite-plugin-style-import';
|
|
5
|
-
const
|
|
6
|
-
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define } = loadConfig();
|
|
6
|
+
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define, babelOptions } = loadConfig();
|
|
7
7
|
const { clientOutPut, serverOutPut } = getOutput();
|
|
8
8
|
const styleImportConfig = {
|
|
9
9
|
include: ['**/*.vue', '**/*.ts', '**/*.js', '**/*.tsx', '**/*.jsx', /chunkName/],
|
|
@@ -21,15 +21,19 @@ const serverConfig = {
|
|
|
21
21
|
react({
|
|
22
22
|
...(_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,
|
|
23
23
|
jsxRuntime: 'classic',
|
|
24
|
-
babel:
|
|
24
|
+
babel: {
|
|
25
|
+
...babelOptions,
|
|
25
26
|
plugins: [
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
...(_c = babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) !== null && _c !== void 0 ? _c : [],
|
|
28
|
+
...!supportOptinalChaining ? [
|
|
29
|
+
'@babel/plugin-proposal-optional-chaining',
|
|
30
|
+
'@babel/plugin-proposal-nullish-coalescing-operator'
|
|
31
|
+
] : []
|
|
28
32
|
]
|
|
29
33
|
}
|
|
30
34
|
}),
|
|
31
|
-
(
|
|
32
|
-
(
|
|
35
|
+
(_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,
|
|
36
|
+
(_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,
|
|
33
37
|
styleImport(styleImportConfig)
|
|
34
38
|
],
|
|
35
39
|
build: {
|
|
@@ -44,7 +48,7 @@ const serverConfig = {
|
|
|
44
48
|
},
|
|
45
49
|
define: {
|
|
46
50
|
__isBrowser__: false,
|
|
47
|
-
...(
|
|
51
|
+
...(_j = (_h = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _h === void 0 ? void 0 : _h.server) === null || _j === void 0 ? void 0 : _j.define,
|
|
48
52
|
...define === null || define === void 0 ? void 0 : define.server,
|
|
49
53
|
...define === null || define === void 0 ? void 0 : define.base
|
|
50
54
|
}
|
|
@@ -56,11 +60,12 @@ const clientConfig = {
|
|
|
56
60
|
},
|
|
57
61
|
plugins: [
|
|
58
62
|
react({
|
|
59
|
-
...(
|
|
60
|
-
jsxRuntime: 'classic'
|
|
63
|
+
...(_l = (_k = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _k === void 0 ? void 0 : _k.client) === null || _l === void 0 ? void 0 : _l.defaultPluginOptions,
|
|
64
|
+
jsxRuntime: 'classic',
|
|
65
|
+
...babelOptions
|
|
61
66
|
}),
|
|
62
|
-
(
|
|
63
|
-
(
|
|
67
|
+
(_o = (_m = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _m === void 0 ? void 0 : _m.common) === null || _o === void 0 ? void 0 : _o.extraPlugin,
|
|
68
|
+
(_q = (_p = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _p === void 0 ? void 0 : _p.client) === null || _q === void 0 ? void 0 : _q.extraPlugin,
|
|
64
69
|
styleImport(styleImportConfig)
|
|
65
70
|
],
|
|
66
71
|
build: {
|
|
@@ -74,7 +79,7 @@ const clientConfig = {
|
|
|
74
79
|
},
|
|
75
80
|
define: {
|
|
76
81
|
__isBrowser__: true,
|
|
77
|
-
...(
|
|
82
|
+
...(_s = (_r = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _r === void 0 ? void 0 : _r.client) === null || _s === void 0 ? void 0 : _s.define,
|
|
78
83
|
...define === null || define === void 0 ? void 0 : define.client,
|
|
79
84
|
...define === null || define === void 0 ? void 0 : define.base
|
|
80
85
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ssr-plugin-react",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.50",
|
|
4
4
|
"description": "plugin-react for ssr",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
"postcss-safe-parser": "4.0.1",
|
|
56
56
|
"react-dev-utils": "^11.0.4",
|
|
57
57
|
"serialize-javascript": "^6.0.0",
|
|
58
|
-
"ssr-client-utils": "^6.1.
|
|
59
|
-
"ssr-hoc-react": "^6.1.
|
|
60
|
-
"ssr-server-utils": "^6.1.
|
|
61
|
-
"ssr-webpack": "^6.1.
|
|
58
|
+
"ssr-client-utils": "^6.1.49",
|
|
59
|
+
"ssr-hoc-react": "^6.1.49",
|
|
60
|
+
"ssr-server-utils": "^6.1.49",
|
|
61
|
+
"ssr-webpack": "^6.1.49",
|
|
62
62
|
"terser-webpack-plugin": "^2.3.5",
|
|
63
63
|
"url-loader": "^4.1.1",
|
|
64
64
|
"vite": "^2.7.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"@types/react-router-dom": "^5.1.3",
|
|
75
75
|
"@types/webpack": "^4.41.10",
|
|
76
76
|
"concurrently": "^5.1.0",
|
|
77
|
-
"ssr-types-react": "^6.1.
|
|
77
|
+
"ssr-types-react": "^6.1.49"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "f23bec458a31c0cd392ae8baa0355b010682e674"
|
|
80
80
|
}
|
package/src/config/base.ts
CHANGED
|
@@ -10,6 +10,7 @@ const WebpackBar = require('webpackbar')
|
|
|
10
10
|
const loadModule = loadModuleFromFramework
|
|
11
11
|
|
|
12
12
|
const addBabelLoader = (chain: WebpackChain.Rule<WebpackChain.Module>, envOptions: any) => {
|
|
13
|
+
const { babelOptions } = loadConfig()
|
|
13
14
|
chain.use('babel-loader')
|
|
14
15
|
.loader(loadModule('babel-loader'))
|
|
15
16
|
.options({
|
|
@@ -21,7 +22,8 @@ const addBabelLoader = (chain: WebpackChain.Rule<WebpackChain.Module>, envOption
|
|
|
21
22
|
loadModule('@babel/preset-env'),
|
|
22
23
|
envOptions
|
|
23
24
|
],
|
|
24
|
-
[loadModule('babel-preset-react-app'), { flow: false, typescript: true }]
|
|
25
|
+
[loadModule('babel-preset-react-app'), { flow: false, typescript: true }],
|
|
26
|
+
...babelOptions?.presets ?? []
|
|
25
27
|
],
|
|
26
28
|
plugins: [
|
|
27
29
|
[loadModule('@babel/plugin-transform-runtime'), {
|
|
@@ -38,7 +40,8 @@ const addBabelLoader = (chain: WebpackChain.Rule<WebpackChain.Module>, envOption
|
|
|
38
40
|
}, 'antd'
|
|
39
41
|
],
|
|
40
42
|
[loadModule('@babel/plugin-proposal-private-methods'), { loose: true }],
|
|
41
|
-
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }]
|
|
43
|
+
[loadModule('@babel/plugin-proposal-private-property-in-object'), { loose: true }],
|
|
44
|
+
...babelOptions?.plugins ?? []
|
|
42
45
|
]
|
|
43
46
|
})
|
|
44
47
|
.end()
|
|
@@ -90,9 +93,9 @@ const getBaseConfig = (chain: WebpackChain, isServer: boolean) => {
|
|
|
90
93
|
|
|
91
94
|
let babelForExtraModule
|
|
92
95
|
if (babelExtraModule) {
|
|
93
|
-
babelForExtraModule = module.add(babelExtraModule).end()
|
|
96
|
+
babelForExtraModule = module.add(babelExtraModule).end().exclude.add(/core-js/).end()
|
|
94
97
|
} else {
|
|
95
|
-
babelForExtraModule = module.end()
|
|
98
|
+
babelForExtraModule = module.end().exclude.add(/core-js/).end()
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
addBabelLoader(babelModule, envOptions)
|
package/src/config/client.ts
CHANGED
|
@@ -9,7 +9,7 @@ const safePostCssParser = require('postcss-safe-parser')
|
|
|
9
9
|
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
|
|
10
10
|
const generateAnalysis = Boolean(process.env.GENERATE_ANALYSIS)
|
|
11
11
|
const loadModule = loadModuleFromFramework
|
|
12
|
-
let asyncChunkMap: Record<string, string> = {}
|
|
12
|
+
let asyncChunkMap: Record<string, string[]> = {}
|
|
13
13
|
|
|
14
14
|
const getClientWebpack = (chain: WebpackChain) => {
|
|
15
15
|
const { isDev, chunkName, getOutput, cwd, useHash, chainClientConfig } = loadConfig()
|
package/src/tools/vite.ts
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { build, UserConfig } from 'vite'
|
|
2
2
|
import { loadConfig, chunkNamePlugin, rollupOutputOptions, manifestPlugin, commonConfig, asyncOptimizeChunkPlugin } from 'ssr-server-utils'
|
|
3
3
|
import react from '@vitejs/plugin-react'
|
|
4
|
-
import styleImport, {
|
|
5
|
-
AndDesignVueResolve,
|
|
6
|
-
VantResolve,
|
|
7
|
-
ElementPlusResolve,
|
|
8
|
-
NutuiResolve,
|
|
9
|
-
AntdResolve
|
|
10
|
-
} from 'vite-plugin-style-import'
|
|
4
|
+
import styleImport, { AndDesignVueResolve, VantResolve, ElementPlusResolve, NutuiResolve, AntdResolve } from 'vite-plugin-style-import'
|
|
11
5
|
|
|
12
|
-
const
|
|
13
|
-
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define } = loadConfig()
|
|
6
|
+
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define, babelOptions } = loadConfig()
|
|
14
7
|
|
|
15
8
|
const { clientOutPut, serverOutPut } = getOutput()
|
|
16
9
|
const styleImportConfig = {
|
|
@@ -29,10 +22,14 @@ const serverConfig: UserConfig = {
|
|
|
29
22
|
react({
|
|
30
23
|
...viteConfig?.()?.server?.defaultPluginOptions,
|
|
31
24
|
jsxRuntime: 'classic',
|
|
32
|
-
babel:
|
|
25
|
+
babel: {
|
|
26
|
+
...babelOptions,
|
|
33
27
|
plugins: [
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
...babelOptions?.plugins ?? [],
|
|
29
|
+
...!supportOptinalChaining ? [
|
|
30
|
+
'@babel/plugin-proposal-optional-chaining',
|
|
31
|
+
'@babel/plugin-proposal-nullish-coalescing-operator'
|
|
32
|
+
] : []
|
|
36
33
|
]
|
|
37
34
|
}
|
|
38
35
|
}),
|
|
@@ -66,7 +63,8 @@ const clientConfig: UserConfig = {
|
|
|
66
63
|
plugins: [
|
|
67
64
|
react({
|
|
68
65
|
...viteConfig?.()?.client?.defaultPluginOptions,
|
|
69
|
-
jsxRuntime: 'classic'
|
|
66
|
+
jsxRuntime: 'classic',
|
|
67
|
+
...babelOptions
|
|
70
68
|
}),
|
|
71
69
|
viteConfig?.()?.common?.extraPlugin,
|
|
72
70
|
viteConfig?.()?.client?.extraPlugin,
|