@rspack-canary/core 1.7.0-canary-be5d0ef3-20251222175046 → 1.7.0-canary-dcc2f8c9-20251223064055

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.
@@ -2103,6 +2103,7 @@ export type Experiments = {
2103
2103
  outputModule?: boolean;
2104
2104
  /**
2105
2105
  * Enable top-level await.
2106
+ * @deprecated This option is deprecated, top-level await is enabled by default.
2106
2107
  * @default true
2107
2108
  */
2108
2109
  topLevelAwait?: boolean;
@@ -1,11 +1,13 @@
1
1
  import type { Compiler } from "../Compiler";
2
2
  import { type ModuleFederationManifestPluginOptions } from "./ModuleFederationManifestPlugin";
3
3
  import type { ModuleFederationPluginV1Options } from "./ModuleFederationPluginV1";
4
+ import { type ModuleFederationRuntimeExperimentsOptions } from "./ModuleFederationRuntimePlugin";
4
5
  export interface ModuleFederationPluginOptions extends Omit<ModuleFederationPluginV1Options, "enhanced"> {
5
6
  runtimePlugins?: RuntimePlugins;
6
7
  implementation?: string;
7
8
  shareStrategy?: "version-first" | "loaded-first";
8
9
  manifest?: boolean | Omit<ModuleFederationManifestPluginOptions, "remoteAliasMap" | "globalName" | "name" | "exposes" | "shared">;
10
+ experiments?: ModuleFederationRuntimeExperimentsOptions;
9
11
  }
10
12
  export type RuntimePlugins = string[] | [string, Record<string, unknown>][];
11
13
  export declare class ModuleFederationPlugin {
@@ -1,5 +1,9 @@
1
+ export interface ModuleFederationRuntimeExperimentsOptions {
2
+ asyncStartup?: boolean;
3
+ }
1
4
  export interface ModuleFederationRuntimeOptions {
2
5
  entryRuntime?: string;
6
+ experiments?: ModuleFederationRuntimeExperimentsOptions;
3
7
  }
4
8
  export declare const ModuleFederationRuntimePlugin: {
5
9
  new (options?: ModuleFederationRuntimeOptions | undefined): {
package/dist/index.js CHANGED
@@ -2335,9 +2335,13 @@ Plugins which provide custom chunk loading types must call EnableChunkLoadingPlu
2335
2335
  return o.path + o.query + o.fragment;
2336
2336
  }
2337
2337
  let unsupported = (name, issue)=>{
2338
- let s = `${name} is not supported by rspack.`;
2339
- throw issue && (s += ` Please refer to issue ${issue} for more information.`), Error(s);
2340
- }, WINDOWS_ABS_PATH_REGEXP = /^[a-zA-Z]:[\\/]/, SEGMENTS_SPLIT_REGEXP = /([|!])/, WINDOWS_PATH_SEPARATOR_REGEXP = /\\/g, relativePathToRequest = (relativePath)=>"" === relativePath ? "./." : ".." === relativePath ? "../." : relativePath.startsWith("../") ? relativePath : `./${relativePath}`, absoluteToRequest = (context, maybeAbsolutePath)=>{
2338
+ let s = `${name} is not supported by Rspack.`;
2339
+ throw issue && (s += ` Refer to issue ${issue} for more information.`), Error(s);
2340
+ }, warnedMessages = new Set();
2341
+ function deprecate(message) {
2342
+ warnedMessages.has(message) || (warnedMessages.add(message), console.warn(`[Rspack Deprecation] ${message}`));
2343
+ }
2344
+ let WINDOWS_ABS_PATH_REGEXP = /^[a-zA-Z]:[\\/]/, SEGMENTS_SPLIT_REGEXP = /([|!])/, WINDOWS_PATH_SEPARATOR_REGEXP = /\\/g, relativePathToRequest = (relativePath)=>"" === relativePath ? "./." : ".." === relativePath ? "../." : relativePath.startsWith("../") ? relativePath : `./${relativePath}`, absoluteToRequest = (context, maybeAbsolutePath)=>{
2341
2345
  if ("/" === maybeAbsolutePath[0]) {
2342
2346
  if (maybeAbsolutePath.length > 1 && "/" === maybeAbsolutePath[maybeAbsolutePath.length - 1]) return maybeAbsolutePath;
2343
2347
  let querySplitPos = maybeAbsolutePath.indexOf("?"), resource = -1 === querySplitPos ? maybeAbsolutePath : maybeAbsolutePath.slice(0, querySplitPos);
@@ -4462,9 +4466,9 @@ Plugins which provide custom chunk loading types must call EnableChunkLoadingPlu
4462
4466
  "function" == typeof next && next();
4463
4467
  }, DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN = "The `experiments.lazyCompilation` option is deprecated, please use the configuration top level `lazyCompilation` instead.", REPEAT_LAZY_COMPILATION_OPTIONS_WARN = "Both top-level `lazyCompilation` and `experiments.lazyCompilation` options are set. The top-level `lazyCompilation` configuration will take precedence.", lazyCompilationMiddleware = (compiler)=>{
4464
4468
  if (compiler instanceof MultiCompiler) {
4465
- let middlewareByCompiler = new Map(), i = 0, isReportDeprecatedWarned = !1, isReportRepeatWarned = !1;
4469
+ let middlewareByCompiler = new Map(), i = 0;
4466
4470
  for (let c of compiler.compilers){
4467
- if (c.options.experiments.lazyCompilation && (c.name ? console.warn(`The 'experiments.lazyCompilation' option in compiler named '${c.name}' is deprecated, please use the Configuration top level 'lazyCompilation' instead.`) : isReportDeprecatedWarned || (console.warn(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN), isReportDeprecatedWarned = !0)), c.options.lazyCompilation && c.options.experiments.lazyCompilation && (c.name ? console.warn(`The top-level 'lazyCompilation' option in compiler named '${c.name}' will override the 'experiments.lazyCompilation' option.`) : isReportRepeatWarned || (console.warn(REPEAT_LAZY_COMPILATION_OPTIONS_WARN), isReportRepeatWarned = !0)), !c.options.lazyCompilation && !c.options.experiments.lazyCompilation) continue;
4471
+ if (c.options.experiments.lazyCompilation && (c.name ? deprecate(`The 'experiments.lazyCompilation' option in compiler named '${c.name}' is deprecated, please use the Configuration top level 'lazyCompilation' instead.`) : deprecate(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN)), c.options.lazyCompilation && c.options.experiments.lazyCompilation && (c.name ? deprecate(`The top-level 'lazyCompilation' option in compiler named '${c.name}' will override the 'experiments.lazyCompilation' option.`) : deprecate(REPEAT_LAZY_COMPILATION_OPTIONS_WARN)), !c.options.lazyCompilation && !c.options.experiments.lazyCompilation) continue;
4468
4472
  let options = {
4469
4473
  ...c.options.experiments.lazyCompilation,
4470
4474
  ...c.options.lazyCompilation
@@ -4483,7 +4487,7 @@ Plugins which provide custom chunk loading types must call EnableChunkLoadingPlu
4483
4487
  return middleware?.(req, res, next);
4484
4488
  };
4485
4489
  }
4486
- if (compiler.options.experiments.lazyCompilation && (console.warn(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN), compiler.options.lazyCompilation && console.warn(REPEAT_LAZY_COMPILATION_OPTIONS_WARN)), !compiler.options.lazyCompilation && !compiler.options.experiments.lazyCompilation) return noop;
4490
+ if (compiler.options.experiments.lazyCompilation && (deprecate(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN), compiler.options.lazyCompilation && deprecate(REPEAT_LAZY_COMPILATION_OPTIONS_WARN)), !compiler.options.lazyCompilation && !compiler.options.experiments.lazyCompilation) return noop;
4487
4491
  let activeModules = new Set(), options = {
4488
4492
  ...compiler.options.experiments.lazyCompilation,
4489
4493
  ...compiler.options.lazyCompilation
@@ -5832,7 +5836,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
5832
5836
  }, applyExperimentsDefaults = (experiments, { development })=>{
5833
5837
  F(experiments, "cache", ()=>development), D(experiments, "futureDefaults", !1), D(experiments, "lazyCompilation", !1), D(experiments, "asyncWebAssembly", experiments.futureDefaults), D(experiments, "css", !!experiments.futureDefaults || void 0), D(experiments, "topLevelAwait", !0), D(experiments, "deferImport", !1), D(experiments, "buildHttp", void 0), experiments.buildHttp && "object" == typeof experiments.buildHttp && D(experiments.buildHttp, "upgrade", !1), D(experiments, "incremental", {}), "object" == typeof experiments.incremental && (D(experiments.incremental, "silent", !0), D(experiments.incremental, "make", !0), D(experiments.incremental, "inferAsyncModules", !0), D(experiments.incremental, "providedExports", !0), D(experiments.incremental, "dependenciesDiagnostics", !0), D(experiments.incremental, "sideEffects", !0), D(experiments.incremental, "buildChunkGraph", !1), D(experiments.incremental, "moduleIds", !0), D(experiments.incremental, "chunkIds", !0), D(experiments.incremental, "modulesHashes", !0), D(experiments.incremental, "modulesCodegen", !0), D(experiments.incremental, "modulesRuntimeRequirements", !0), D(experiments.incremental, "chunksRuntimeRequirements", !0), D(experiments.incremental, "chunksHashes", !0), D(experiments.incremental, "chunksRender", !0), D(experiments.incremental, "emitAssets", !0)), D(experiments, "rspackFuture", {}), D(experiments, "parallelLoader", !1), D(experiments, "useInputFileSystem", !1), D(experiments, "inlineConst", !0), D(experiments, "inlineEnum", !1), D(experiments, "typeReexportsPresence", !1), D(experiments, "lazyBarrel", !0);
5834
5838
  }, applybundlerInfoDefaults = (rspackFuture, library)=>{
5835
- "object" == typeof rspackFuture && (D(rspackFuture, "bundlerInfo", {}), "object" == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, "version", "1.7.0-canary-be5d0ef3-20251222175046"), D(rspackFuture.bundlerInfo, "bundler", "rspack"), D(rspackFuture.bundlerInfo, "force", !library)));
5839
+ "object" == typeof rspackFuture && (D(rspackFuture, "bundlerInfo", {}), "object" == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, "version", "1.7.0-canary-dcc2f8c9-20251223064055"), D(rspackFuture.bundlerInfo, "bundler", "rspack"), D(rspackFuture.bundlerInfo, "force", !library)));
5836
5840
  }, applySnapshotDefaults = (_snapshot, _env)=>{}, applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProperties, mode, uniqueName, deferImport })=>{
5837
5841
  if (assertNotNill(module1.parser), assertNotNill(module1.generator), cache ? D(module1, "unsafeCache", /[\\/]node_modules[\\/]/) : D(module1, "unsafeCache", !1), F(module1.parser, "asset", ()=>({})), assertNotNill(module1.parser.asset), F(module1.parser.asset, "dataUrlCondition", ()=>({})), "object" == typeof module1.parser.asset.dataUrlCondition && D(module1.parser.asset.dataUrlCondition, "maxSize", 8096), F(module1.parser, "javascript", ()=>({})), assertNotNill(module1.parser.javascript), ((parserOptions, { deferImport })=>{
5838
5842
  D(parserOptions, "dynamicImportMode", "lazy"), D(parserOptions, "dynamicImportPrefetch", !1), D(parserOptions, "dynamicImportPreload", !1), D(parserOptions, "url", !0), D(parserOptions, "exprContextCritical", !0), D(parserOptions, "unknownContextCritical", !0), D(parserOptions, "wrappedContextCritical", !1), D(parserOptions, "wrappedContextRegExp", /.*/), D(parserOptions, "strictExportPresence", !1), D(parserOptions, "requireAsExpression", !0), D(parserOptions, "requireDynamic", !0), D(parserOptions, "requireResolve", !0), D(parserOptions, "commonjs", !0), D(parserOptions, "importDynamic", !0), D(parserOptions, "worker", [
@@ -6312,7 +6316,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
6312
6316
  main: {}
6313
6317
  } : "function" == typeof config.entry ? (fn = config.entry, ()=>Promise.resolve().then(fn).then(getNormalizedEntryStatic)) : getNormalizedEntryStatic(config.entry),
6314
6318
  output: nestedConfig(config.output, (output)=>{
6315
- "cssHeadDataCompression" in output && external_node_util_default().deprecate(()=>{}, "cssHeadDataCompression is not used now, see https://github.com/web-infra-dev/rspack/pull/8534, this option could be removed in the future")();
6319
+ "cssHeadDataCompression" in output && deprecate("cssHeadDataCompression is not used now, see https://github.com/web-infra-dev/rspack/pull/8534, this option could be removed in the future");
6316
6320
  let { library } = output, libraryBase = "object" == typeof library && library && !Array.isArray(library) && "type" in library ? library : library || output.libraryTarget ? {
6317
6321
  name: library
6318
6322
  } : void 0;
@@ -6451,7 +6455,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
6451
6455
  plugins: nestedArray(config.plugins, (p)=>[
6452
6456
  ...p
6453
6457
  ]),
6454
- experiments: nestedConfig(config.experiments, (experiments)=>(experiments.layers && external_node_util_default().deprecate(()=>{}, "`experiments.layers` config has been deprecated and will be removed in Rspack v2.0. Feature layers will be always enabled. Please remove this option from your Rspack configuration.")(), !1 === experiments.topLevelAwait && external_node_util_default().deprecate(()=>{}, "`experiments.topLevelAwait` config has been deprecated and will be removed in Rspack v2.0. Top-level await will be always enabled. Please remove this option from your Rspack configuration.")(), experiments.lazyBarrel && external_node_util_default().deprecate(()=>{}, "`experiments.lazyBarrel` config has been deprecated and will be removed in Rspack v2.0. Lazy barrel is already stable and enabled by default. Please remove this option from your Rspack configuration.")(), experiments.inlineConst && external_node_util_default().deprecate(()=>{}, "`experiments.inlineConst` config has been deprecated and will be removed in Rspack v2.0. Inline Const is already stable and enabled by default. Please remove this option from your Rspack configuration.")(), experiments.inlineEnum && external_node_util_default().deprecate(()=>{}, "`experiments.inlineEnum` config has been deprecated and will be removed in Rspack v2.0. Inline Enum is already stable. Please remove this option from your Rspack configuration.")(), experiments.typeReexportsPresence && external_node_util_default().deprecate(()=>{}, "`experiments.typeReexportsPresence` config has been deprecated and will be removed in Rspack v2.0. typeReexportsPresence is already stable. Please remove this option from your Rspack configuration.")(), {
6458
+ experiments: nestedConfig(config.experiments, (experiments)=>(experiments.layers && deprecate("`experiments.layers` config is deprecated and will be removed in Rspack v2.0. Feature layers will always be enabled. Remove this option from your Rspack configuration."), !1 === experiments.topLevelAwait && deprecate("`experiments.topLevelAwait` config is deprecated and will be removed in Rspack v2.0. Top-level await will always be enabled. Remove this option from your Rspack configuration."), experiments.lazyBarrel && deprecate("`experiments.lazyBarrel` config is deprecated and will be removed in Rspack v2.0. Lazy barrel is already stable and enabled by default. Remove this option from your Rspack configuration."), experiments.inlineConst && deprecate("`experiments.inlineConst` config is deprecated and will be removed in Rspack v2.0. Inline Const is already stable and enabled by default. Remove this option from your Rspack configuration."), experiments.inlineEnum && deprecate("`experiments.inlineEnum` config is deprecated and will be removed in Rspack v2.0. Inline Enum is already stable. Remove this option from your Rspack configuration."), experiments.typeReexportsPresence && deprecate("`experiments.typeReexportsPresence` config is deprecated and will be removed in Rspack v2.0. typeReexportsPresence is already stable. Remove this option from your Rspack configuration."), {
6455
6459
  ...experiments,
6456
6460
  cache: optionalNestedConfig(experiments.cache, (cache)=>{
6457
6461
  if ("boolean" == typeof cache || "memory" === cache.type) return cache;
@@ -7598,7 +7602,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
7598
7602
  });
7599
7603
  }
7600
7604
  }
7601
- let CORE_VERSION = "1.7.0-canary-be5d0ef3-20251222175046", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
7605
+ let CORE_VERSION = "1.7.0-canary-dcc2f8c9-20251223064055", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
7602
7606
 
7603
7607
  Help:
7604
7608
  Looks like you are using a custom binding (via environment variable 'RSPACK_BINDING=${process.env.RSPACK_BINDING}').
@@ -8907,7 +8911,7 @@ Help:
8907
8911
  obj.children = this.stats.map((stat, idx)=>{
8908
8912
  let obj = stat.toJson(childOptions.children[idx]), compilationName = stat.compilation.name;
8909
8913
  return obj.name = compilationName && makePathsRelative(childOptions.context, compilationName, stat.compilation.compiler.root), obj;
8910
- }), childOptions.version && (obj.rspackVersion = "1.7.0-canary-be5d0ef3-20251222175046", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(""));
8914
+ }), childOptions.version && (obj.rspackVersion = "1.7.0-canary-dcc2f8c9-20251223064055", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(""));
8911
8915
  let mapError = (j, obj)=>({
8912
8916
  ...obj,
8913
8917
  compilerPath: obj.compilerPath ? `${j.name}.${obj.compilerPath}` : j.name
@@ -9817,7 +9821,7 @@ Help:
9817
9821
  object.hash = context.getStatsCompilation(compilation).hash;
9818
9822
  },
9819
9823
  version: (object)=>{
9820
- object.version = "5.75.0", object.rspackVersion = "1.7.0-canary-be5d0ef3-20251222175046";
9824
+ object.version = "5.75.0", object.rspackVersion = "1.7.0-canary-dcc2f8c9-20251223064055";
9821
9825
  },
9822
9826
  env: (object, _compilation, _context, { _env })=>{
9823
9827
  object.env = _env;
@@ -12011,12 +12015,16 @@ Help:
12011
12015
  };
12012
12016
  }
12013
12017
  raw(compiler) {
12014
- let { remoteType, remotes } = this._options, remoteExternals = {};
12018
+ let { remoteType, remotes } = this._options, remoteExternals = {}, importExternals = {};
12015
12019
  for (let [key, config] of remotes){
12016
12020
  let i = 0;
12017
- for (let external of config.external)!external.startsWith("internal ") && (remoteExternals[`webpack/container/reference/${key}${i ? `/fallback-${i}` : ""}`] = external, i++);
12021
+ for (let external of config.external){
12022
+ if (external.startsWith("internal ")) continue;
12023
+ let request = `webpack/container/reference/${key}${i ? `/fallback-${i}` : ""}`;
12024
+ ("module" === remoteType || "module-import" === remoteType) && external.startsWith(".") ? importExternals[request] = external : remoteExternals[request] = external, i++;
12025
+ }
12018
12026
  }
12019
- new ExternalsPlugin(remoteType, remoteExternals, !0).apply(compiler), new ShareRuntimePlugin(this._options.enhanced).apply(compiler);
12027
+ new ExternalsPlugin(remoteType, remoteExternals, !0).apply(compiler), Object.keys(importExternals).length > 0 && new ExternalsPlugin("import", importExternals, !0).apply(compiler), new ShareRuntimePlugin(this._options.enhanced).apply(compiler);
12020
12028
  let rawOptions = {
12021
12029
  remoteType: this._options.remoteType,
12022
12030
  remotes: this._options.remotes.map(([key, r])=>({
@@ -12036,7 +12044,7 @@ Help:
12036
12044
  let _options = JSON.stringify(options || {});
12037
12045
  return binding_default().transform(source, _options);
12038
12046
  }
12039
- let exports_rspackVersion = "1.7.0-canary-be5d0ef3-20251222175046", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
12047
+ let exports_rspackVersion = "1.7.0-canary-dcc2f8c9-20251223064055", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
12040
12048
  getNormalizedRspackOptions: getNormalizedRspackOptions,
12041
12049
  applyRspackOptionsDefaults: applyRspackOptionsDefaults,
12042
12050
  getNormalizedWebpackOptions: getNormalizedRspackOptions,
@@ -12097,34 +12105,49 @@ Help:
12097
12105
  bundlerRuntime: bundlerRuntimePath,
12098
12106
  runtime: runtimePath
12099
12107
  });
12100
- if (compiler.options.resolve.alias = {
12108
+ compiler.options.resolve.alias = {
12101
12109
  "@module-federation/runtime-tools": paths.runtimeTools,
12102
12110
  "@module-federation/runtime": paths.runtime,
12103
12111
  ...compiler.options.resolve.alias
12104
- }, new ModuleFederationRuntimePlugin({
12105
- entryRuntime: function(paths, options, compiler) {
12106
- let runtimePlugins = options.runtimePlugins ?? [], remoteInfos = getRemoteInfos(options), runtimePluginImports = [], runtimePluginVars = [];
12107
- for(let i = 0; i < runtimePlugins.length; i++){
12108
- let runtimePluginVar = `__module_federation_runtime_plugin_${i}__`, pluginSpec = runtimePlugins[i], pluginPath = Array.isArray(pluginSpec) ? pluginSpec[0] : pluginSpec, pluginParams = Array.isArray(pluginSpec) ? pluginSpec[1] : void 0;
12109
- runtimePluginImports.push(`import ${runtimePluginVar} from ${JSON.stringify(pluginPath)}`);
12110
- let paramsCode = void 0 === pluginParams ? "undefined" : JSON.stringify(pluginParams);
12111
- runtimePluginVars.push(`${runtimePluginVar}(${paramsCode})`);
12112
- }
12113
- let content = [
12114
- `import __module_federation_bundler_runtime__ from ${JSON.stringify(paths.bundlerRuntime)}`,
12115
- ...runtimePluginImports,
12116
- `const __module_federation_runtime_plugins__ = [${runtimePluginVars.join(", ")}]`,
12117
- `const __module_federation_remote_infos__ = ${JSON.stringify(remoteInfos)}`,
12118
- `const __module_federation_container_name__ = ${JSON.stringify(options.name ?? compiler.options.output.uniqueName)}`,
12119
- `const __module_federation_share_strategy__ = ${JSON.stringify(options.shareStrategy ?? "version-first")}`,
12120
- compiler.webpack.Template.getFunctionContent(__webpack_require__("./moduleFederationDefaultRuntime.js"))
12121
- ].join(";");
12122
- return `@module-federation/runtime/rspack.js!=!data:text/javascript,${content}`;
12123
- }(paths, this._options, compiler)
12124
- }).apply(compiler), new webpack.container.ModuleFederationPluginV1({
12125
- ...this._options,
12112
+ };
12113
+ let entryRuntime = function(paths, options, compiler) {
12114
+ let runtimePlugins = options.runtimePlugins ?? [], remoteInfos = getRemoteInfos(options), runtimePluginImports = [], runtimePluginVars = [];
12115
+ for(let i = 0; i < runtimePlugins.length; i++){
12116
+ let runtimePluginVar = `__module_federation_runtime_plugin_${i}__`, pluginSpec = runtimePlugins[i], pluginPath = Array.isArray(pluginSpec) ? pluginSpec[0] : pluginSpec, pluginParams = Array.isArray(pluginSpec) ? pluginSpec[1] : void 0;
12117
+ runtimePluginImports.push(`import ${runtimePluginVar} from ${JSON.stringify(pluginPath)}`);
12118
+ let paramsCode = void 0 === pluginParams ? "undefined" : JSON.stringify(pluginParams);
12119
+ runtimePluginVars.push(`${runtimePluginVar}(${paramsCode})`);
12120
+ }
12121
+ let content = [
12122
+ `import __module_federation_bundler_runtime__ from ${JSON.stringify(paths.bundlerRuntime)}`,
12123
+ ...runtimePluginImports,
12124
+ `const __module_federation_runtime_plugins__ = [${runtimePluginVars.join(", ")}]`,
12125
+ `const __module_federation_remote_infos__ = ${JSON.stringify(remoteInfos)}`,
12126
+ `const __module_federation_container_name__ = ${JSON.stringify(options.name ?? compiler.options.output.uniqueName)}`,
12127
+ `const __module_federation_share_strategy__ = ${JSON.stringify(options.shareStrategy ?? "version-first")}`,
12128
+ compiler.webpack.Template.getFunctionContent(__webpack_require__("./moduleFederationDefaultRuntime.js"))
12129
+ ].join(";");
12130
+ return `@module-federation/runtime/rspack.js!=!data:text/javascript,${content}`;
12131
+ }(paths, this._options, compiler);
12132
+ new ModuleFederationRuntimePlugin({
12133
+ entryRuntime,
12134
+ experiments: {
12135
+ asyncStartup: this._options.experiments?.asyncStartup ?? !1
12136
+ }
12137
+ }).apply(compiler);
12138
+ let v1Options = {
12139
+ name: this._options.name,
12140
+ exposes: this._options.exposes,
12141
+ filename: this._options.filename,
12142
+ library: this._options.library,
12143
+ remoteType: this._options.remoteType,
12144
+ remotes: this._options.remotes,
12145
+ runtime: this._options.runtime,
12146
+ shareScope: this._options.shareScope,
12147
+ shared: this._options.shared,
12126
12148
  enhanced: !0
12127
- }).apply(compiler), this._options.manifest) {
12149
+ };
12150
+ if (new webpack.container.ModuleFederationPluginV1(v1Options).apply(compiler), this._options.manifest) {
12128
12151
  let manifestOptions = !0 === this._options.manifest ? {} : {
12129
12152
  ...this._options.manifest
12130
12153
  }, containerName = manifestOptions.name ?? this._options.name, globalName = manifestOptions.globalName ?? function(library) {
@@ -12350,7 +12373,7 @@ Help:
12350
12373
  }
12351
12374
  {
12352
12375
  let { compiler, watch } = create();
12353
- return watch && external_node_util_default().deprecate(()=>{}, "A 'callback' argument needs to be provided to the 'rspack(options, callback)' function when the 'watch' option is set. There is no way to handle the 'watch' option without a callback.")(), compiler;
12376
+ return watch && deprecate("A 'callback' argument needs to be provided to the 'rspack(options, callback)' function when the 'watch' option is set. There is no way to handle the 'watch' option without a callback."), compiler;
12354
12377
  }
12355
12378
  }, exports_namespaceObject);
12356
12379
  src_fn.rspack = src_fn, src_fn.webpack = src_fn;
package/dist/rspack.d.ts CHANGED
@@ -1,3 +1,12 @@
1
+ /**
2
+ * The following code is modified based on
3
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib
4
+ *
5
+ * MIT Licensed
6
+ * Author Tobias Koppers @sokra
7
+ * Copyright (c) JS Foundation and other contributors
8
+ * https://github.com/webpack/webpack/blob/main/LICENSE
9
+ */
1
10
  import type { Callback } from "@rspack/lite-tapable";
2
11
  import { Compiler } from "./Compiler";
3
12
  import { type RspackOptions } from "./config";
@@ -6,3 +6,4 @@ export declare function serializeObject(map: string | object | undefined | null)
6
6
  export declare function indent(str: string, prefix: string): string;
7
7
  export declare function stringifyLoaderObject(o: LoaderObject): string;
8
8
  export declare const unsupported: (name: string, issue?: string) => never;
9
+ export declare function deprecate(message: string): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rspack-canary/core",
3
- "version": "1.7.0-canary-be5d0ef3-20251222175046",
3
+ "version": "1.7.0-canary-dcc2f8c9-20251223064055",
4
4
  "webpackVersion": "5.75.0",
5
5
  "license": "MIT",
6
6
  "description": "The fast Rust-based web bundler with webpack-compatible API",
@@ -58,7 +58,7 @@
58
58
  "dependencies": {
59
59
  "@module-federation/runtime-tools": "0.21.6",
60
60
  "@rspack/lite-tapable": "1.1.0",
61
- "@rspack/binding": "npm:@rspack-canary/binding@1.7.0-canary-be5d0ef3-20251222175046"
61
+ "@rspack/binding": "npm:@rspack-canary/binding@1.7.0-canary-dcc2f8c9-20251223064055"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "@swc/helpers": ">=0.5.1"