@module-federation/rsbuild-plugin 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -7,88 +7,8 @@ var utils = require('./utils.cjs.js');
7
7
  require('util');
8
8
 
9
9
  var name = "@module-federation/rsbuild-plugin";
10
- var version = "0.13.0";
11
- var description = "Module Federation plugin for Rsbuild";
12
- var homepage = "https://module-federation.io";
13
- var bugs = {
14
- url: "https://github.com/module-federation/core/issues"
15
- };
16
- var repository = {
17
- type: "git",
18
- url: "https://github.com/module-federation/core",
19
- directory: "packages/rsbuild-plugin"
20
- };
21
- var license = "MIT";
22
- var exports$1 = {
23
- ".": {
24
- types: "./dist/index.cjs.d.ts",
25
- "import": "./dist/index.esm.js",
26
- require: "./dist/index.cjs.js"
27
- },
28
- "./utils": {
29
- types: "./dist/utils.cjs.d.ts",
30
- "import": "./dist/utils.esm.js",
31
- require: "./dist/utils.cjs.js"
32
- }
33
- };
34
- var main = "./dist/index.cjs.js";
35
- var module$1 = "./dist/index.esm.js";
36
- var typesVersions = {
37
- "*": {
38
- ".": [
39
- "./dist/index.cjs.d.ts"
40
- ],
41
- utils: [
42
- "./dist/utils.cjs.d.ts"
43
- ]
44
- }
45
- };
46
- var files = [
47
- "dist"
48
- ];
49
- var dependencies = {
50
- "@module-federation/sdk": "workspace:*",
51
- "@module-federation/enhanced": "workspace:*"
52
- };
53
- var devDependencies = {
54
- "@rsbuild/core": "^1.0.19"
55
- };
56
- var peerDependencies = {
57
- "@rsbuild/core": "1.x"
58
- };
59
- var peerDependenciesMeta = {
60
- "@rsbuild/core": {
61
- optional: true
62
- }
63
- };
64
- var engines = {
65
- node: ">=16.0.0"
66
- };
67
- var publishConfig = {
68
- access: "public",
69
- provenance: true,
70
- registry: "https://registry.npmjs.org/"
71
- };
72
10
  var pkgJson = {
73
- name: name,
74
- version: version,
75
- description: description,
76
- homepage: homepage,
77
- bugs: bugs,
78
- repository: repository,
79
- license: license,
80
- exports: exports$1,
81
- main: main,
82
- module: module$1,
83
- typesVersions: typesVersions,
84
- files: files,
85
- dependencies: dependencies,
86
- devDependencies: devDependencies,
87
- peerDependencies: peerDependencies,
88
- peerDependenciesMeta: peerDependenciesMeta,
89
- engines: engines,
90
- publishConfig: publishConfig
91
- };
11
+ name: name};
92
12
 
93
13
  var logger = sdk.createLogger('[ Module Federation Rsbuild Plugin ]');
94
14
 
@@ -255,21 +175,22 @@ var pluginModuleFederation = function(moduleFederationOptions) {
255
175
  }
256
176
  // Change some default configs for remote modules
257
177
  if (moduleFederationOptions.exposes) {
258
- var _config_server, _config_dev_client, _originalConfig_dev, _config_server1;
178
+ var _userConfig_server, _config_server, _config_dev_client, _originalConfig_dev, _config_server1;
259
179
  var _config, _config1, // Allow remote modules to be loaded by setting CORS headers
260
180
  // This is required for MF to work properly across different origins
261
- _config_server2, _config_server_headers, _AccessControlAllowOrigin;
181
+ _config_server2;
262
182
  (_config = config).dev || (_config.dev = {});
263
183
  (_config1 = config).server || (_config1.server = {});
184
+ var userConfig = api.getRsbuildConfig('original');
264
185
  (_config_server2 = config.server).headers || (_config_server2.headers = {});
265
- if (!config.server.headers['Access-Control-Allow-Origin']) {
186
+ if (!config.server.headers['Access-Control-Allow-Origin'] && !(_type_of((_userConfig_server = userConfig.server) === null || _userConfig_server === void 0 ? void 0 : _userConfig_server.cors) === 'object' && userConfig.server.cors.origin)) {
266
187
  var corsWarnMsgs = [
267
- 'Detect devServer.headers is empty, mf modern plugin will add default cors header: devServer.headers["Access-Control-Allow-Headers"] = "*". It is recommended to specify an allowlist of trusted origins instead.',
188
+ 'Detect that CORS options are not set, mf Rsbuild plugin will add default cors header: server.headers["Access-Control-Allow-Headers"] = "*". It is recommended to specify an allowlist of trusted origins in "server.cors" instead.',
268
189
  'View https://module-federation.io/guide/troubleshooting/other.html#cors-warn for more details.'
269
190
  ];
270
191
  logger.warn(corsWarnMsgs.join('\n'));
192
+ config.server.headers['Access-Control-Allow-Origin'] = '*';
271
193
  }
272
- (_config_server_headers = config.server.headers)[_AccessControlAllowOrigin = 'Access-Control-Allow-Origin'] || (_config_server_headers[_AccessControlAllowOrigin] = '*');
273
194
  // For remote modules, Rsbuild should send the ws request to the provider's dev server.
274
195
  // This allows the provider to do HMR when the provider module is loaded in the consumer's page.
275
196
  if (((_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.port) && !((_config_dev_client = config.dev.client) === null || _config_dev_client === void 0 ? void 0 : _config_dev_client.port)) {
package/dist/index.esm.js CHANGED
@@ -7,88 +7,8 @@ import { autoDeleteSplitChunkCacheGroups, isRegExp } from './utils.esm.js';
7
7
  import 'util';
8
8
 
9
9
  var name = "@module-federation/rsbuild-plugin";
10
- var version = "0.13.0";
11
- var description = "Module Federation plugin for Rsbuild";
12
- var homepage = "https://module-federation.io";
13
- var bugs = {
14
- url: "https://github.com/module-federation/core/issues"
15
- };
16
- var repository = {
17
- type: "git",
18
- url: "https://github.com/module-federation/core",
19
- directory: "packages/rsbuild-plugin"
20
- };
21
- var license = "MIT";
22
- var exports = {
23
- ".": {
24
- types: "./dist/index.cjs.d.ts",
25
- "import": "./dist/index.esm.js",
26
- require: "./dist/index.cjs.js"
27
- },
28
- "./utils": {
29
- types: "./dist/utils.cjs.d.ts",
30
- "import": "./dist/utils.esm.js",
31
- require: "./dist/utils.cjs.js"
32
- }
33
- };
34
- var main = "./dist/index.cjs.js";
35
- var module = "./dist/index.esm.js";
36
- var typesVersions = {
37
- "*": {
38
- ".": [
39
- "./dist/index.cjs.d.ts"
40
- ],
41
- utils: [
42
- "./dist/utils.cjs.d.ts"
43
- ]
44
- }
45
- };
46
- var files = [
47
- "dist"
48
- ];
49
- var dependencies = {
50
- "@module-federation/sdk": "workspace:*",
51
- "@module-federation/enhanced": "workspace:*"
52
- };
53
- var devDependencies = {
54
- "@rsbuild/core": "^1.0.19"
55
- };
56
- var peerDependencies = {
57
- "@rsbuild/core": "1.x"
58
- };
59
- var peerDependenciesMeta = {
60
- "@rsbuild/core": {
61
- optional: true
62
- }
63
- };
64
- var engines = {
65
- node: ">=16.0.0"
66
- };
67
- var publishConfig = {
68
- access: "public",
69
- provenance: true,
70
- registry: "https://registry.npmjs.org/"
71
- };
72
10
  var pkgJson = {
73
- name: name,
74
- version: version,
75
- description: description,
76
- homepage: homepage,
77
- bugs: bugs,
78
- repository: repository,
79
- license: license,
80
- exports: exports,
81
- main: main,
82
- module: module,
83
- typesVersions: typesVersions,
84
- files: files,
85
- dependencies: dependencies,
86
- devDependencies: devDependencies,
87
- peerDependencies: peerDependencies,
88
- peerDependenciesMeta: peerDependenciesMeta,
89
- engines: engines,
90
- publishConfig: publishConfig
91
- };
11
+ name: name};
92
12
 
93
13
  var logger = createLogger('[ Module Federation Rsbuild Plugin ]');
94
14
 
@@ -255,21 +175,22 @@ var pluginModuleFederation = function(moduleFederationOptions) {
255
175
  }
256
176
  // Change some default configs for remote modules
257
177
  if (moduleFederationOptions.exposes) {
258
- var _config_server, _config_dev_client, _originalConfig_dev, _config_server1;
178
+ var _userConfig_server, _config_server, _config_dev_client, _originalConfig_dev, _config_server1;
259
179
  var _config, _config1, // Allow remote modules to be loaded by setting CORS headers
260
180
  // This is required for MF to work properly across different origins
261
- _config_server2, _config_server_headers, _AccessControlAllowOrigin;
181
+ _config_server2;
262
182
  (_config = config).dev || (_config.dev = {});
263
183
  (_config1 = config).server || (_config1.server = {});
184
+ var userConfig = api.getRsbuildConfig('original');
264
185
  (_config_server2 = config.server).headers || (_config_server2.headers = {});
265
- if (!config.server.headers['Access-Control-Allow-Origin']) {
186
+ if (!config.server.headers['Access-Control-Allow-Origin'] && !(_type_of((_userConfig_server = userConfig.server) === null || _userConfig_server === void 0 ? void 0 : _userConfig_server.cors) === 'object' && userConfig.server.cors.origin)) {
266
187
  var corsWarnMsgs = [
267
- 'Detect devServer.headers is empty, mf modern plugin will add default cors header: devServer.headers["Access-Control-Allow-Headers"] = "*". It is recommended to specify an allowlist of trusted origins instead.',
188
+ 'Detect that CORS options are not set, mf Rsbuild plugin will add default cors header: server.headers["Access-Control-Allow-Headers"] = "*". It is recommended to specify an allowlist of trusted origins in "server.cors" instead.',
268
189
  'View https://module-federation.io/guide/troubleshooting/other.html#cors-warn for more details.'
269
190
  ];
270
191
  logger.warn(corsWarnMsgs.join('\n'));
192
+ config.server.headers['Access-Control-Allow-Origin'] = '*';
271
193
  }
272
- (_config_server_headers = config.server.headers)[_AccessControlAllowOrigin = 'Access-Control-Allow-Origin'] || (_config_server_headers[_AccessControlAllowOrigin] = '*');
273
194
  // For remote modules, Rsbuild should send the ws request to the provider's dev server.
274
195
  // This allows the provider to do HMR when the provider module is loaded in the consumer's page.
275
196
  if (((_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.port) && !((_config_dev_client = config.dev.client) === null || _config_dev_client === void 0 ? void 0 : _config_dev_client.port)) {
@@ -2,48 +2,5 @@ import type { moduleFederationPlugin } from '@module-federation/sdk';
2
2
  import type { Rspack } from '@rsbuild/core';
3
3
  type OptimizationConfig = Rspack.Configuration['optimization'];
4
4
  type SplitChunksConfig = NonNullable<OptimizationConfig>['splitChunks'];
5
- export declare function autoDeleteSplitChunkCacheGroups(mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions, splitChunks: SplitChunksConfig): {
6
- name?: string | false | ((args_0: Rspack.Module | undefined, ...args: unknown[]) => unknown) | undefined;
7
- chunks?: RegExp | "all" | "initial" | "async" | ((args_0: Rspack.Chunk, ...args: unknown[]) => boolean) | undefined;
8
- usedExports?: boolean | undefined;
9
- maxSize?: number | Record<string, number> | undefined;
10
- defaultSizeTypes?: string[] | undefined;
11
- minChunks?: number | undefined;
12
- minSize?: number | Record<string, number> | undefined;
13
- maxAsyncSize?: number | Record<string, number> | undefined;
14
- maxInitialSize?: number | Record<string, number> | undefined;
15
- maxAsyncRequests?: number | undefined;
16
- maxInitialRequests?: number | undefined;
17
- automaticNameDelimiter?: string | undefined;
18
- cacheGroups?: Record<string, false | {
19
- type?: string | RegExp | undefined;
20
- filename?: string | undefined;
21
- name?: string | false | ((args_0: Rspack.Module | undefined, ...args: unknown[]) => unknown) | undefined;
22
- priority?: number | undefined;
23
- chunks?: RegExp | "all" | "initial" | "async" | ((args_0: Rspack.Chunk, ...args: unknown[]) => boolean) | undefined;
24
- usedExports?: boolean | undefined;
25
- test?: string | RegExp | ((args_0: Rspack.Module, ...args: unknown[]) => unknown) | undefined;
26
- enforce?: boolean | undefined;
27
- maxSize?: number | Record<string, number> | undefined;
28
- reuseExistingChunk?: boolean | undefined;
29
- idHint?: string | undefined;
30
- defaultSizeTypes?: string[] | undefined;
31
- minChunks?: number | undefined;
32
- minSize?: number | Record<string, number> | undefined;
33
- maxAsyncSize?: number | Record<string, number> | undefined;
34
- maxInitialSize?: number | Record<string, number> | undefined;
35
- maxAsyncRequests?: number | undefined;
36
- maxInitialRequests?: number | undefined;
37
- automaticNameDelimiter?: string | undefined;
38
- }> | undefined;
39
- fallbackCacheGroup?: {
40
- chunks?: RegExp | "all" | "initial" | "async" | ((args_0: Rspack.Chunk, ...args: unknown[]) => boolean) | undefined;
41
- maxSize?: number | undefined;
42
- minSize?: number | undefined;
43
- maxAsyncSize?: number | undefined;
44
- maxInitialSize?: number | undefined;
45
- automaticNameDelimiter?: string | undefined;
46
- } | undefined;
47
- hidePathInfo?: boolean | undefined;
48
- } | undefined;
5
+ export declare function autoDeleteSplitChunkCacheGroups(mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions, splitChunks: SplitChunksConfig): Rspack.OptimizationSplitChunksOptions | undefined;
49
6
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/rsbuild-plugin",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Module Federation plugin for Rsbuild",
5
5
  "homepage": "https://module-federation.io",
6
6
  "bugs": {
@@ -40,11 +40,11 @@
40
40
  "dist"
41
41
  ],
42
42
  "dependencies": {
43
- "@module-federation/sdk": "0.13.0",
44
- "@module-federation/enhanced": "0.13.0"
43
+ "@module-federation/sdk": "0.14.0",
44
+ "@module-federation/enhanced": "0.14.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@rsbuild/core": "^1.0.19"
47
+ "@rsbuild/core": "^1.3.17"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@rsbuild/core": "1.x"