@rsbuild/plugin-react 1.0.5 → 1.0.7
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/dist/index.cjs +15 -23
- package/dist/index.js +14 -22
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -22,7 +22,7 @@ function __webpack_require__(moduleId) {
|
|
|
22
22
|
}
|
|
23
23
|
/************************************************************************/ // webpack/runtime/compat_get_default_export
|
|
24
24
|
(()=>{
|
|
25
|
-
// getDefaultExport function for compatibility with non-
|
|
25
|
+
// getDefaultExport function for compatibility with non-ESM modules
|
|
26
26
|
__webpack_require__.n = function(module1) {
|
|
27
27
|
var getter = module1 && module1.__esModule ? function() {
|
|
28
28
|
return module1['default'];
|
|
@@ -120,8 +120,7 @@ const react_require = (0, external_node_module_namespaceObject.createRequire)(/*
|
|
|
120
120
|
}());
|
|
121
121
|
const applyBasicReactSupport = (api, options)=>{
|
|
122
122
|
const REACT_REFRESH_PATH = options.fastRefresh ? react_require.resolve('react-refresh') : '';
|
|
123
|
-
api.modifyEnvironmentConfig((config,
|
|
124
|
-
let { mergeEnvironmentConfig } = param;
|
|
123
|
+
api.modifyEnvironmentConfig((config, { mergeEnvironmentConfig })=>{
|
|
125
124
|
const isDev = 'development' === config.mode;
|
|
126
125
|
const usingHMR = isDev && config.dev.hmr && 'web' === config.output.target;
|
|
127
126
|
const reactOptions = {
|
|
@@ -148,8 +147,7 @@ const applyBasicReactSupport = (api, options)=>{
|
|
|
148
147
|
};
|
|
149
148
|
return mergeEnvironmentConfig(extraConfig, config);
|
|
150
149
|
});
|
|
151
|
-
api.modifyBundlerChain(async (chain,
|
|
152
|
-
let { CHAIN_ID, environment, isDev, target } = param;
|
|
150
|
+
api.modifyBundlerChain(async (chain, { CHAIN_ID, environment, isDev, target })=>{
|
|
153
151
|
const { config } = environment;
|
|
154
152
|
const usingHMR = isDev && config.dev.hmr && 'web' === target;
|
|
155
153
|
if (!usingHMR || !options.fastRefresh) return;
|
|
@@ -171,8 +169,7 @@ const applyBasicReactSupport = (api, options)=>{
|
|
|
171
169
|
});
|
|
172
170
|
};
|
|
173
171
|
const applyReactProfiler = (api)=>{
|
|
174
|
-
api.modifyEnvironmentConfig((config,
|
|
175
|
-
let { mergeEnvironmentConfig } = param;
|
|
172
|
+
api.modifyEnvironmentConfig((config, { mergeEnvironmentConfig })=>{
|
|
176
173
|
if ('production' !== config.mode) return;
|
|
177
174
|
const enableProfilerConfig = {
|
|
178
175
|
output: {
|
|
@@ -191,8 +188,7 @@ const applyReactProfiler = (api)=>{
|
|
|
191
188
|
};
|
|
192
189
|
return mergeEnvironmentConfig(config, enableProfilerConfig);
|
|
193
190
|
});
|
|
194
|
-
api.modifyBundlerChain((chain,
|
|
195
|
-
let { isProd } = param;
|
|
191
|
+
api.modifyBundlerChain((chain, { isProd })=>{
|
|
196
192
|
if (!isProd) return;
|
|
197
193
|
// Replace react-dom with the profiling version.
|
|
198
194
|
// Reference: https://gist.github.com/bvaughn/25e6233aeb1b4f0cdb8d8366e54a3977
|
|
@@ -201,13 +197,11 @@ const applyReactProfiler = (api)=>{
|
|
|
201
197
|
});
|
|
202
198
|
};
|
|
203
199
|
const isPlainObject = (obj)=>null !== obj && 'object' == typeof obj && '[object Object]' === Object.prototype.toString.call(obj);
|
|
204
|
-
const applySplitChunksRule =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
api.modifyBundlerChain((chain, param)=>{
|
|
210
|
-
let { environment, isProd } = param;
|
|
200
|
+
const applySplitChunksRule = (api, options = {
|
|
201
|
+
react: true,
|
|
202
|
+
router: true
|
|
203
|
+
})=>{
|
|
204
|
+
api.modifyBundlerChain((chain, { environment, isProd })=>{
|
|
211
205
|
const { config } = environment;
|
|
212
206
|
if ('split-by-experience' !== config.performance.chunkSplit.strategy) return;
|
|
213
207
|
const currentConfig = chain.optimization.splitChunks.values();
|
|
@@ -227,16 +221,15 @@ const applySplitChunksRule = function(api) {
|
|
|
227
221
|
chain.optimization.splitChunks({
|
|
228
222
|
...currentConfig,
|
|
229
223
|
cacheGroups: {
|
|
230
|
-
|
|
231
|
-
...extraGroups
|
|
224
|
+
// user defined cache groups take precedence
|
|
225
|
+
...extraGroups,
|
|
226
|
+
...currentConfig.cacheGroups
|
|
232
227
|
}
|
|
233
228
|
});
|
|
234
229
|
});
|
|
235
230
|
};
|
|
236
231
|
const PLUGIN_REACT_NAME = 'rsbuild:react';
|
|
237
|
-
const pluginReact =
|
|
238
|
-
let options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
|
|
239
|
-
return {
|
|
232
|
+
const pluginReact = (options = {})=>({
|
|
240
233
|
name: PLUGIN_REACT_NAME,
|
|
241
234
|
setup (api) {
|
|
242
235
|
const defaultOptions = {
|
|
@@ -253,8 +246,7 @@ const pluginReact = function() {
|
|
|
253
246
|
}
|
|
254
247
|
applySplitChunksRule(api, null == finalOptions ? void 0 : finalOptions.splitChunks);
|
|
255
248
|
}
|
|
256
|
-
};
|
|
257
|
-
};
|
|
249
|
+
});
|
|
258
250
|
var __webpack_export_target__ = exports;
|
|
259
251
|
for(var i in __webpack_exports__)__webpack_export_target__[i] = __webpack_exports__[i];
|
|
260
252
|
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
|
package/dist/index.js
CHANGED
|
@@ -3,8 +3,7 @@ import * as __WEBPACK_EXTERNAL_MODULE_node_path__ from "node:path";
|
|
|
3
3
|
const react_require = (0, __WEBPACK_EXTERNAL_MODULE_node_module__.createRequire)(import.meta.url);
|
|
4
4
|
const applyBasicReactSupport = (api, options)=>{
|
|
5
5
|
const REACT_REFRESH_PATH = options.fastRefresh ? react_require.resolve('react-refresh') : '';
|
|
6
|
-
api.modifyEnvironmentConfig((config,
|
|
7
|
-
let { mergeEnvironmentConfig } = param;
|
|
6
|
+
api.modifyEnvironmentConfig((config, { mergeEnvironmentConfig })=>{
|
|
8
7
|
const isDev = 'development' === config.mode;
|
|
9
8
|
const usingHMR = isDev && config.dev.hmr && 'web' === config.output.target;
|
|
10
9
|
const reactOptions = {
|
|
@@ -31,8 +30,7 @@ const applyBasicReactSupport = (api, options)=>{
|
|
|
31
30
|
};
|
|
32
31
|
return mergeEnvironmentConfig(extraConfig, config);
|
|
33
32
|
});
|
|
34
|
-
api.modifyBundlerChain(async (chain,
|
|
35
|
-
let { CHAIN_ID, environment, isDev, target } = param;
|
|
33
|
+
api.modifyBundlerChain(async (chain, { CHAIN_ID, environment, isDev, target })=>{
|
|
36
34
|
const { config } = environment;
|
|
37
35
|
const usingHMR = isDev && config.dev.hmr && 'web' === target;
|
|
38
36
|
if (!usingHMR || !options.fastRefresh) return;
|
|
@@ -54,8 +52,7 @@ const applyBasicReactSupport = (api, options)=>{
|
|
|
54
52
|
});
|
|
55
53
|
};
|
|
56
54
|
const applyReactProfiler = (api)=>{
|
|
57
|
-
api.modifyEnvironmentConfig((config,
|
|
58
|
-
let { mergeEnvironmentConfig } = param;
|
|
55
|
+
api.modifyEnvironmentConfig((config, { mergeEnvironmentConfig })=>{
|
|
59
56
|
if ('production' !== config.mode) return;
|
|
60
57
|
const enableProfilerConfig = {
|
|
61
58
|
output: {
|
|
@@ -74,8 +71,7 @@ const applyReactProfiler = (api)=>{
|
|
|
74
71
|
};
|
|
75
72
|
return mergeEnvironmentConfig(config, enableProfilerConfig);
|
|
76
73
|
});
|
|
77
|
-
api.modifyBundlerChain((chain,
|
|
78
|
-
let { isProd } = param;
|
|
74
|
+
api.modifyBundlerChain((chain, { isProd })=>{
|
|
79
75
|
if (!isProd) return;
|
|
80
76
|
// Replace react-dom with the profiling version.
|
|
81
77
|
// Reference: https://gist.github.com/bvaughn/25e6233aeb1b4f0cdb8d8366e54a3977
|
|
@@ -84,13 +80,11 @@ const applyReactProfiler = (api)=>{
|
|
|
84
80
|
});
|
|
85
81
|
};
|
|
86
82
|
const isPlainObject = (obj)=>null !== obj && 'object' == typeof obj && '[object Object]' === Object.prototype.toString.call(obj);
|
|
87
|
-
const applySplitChunksRule =
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
api.modifyBundlerChain((chain, param)=>{
|
|
93
|
-
let { environment, isProd } = param;
|
|
83
|
+
const applySplitChunksRule = (api, options = {
|
|
84
|
+
react: true,
|
|
85
|
+
router: true
|
|
86
|
+
})=>{
|
|
87
|
+
api.modifyBundlerChain((chain, { environment, isProd })=>{
|
|
94
88
|
const { config } = environment;
|
|
95
89
|
if ('split-by-experience' !== config.performance.chunkSplit.strategy) return;
|
|
96
90
|
const currentConfig = chain.optimization.splitChunks.values();
|
|
@@ -110,16 +104,15 @@ const applySplitChunksRule = function(api) {
|
|
|
110
104
|
chain.optimization.splitChunks({
|
|
111
105
|
...currentConfig,
|
|
112
106
|
cacheGroups: {
|
|
113
|
-
|
|
114
|
-
...extraGroups
|
|
107
|
+
// user defined cache groups take precedence
|
|
108
|
+
...extraGroups,
|
|
109
|
+
...currentConfig.cacheGroups
|
|
115
110
|
}
|
|
116
111
|
});
|
|
117
112
|
});
|
|
118
113
|
};
|
|
119
114
|
const PLUGIN_REACT_NAME = 'rsbuild:react';
|
|
120
|
-
const pluginReact =
|
|
121
|
-
let options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
|
|
122
|
-
return {
|
|
115
|
+
const pluginReact = (options = {})=>({
|
|
123
116
|
name: PLUGIN_REACT_NAME,
|
|
124
117
|
setup (api) {
|
|
125
118
|
const defaultOptions = {
|
|
@@ -136,6 +129,5 @@ const pluginReact = function() {
|
|
|
136
129
|
}
|
|
137
130
|
applySplitChunksRule(api, null == finalOptions ? void 0 : finalOptions.splitChunks);
|
|
138
131
|
}
|
|
139
|
-
};
|
|
140
|
-
};
|
|
132
|
+
});
|
|
141
133
|
export { PLUGIN_REACT_NAME, pluginReact };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsbuild/plugin-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "React plugin for Rsbuild",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "18.x",
|
|
30
30
|
"typescript": "^5.6.3",
|
|
31
|
-
"@rsbuild/core": "1.0
|
|
31
|
+
"@rsbuild/core": "1.1.0",
|
|
32
32
|
"@scripts/test-helper": "1.0.1"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@rsbuild/core": "1.x
|
|
35
|
+
"@rsbuild/core": "1.x"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public",
|