@rspack-canary/core 1.7.4-canary-6f161b5e-20260120174123 → 1.7.4-canary-f5aecd64-20260127063350

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.
@@ -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
@@ -731,6 +731,17 @@ for(var __rspack_i in (()=>{
731
731
  compilation: this.compilation,
732
732
  getStatsCompilation: (compilation)=>{
733
733
  if (statsCompilationMap.has(compilation)) return statsCompilationMap.get(compilation);
734
+ if (this.compilation !== this.compilation.compiler._lastCompilation) return {
735
+ assets: [],
736
+ assetsByChunkName: [],
737
+ chunks: [],
738
+ entrypoints: [],
739
+ errors: [],
740
+ hash: 'XXXX',
741
+ modules: [],
742
+ namedChunkGroups: [],
743
+ warnings: []
744
+ };
734
745
  let innerStats = this.#getInnerByCompilation(compilation);
735
746
  options.warnings = !1;
736
747
  let innerStatsCompilation = innerStats.toJson(options);
@@ -746,6 +757,17 @@ for(var __rspack_i in (()=>{
746
757
  compilation: this.compilation,
747
758
  getStatsCompilation: (compilation)=>{
748
759
  if (statsCompilationMap.has(compilation)) return statsCompilationMap.get(compilation);
760
+ if (this.compilation !== this.compilation.compiler._lastCompilation) return {
761
+ assets: [],
762
+ assetsByChunkName: [],
763
+ chunks: [],
764
+ entrypoints: [],
765
+ errors: [],
766
+ hash: 'XXXX',
767
+ modules: [],
768
+ namedChunkGroups: [],
769
+ warnings: []
770
+ };
749
771
  let innerStatsCompilation = this.#getInnerByCompilation(compilation).toJson(options);
750
772
  return statsCompilationMap.set(compilation, innerStatsCompilation), innerStatsCompilation;
751
773
  },
@@ -5882,7 +5904,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
5882
5904
  }, applyExperimentsDefaults = (experiments, { development })=>{
5883
5905
  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);
5884
5906
  }, applybundlerInfoDefaults = (rspackFuture, library)=>{
5885
- 'object' == typeof rspackFuture && (D(rspackFuture, 'bundlerInfo', {}), 'object' == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, 'version', "1.7.4-canary-6f161b5e-20260120174123"), D(rspackFuture.bundlerInfo, 'bundler', 'rspack'), D(rspackFuture.bundlerInfo, 'force', !library)));
5907
+ 'object' == typeof rspackFuture && (D(rspackFuture, 'bundlerInfo', {}), 'object' == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, 'version', "1.7.4-canary-f5aecd64-20260127063350"), D(rspackFuture.bundlerInfo, 'bundler', 'rspack'), D(rspackFuture.bundlerInfo, 'force', !library)));
5886
5908
  }, applySnapshotDefaults = (_snapshot, _env)=>{}, applyCssGeneratorOptionsDefaults = (generatorOptions, { targetProperties })=>{
5887
5909
  D(generatorOptions, 'exportsOnly', !targetProperties || !1 === targetProperties.document), D(generatorOptions, 'esModule', !0);
5888
5910
  }, applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProperties, mode, uniqueName, deferImport })=>{
@@ -7450,7 +7472,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
7450
7472
  obj.children = this.stats.map((stat, idx)=>{
7451
7473
  let obj = stat.toJson(childOptions.children[idx]), compilationName = stat.compilation.name;
7452
7474
  return obj.name = compilationName && makePathsRelative(childOptions.context, compilationName, stat.compilation.compiler.root), obj;
7453
- }), childOptions.version && (obj.rspackVersion = "1.7.4-canary-6f161b5e-20260120174123", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(''));
7475
+ }), childOptions.version && (obj.rspackVersion = "1.7.4-canary-f5aecd64-20260127063350", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(''));
7454
7476
  let mapError = (j, obj)=>({
7455
7477
  ...obj,
7456
7478
  compilerPath: obj.compilerPath ? `${j.name}.${obj.compilerPath}` : j.name
@@ -8609,15 +8631,21 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
8609
8631
  if (context.makePathsRelative || (context.makePathsRelative = makePathsRelative.bindContextCache(compilation.compiler.context, compilation.compiler.root)), !context.cachedGetErrors) {
8610
8632
  let map = new WeakMap();
8611
8633
  context.cachedGetErrors = (compilation)=>{
8612
- var errors;
8613
- return map.get(compilation) || (errors = statsCompilation.errors, map.set(compilation, errors), errors);
8634
+ if (compilation.compiler._lastCompilation !== compilation) return [];
8635
+ let cache = map.get(compilation);
8636
+ if (cache) return cache;
8637
+ let errors = statsCompilation.errors;
8638
+ return map.set(compilation, errors), errors;
8614
8639
  };
8615
8640
  }
8616
8641
  if (!context.cachedGetWarnings) {
8617
8642
  let map = new WeakMap();
8618
8643
  context.cachedGetWarnings = (compilation)=>{
8619
- var warnings;
8620
- return map.get(compilation) || (warnings = compilation.__internal_getInner().createStatsWarnings(compilation.getWarnings(), !!options.colors), map.set(compilation, warnings), warnings);
8644
+ if (compilation.compiler._lastCompilation !== compilation) return [];
8645
+ let cache = map.get(compilation);
8646
+ if (cache) return cache;
8647
+ let warnings = compilation.__internal_getInner().createStatsWarnings(compilation.getWarnings(), !!options.colors);
8648
+ return map.set(compilation, warnings), warnings;
8621
8649
  };
8622
8650
  }
8623
8651
  compilation.name && (object.name = compilation.name);
@@ -8706,7 +8734,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
8706
8734
  object.hash = context.getStatsCompilation(compilation).hash;
8707
8735
  },
8708
8736
  version: (object)=>{
8709
- object.version = "5.75.0", object.rspackVersion = "1.7.4-canary-6f161b5e-20260120174123";
8737
+ object.version = "5.75.0", object.rspackVersion = "1.7.4-canary-f5aecd64-20260127063350";
8710
8738
  },
8711
8739
  env: (object, _compilation, _context, { _env })=>{
8712
8740
  object.env = _env;
@@ -10431,7 +10459,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
10431
10459
  });
10432
10460
  }
10433
10461
  }
10434
- let CORE_VERSION = "1.7.4-canary-6f161b5e-20260120174123", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
10462
+ let CORE_VERSION = "1.7.4-canary-f5aecd64-20260127063350", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
10435
10463
 
10436
10464
  Help:
10437
10465
  Looks like you are using a custom binding (via environment variable 'RSPACK_BINDING=${process.env.RSPACK_BINDING}').
@@ -12200,12 +12228,16 @@ Help:
12200
12228
  };
12201
12229
  }
12202
12230
  raw(compiler) {
12203
- let { remoteType, remotes } = this._options, remoteExternals = {};
12231
+ let { remoteType, remotes } = this._options, remoteExternals = {}, importExternals = {};
12204
12232
  for (let [key, config] of remotes){
12205
12233
  let i = 0;
12206
- for (let external of config.external)!external.startsWith('internal ') && (remoteExternals[`webpack/container/reference/${key}${i ? `/fallback-${i}` : ''}`] = external, i++);
12234
+ for (let external of config.external){
12235
+ if (external.startsWith('internal ')) continue;
12236
+ let request = `webpack/container/reference/${key}${i ? `/fallback-${i}` : ''}`;
12237
+ ('module' === remoteType || 'module-import' === remoteType) && external.startsWith('.') ? importExternals[request] = external : remoteExternals[request] = external, i++;
12238
+ }
12207
12239
  }
12208
- new ExternalsPlugin(remoteType, remoteExternals, !0).apply(compiler), new ShareRuntimePlugin(this._options.enhanced).apply(compiler);
12240
+ 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);
12209
12241
  let rawOptions = {
12210
12242
  remoteType: this._options.remoteType,
12211
12243
  remotes: this._options.remotes.map(([key, r])=>({
@@ -12225,7 +12257,7 @@ Help:
12225
12257
  let _options = JSON.stringify(options || {});
12226
12258
  return binding_default().transform(source, _options);
12227
12259
  }
12228
- let exports_rspackVersion = "1.7.4-canary-6f161b5e-20260120174123", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
12260
+ let exports_rspackVersion = "1.7.4-canary-f5aecd64-20260127063350", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
12229
12261
  getNormalizedRspackOptions: getNormalizedRspackOptions,
12230
12262
  applyRspackOptionsDefaults: applyRspackOptionsDefaults,
12231
12263
  getNormalizedWebpackOptions: getNormalizedRspackOptions,
@@ -12286,34 +12318,49 @@ Help:
12286
12318
  bundlerRuntime: bundlerRuntimePath,
12287
12319
  runtime: runtimePath
12288
12320
  });
12289
- if (compiler.options.resolve.alias = {
12321
+ compiler.options.resolve.alias = {
12290
12322
  '@module-federation/runtime-tools': paths.runtimeTools,
12291
12323
  '@module-federation/runtime': paths.runtime,
12292
12324
  ...compiler.options.resolve.alias
12293
- }, new ModuleFederationRuntimePlugin({
12294
- entryRuntime: function(paths, options, compiler) {
12295
- let runtimePlugins = options.runtimePlugins ?? [], remoteInfos = getRemoteInfos(options), runtimePluginImports = [], runtimePluginVars = [];
12296
- for(let i = 0; i < runtimePlugins.length; i++){
12297
- 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;
12298
- runtimePluginImports.push(`import ${runtimePluginVar} from ${JSON.stringify(pluginPath)}`);
12299
- let paramsCode = void 0 === pluginParams ? 'undefined' : JSON.stringify(pluginParams);
12300
- runtimePluginVars.push(`${runtimePluginVar}(${paramsCode})`);
12301
- }
12302
- let content = [
12303
- `import __module_federation_bundler_runtime__ from ${JSON.stringify(paths.bundlerRuntime)}`,
12304
- ...runtimePluginImports,
12305
- `const __module_federation_runtime_plugins__ = [${runtimePluginVars.join(', ')}]`,
12306
- `const __module_federation_remote_infos__ = ${JSON.stringify(remoteInfos)}`,
12307
- `const __module_federation_container_name__ = ${JSON.stringify(options.name ?? compiler.options.output.uniqueName)}`,
12308
- `const __module_federation_share_strategy__ = ${JSON.stringify(options.shareStrategy ?? 'version-first')}`,
12309
- compiler.webpack.Template.getFunctionContent(__webpack_require__("./moduleFederationDefaultRuntime.js"))
12310
- ].join(';');
12311
- return `@module-federation/runtime/rspack.js!=!data:text/javascript,${content}`;
12312
- }(paths, this._options, compiler)
12313
- }).apply(compiler), new webpack.container.ModuleFederationPluginV1({
12314
- ...this._options,
12325
+ };
12326
+ let entryRuntime = function(paths, options, compiler) {
12327
+ let runtimePlugins = options.runtimePlugins ?? [], remoteInfos = getRemoteInfos(options), runtimePluginImports = [], runtimePluginVars = [];
12328
+ for(let i = 0; i < runtimePlugins.length; i++){
12329
+ 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;
12330
+ runtimePluginImports.push(`import ${runtimePluginVar} from ${JSON.stringify(pluginPath)}`);
12331
+ let paramsCode = void 0 === pluginParams ? 'undefined' : JSON.stringify(pluginParams);
12332
+ runtimePluginVars.push(`{ plugin: ${runtimePluginVar}, params: ${paramsCode} }`);
12333
+ }
12334
+ let content = [
12335
+ `import __module_federation_bundler_runtime__ from ${JSON.stringify(paths.bundlerRuntime)}`,
12336
+ ...runtimePluginImports,
12337
+ `const __module_federation_runtime_plugins__ = [${runtimePluginVars.join(', ')}].filter(({ plugin }) => plugin).map(({ plugin, params }) => plugin(params))`,
12338
+ `const __module_federation_remote_infos__ = ${JSON.stringify(remoteInfos)}`,
12339
+ `const __module_federation_container_name__ = ${JSON.stringify(options.name ?? compiler.options.output.uniqueName)}`,
12340
+ `const __module_federation_share_strategy__ = ${JSON.stringify(options.shareStrategy ?? 'version-first')}`,
12341
+ compiler.webpack.Template.getFunctionContent(__webpack_require__("./moduleFederationDefaultRuntime.js"))
12342
+ ].join(';');
12343
+ return `@module-federation/runtime/rspack.js!=!data:text/javascript,${content}`;
12344
+ }(paths, this._options, compiler), asyncStartup = this._options.experiments?.asyncStartup ?? !1;
12345
+ new ModuleFederationRuntimePlugin({
12346
+ entryRuntime,
12347
+ experiments: {
12348
+ asyncStartup
12349
+ }
12350
+ }).apply(compiler);
12351
+ let v1Options = {
12352
+ name: this._options.name,
12353
+ exposes: this._options.exposes,
12354
+ filename: this._options.filename,
12355
+ library: this._options.library,
12356
+ remoteType: this._options.remoteType,
12357
+ remotes: this._options.remotes,
12358
+ runtime: this._options.runtime,
12359
+ shareScope: this._options.shareScope,
12360
+ shared: this._options.shared,
12315
12361
  enhanced: !0
12316
- }).apply(compiler), this._options.manifest) {
12362
+ };
12363
+ if (new webpack.container.ModuleFederationPluginV1(v1Options).apply(compiler), this._options.manifest) {
12317
12364
  let manifestOptions = !0 === this._options.manifest ? {} : {
12318
12365
  ...this._options.manifest
12319
12366
  }, containerName = manifestOptions.name ?? this._options.name, globalName = manifestOptions.globalName ?? function(library) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rspack-canary/core",
3
- "version": "1.7.4-canary-6f161b5e-20260120174123",
3
+ "version": "1.7.4-canary-f5aecd64-20260127063350",
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.22.0",
60
60
  "@rspack/lite-tapable": "1.1.0",
61
- "@rspack/binding": "npm:@rspack-canary/binding@1.7.4-canary-6f161b5e-20260120174123"
61
+ "@rspack/binding": "npm:@rspack-canary/binding@1.7.4-canary-f5aecd64-20260127063350"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "@swc/helpers": ">=0.5.1"