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 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"></a>
17
- <a href="https://www.cypress.io/" target="_blank"><img src="https://img.shields.io/badge/cypress-dashboard-brightgreen.svg" alt="cypress"></a>
18
- <a href="https://npmcharts.com/compare/ssr" target="_blank"><img src="https://img.shields.io/npm/dm/ssr" alt="download"></a>
19
- <a href="https://standardjs.com" target="_blank"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="standardjs"></a>
20
- <a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/npm/l/vue.svg" alt="License"></a>
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/7SpflSUP3RJ5InL7FkN0-9JeTj18T_lvqJXXHLNNpY_owTyqtgVH8qMqjk4w7S6YeDWZmUP-N_4vLLAUCdySTA" width="300">
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
  [![Stargazers over time](https://starchart.cc/zhangyuang/ssr.svg)](https://starchart.cc/zhangyuang/ssr)
285
+
286
+ ## 代码行数
287
+
288
+ ![](https://res.wx.qq.com/op_res/sE2C4qCTn9IN1dyiw4MMTEU9dW40eFXbfWe6-o31-kWEJN0ddQKR41_ZbAwAE01oW5yQj4zV3UJ_rVbX0D99Mw)
@@ -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);
@@ -1,4 +1,4 @@
1
- import type { UserConfig } from 'vite';
1
+ import { UserConfig } from 'vite';
2
2
  declare const serverConfig: UserConfig;
3
3
  declare const clientConfig: UserConfig;
4
4
  declare const viteStart: () => Promise<void>;
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 build = require('vite').build;
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: !supportOptinalChaining && {
27
+ babel: {
28
+ ...babelOptions,
28
29
  plugins: [
29
- '@babel/plugin-proposal-optional-chaining',
30
- '@babel/plugin-proposal-nullish-coalescing-operator'
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
- (_d = (_c = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _c === void 0 ? void 0 : _c.common) === null || _d === void 0 ? void 0 : _d.extraPlugin,
35
- (_f = (_e = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _e === void 0 ? void 0 : _e.server) === null || _f === void 0 ? void 0 : _f.extraPlugin,
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
- ...(_h = (_g = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _g === void 0 ? void 0 : _g.server) === null || _h === void 0 ? void 0 : _h.define,
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
- ...(_k = (_j = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _j === void 0 ? void 0 : _j.client) === null || _k === void 0 ? void 0 : _k.defaultPluginOptions,
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
- (_m = (_l = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _l === void 0 ? void 0 : _l.common) === null || _m === void 0 ? void 0 : _m.extraPlugin,
67
- (_p = (_o = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _o === void 0 ? void 0 : _o.client) === null || _p === void 0 ? void 0 : _p.extraPlugin,
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
- ...(_r = (_q = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _q === void 0 ? void 0 : _q.client) === null || _r === void 0 ? void 0 : _r.define,
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;
@@ -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);
@@ -1,4 +1,4 @@
1
- import type { UserConfig } from 'vite';
1
+ import { UserConfig } from 'vite';
2
2
  declare const serverConfig: UserConfig;
3
3
  declare const clientConfig: UserConfig;
4
4
  declare const viteStart: () => Promise<void>;
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 build = require('vite').build;
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: !supportOptinalChaining && {
24
+ babel: {
25
+ ...babelOptions,
25
26
  plugins: [
26
- '@babel/plugin-proposal-optional-chaining',
27
- '@babel/plugin-proposal-nullish-coalescing-operator'
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
- (_d = (_c = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _c === void 0 ? void 0 : _c.common) === null || _d === void 0 ? void 0 : _d.extraPlugin,
32
- (_f = (_e = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _e === void 0 ? void 0 : _e.server) === null || _f === void 0 ? void 0 : _f.extraPlugin,
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
- ...(_h = (_g = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _g === void 0 ? void 0 : _g.server) === null || _h === void 0 ? void 0 : _h.define,
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
- ...(_k = (_j = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _j === void 0 ? void 0 : _j.client) === null || _k === void 0 ? void 0 : _k.defaultPluginOptions,
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
- (_m = (_l = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _l === void 0 ? void 0 : _l.common) === null || _m === void 0 ? void 0 : _m.extraPlugin,
63
- (_p = (_o = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _o === void 0 ? void 0 : _o.client) === null || _p === void 0 ? void 0 : _p.extraPlugin,
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
- ...(_r = (_q = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _q === void 0 ? void 0 : _q.client) === null || _r === void 0 ? void 0 : _r.define,
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.46",
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.46",
59
- "ssr-hoc-react": "^6.1.46",
60
- "ssr-server-utils": "^6.1.46",
61
- "ssr-webpack": "^6.1.46",
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.46"
77
+ "ssr-types-react": "^6.1.49"
78
78
  },
79
- "gitHead": "f79b4f0962989f1bf8eeddf0e05f79708e97fbf8"
79
+ "gitHead": "f23bec458a31c0cd392ae8baa0355b010682e674"
80
80
  }
@@ -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)
@@ -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 type { build as BuildType, UserConfig } from 'vite'
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 build: typeof BuildType = require('vite').build
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: !supportOptinalChaining && {
25
+ babel: {
26
+ ...babelOptions,
33
27
  plugins: [
34
- '@babel/plugin-proposal-optional-chaining',
35
- '@babel/plugin-proposal-nullish-coalescing-operator'
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,