@rspack-canary/browser 1.6.5-canary-480f74ac-20251120174032 → 1.6.5-canary-1b7f543c-20251121112112

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.mjs CHANGED
@@ -58137,7 +58137,7 @@ const applybundlerInfoDefaults = (rspackFuture, library)=>{
58137
58137
  if ("object" == typeof rspackFuture) {
58138
58138
  D(rspackFuture, "bundlerInfo", {});
58139
58139
  if ("object" == typeof rspackFuture.bundlerInfo) {
58140
- D(rspackFuture.bundlerInfo, "version", "1.6.5-canary-480f74ac-20251120174032");
58140
+ D(rspackFuture.bundlerInfo, "version", "1.6.5-canary-1b7f543c-20251121112112");
58141
58141
  D(rspackFuture.bundlerInfo, "bundler", "rspack");
58142
58142
  D(rspackFuture.bundlerInfo, "force", !library);
58143
58143
  }
@@ -62086,7 +62086,7 @@ class MultiStats {
62086
62086
  return obj;
62087
62087
  });
62088
62088
  if (childOptions.version) {
62089
- obj.rspackVersion = "1.6.5-canary-480f74ac-20251120174032";
62089
+ obj.rspackVersion = "1.6.5-canary-1b7f543c-20251121112112";
62090
62090
  obj.version = "5.75.0";
62091
62091
  }
62092
62092
  if (childOptions.hash) obj.hash = obj.children.map((j)=>j.hash).join("");
@@ -63391,7 +63391,7 @@ const SIMPLE_EXTRACTORS = {
63391
63391
  },
63392
63392
  version: (object)=>{
63393
63393
  object.version = "5.75.0";
63394
- object.rspackVersion = "1.6.5-canary-480f74ac-20251120174032";
63394
+ object.rspackVersion = "1.6.5-canary-1b7f543c-20251121112112";
63395
63395
  },
63396
63396
  env: (object, _compilation, _context, { _env })=>{
63397
63397
  object.env = _env;
@@ -65824,6 +65824,34 @@ const VERSION_PATTERN_REGEXP = /^([\d^=v<>~]|[*xX]$)/;
65824
65824
  function isRequiredVersion(str) {
65825
65825
  return VERSION_PATTERN_REGEXP.test(str);
65826
65826
  }
65827
+ const encodeName = function(name, prefix = "", withExt = false) {
65828
+ const ext = withExt ? ".js" : "";
65829
+ return `${prefix}${name.replace(/@/g, "scope_").replace(/-/g, "_").replace(/\//g, "__").replace(/\./g, "")}${ext}`;
65830
+ };
65831
+ const options_process = (options, normalizeSimple, normalizeOptions, fn)=>{
65832
+ const array = (items)=>{
65833
+ for (const item of items)if ("string" == typeof item) fn(item, normalizeSimple(item, item));
65834
+ else if (item && "object" == typeof item) object(item);
65835
+ else throw new Error("Unexpected options format");
65836
+ };
65837
+ const object = (obj)=>{
65838
+ for (const [key, value] of Object.entries(obj))"string" == typeof value || Array.isArray(value) ? fn(key, normalizeSimple(value, key)) : fn(key, normalizeOptions(value, key));
65839
+ };
65840
+ if (!options) return;
65841
+ if (Array.isArray(options)) array(options);
65842
+ else if ("object" == typeof options) object(options);
65843
+ else throw new Error("Unexpected options format");
65844
+ };
65845
+ const parseOptions = (options, normalizeSimple, normalizeOptions)=>{
65846
+ const items = [];
65847
+ options_process(options, normalizeSimple, normalizeOptions, (key, value)=>{
65848
+ items.push([
65849
+ key,
65850
+ value
65851
+ ]);
65852
+ });
65853
+ return items;
65854
+ };
65827
65855
  var ModuleFederationManifestPlugin_process = __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
65828
65856
  function ModuleFederationManifestPlugin_define_property(obj, key, value) {
65829
65857
  if (key in obj) Object.defineProperty(obj, key, {
@@ -65890,6 +65918,87 @@ function getFileName(manifestOptions) {
65890
65918
  manifestFileName: (0, path_browserify.join)(filePath, manifestFileName)
65891
65919
  };
65892
65920
  }
65921
+ function resolveLibraryGlobalName(library) {
65922
+ if (!library) return;
65923
+ const libName = library.name;
65924
+ if (!libName) return;
65925
+ if ("string" == typeof libName) return libName;
65926
+ if (Array.isArray(libName)) return libName[0];
65927
+ if ("object" == typeof libName) return libName.root?.[0] ?? libName.amd ?? libName.commonjs ?? void 0;
65928
+ }
65929
+ function collectManifestExposes(exposes) {
65930
+ if (!exposes) return;
65931
+ const parsed = parseOptions(exposes, (value)=>({
65932
+ import: Array.isArray(value) ? value : [
65933
+ value
65934
+ ],
65935
+ name: void 0
65936
+ }), (value)=>({
65937
+ import: Array.isArray(value.import) ? value.import : [
65938
+ value.import
65939
+ ],
65940
+ name: value.name ?? void 0
65941
+ }));
65942
+ const result = parsed.map(([exposeKey, info])=>{
65943
+ const exposeName = info.name ?? exposeKey.replace(/^\.\//, "");
65944
+ return {
65945
+ path: exposeKey,
65946
+ name: exposeName
65947
+ };
65948
+ });
65949
+ return result.length > 0 ? result : void 0;
65950
+ }
65951
+ function collectManifestShared(shared) {
65952
+ if (!shared) return;
65953
+ const parsed = parseOptions(shared, (item, key)=>{
65954
+ if ("string" != typeof item) throw new Error("Unexpected array in shared");
65955
+ return item !== key && isRequiredVersion(item) ? {
65956
+ import: key,
65957
+ requiredVersion: item
65958
+ } : {
65959
+ import: item
65960
+ };
65961
+ }, (item)=>item);
65962
+ const result = parsed.map(([key, config])=>{
65963
+ const name = config.shareKey || key;
65964
+ const version = "string" == typeof config.version ? config.version : void 0;
65965
+ const requiredVersion = "string" == typeof config.requiredVersion ? config.requiredVersion : void 0;
65966
+ return {
65967
+ name,
65968
+ version,
65969
+ requiredVersion,
65970
+ singleton: config.singleton
65971
+ };
65972
+ });
65973
+ return result.length > 0 ? result : void 0;
65974
+ }
65975
+ function normalizeManifestOptions(mfConfig) {
65976
+ const manifestOptions = true === mfConfig.manifest ? {} : {
65977
+ ...mfConfig.manifest
65978
+ };
65979
+ const containerName = mfConfig.name;
65980
+ const globalName = resolveLibraryGlobalName(mfConfig.library) ?? containerName;
65981
+ const remoteAliasMap = Object.entries(getRemoteInfos(mfConfig)).reduce((sum, cur)=>{
65982
+ if (cur[1].length > 1) return sum;
65983
+ const remoteInfo = cur[1][0];
65984
+ const { entry, alias, name } = remoteInfo;
65985
+ if (entry && name) sum[alias] = {
65986
+ name,
65987
+ entry
65988
+ };
65989
+ return sum;
65990
+ }, {});
65991
+ const manifestExposes = collectManifestExposes(mfConfig.exposes);
65992
+ if (void 0 === manifestOptions.exposes && manifestExposes) manifestOptions.exposes = manifestExposes;
65993
+ const manifestShared = collectManifestShared(mfConfig.shared);
65994
+ if (void 0 === manifestOptions.shared && manifestShared) manifestOptions.shared = manifestShared;
65995
+ return {
65996
+ ...manifestOptions,
65997
+ remoteAliasMap,
65998
+ globalName,
65999
+ name: containerName
66000
+ };
66001
+ }
65893
66002
  class ModuleFederationManifestPlugin extends RspackBuiltinPlugin {
65894
66003
  raw(compiler) {
65895
66004
  const { fileName, filePath, disableAssetsAnalyze, remoteAliasMap, exposes, shared } = this.opts;
@@ -65911,34 +66020,641 @@ class ModuleFederationManifestPlugin extends RspackBuiltinPlugin {
65911
66020
  }
65912
66021
  constructor(opts){
65913
66022
  super(), ModuleFederationManifestPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.ModuleFederationManifestPlugin), ModuleFederationManifestPlugin_define_property(this, "opts", void 0);
65914
- this.opts = opts;
66023
+ this.opts = normalizeManifestOptions(opts);
66024
+ }
66025
+ }
66026
+ function ShareRuntimePlugin_define_property(obj, key, value) {
66027
+ if (key in obj) Object.defineProperty(obj, key, {
66028
+ value: value,
66029
+ enumerable: true,
66030
+ configurable: true,
66031
+ writable: true
66032
+ });
66033
+ else obj[key] = value;
66034
+ return obj;
66035
+ }
66036
+ const compilerSet = new WeakSet();
66037
+ function isSingleton(compiler) {
66038
+ return compilerSet.has(compiler);
66039
+ }
66040
+ function setSingleton(compiler) {
66041
+ compilerSet.add(compiler);
66042
+ }
66043
+ class ShareRuntimePlugin extends RspackBuiltinPlugin {
66044
+ raw(compiler) {
66045
+ if (isSingleton(compiler)) return;
66046
+ setSingleton(compiler);
66047
+ return createBuiltinPlugin(this.name, this.enhanced);
66048
+ }
66049
+ constructor(enhanced = false){
66050
+ super(), ShareRuntimePlugin_define_property(this, "enhanced", void 0), ShareRuntimePlugin_define_property(this, "name", void 0), this.enhanced = enhanced, this.name = external_rspack_wasi_browser_js_.BuiltinPluginName.ShareRuntimePlugin;
66051
+ }
66052
+ }
66053
+ function ConsumeSharedPlugin_define_property(obj, key, value) {
66054
+ if (key in obj) Object.defineProperty(obj, key, {
66055
+ value: value,
66056
+ enumerable: true,
66057
+ configurable: true,
66058
+ writable: true
66059
+ });
66060
+ else obj[key] = value;
66061
+ return obj;
66062
+ }
66063
+ function normalizeConsumeShareOptions(consumes, shareScope) {
66064
+ return parseOptions(consumes, (item, key)=>{
66065
+ if (Array.isArray(item)) throw new Error("Unexpected array in options");
66066
+ const result = item !== key && isRequiredVersion(item) ? {
66067
+ import: key,
66068
+ shareScope: shareScope || "default",
66069
+ shareKey: key,
66070
+ requiredVersion: item,
66071
+ strictVersion: true,
66072
+ packageName: void 0,
66073
+ singleton: false,
66074
+ eager: false
66075
+ } : {
66076
+ import: key,
66077
+ shareScope: shareScope || "default",
66078
+ shareKey: key,
66079
+ requiredVersion: void 0,
66080
+ packageName: void 0,
66081
+ strictVersion: false,
66082
+ singleton: false,
66083
+ eager: false
66084
+ };
66085
+ return result;
66086
+ }, (item, key)=>({
66087
+ import: false === item.import ? void 0 : item.import || key,
66088
+ shareScope: item.shareScope || shareScope || "default",
66089
+ shareKey: item.shareKey || key,
66090
+ requiredVersion: item.requiredVersion,
66091
+ strictVersion: "boolean" == typeof item.strictVersion ? item.strictVersion : false !== item.import && !item.singleton,
66092
+ packageName: item.packageName,
66093
+ singleton: !!item.singleton,
66094
+ eager: !!item.eager
66095
+ }));
66096
+ }
66097
+ class ConsumeSharedPlugin extends RspackBuiltinPlugin {
66098
+ raw(compiler) {
66099
+ new ShareRuntimePlugin(this._options.enhanced).apply(compiler);
66100
+ const rawOptions = {
66101
+ consumes: this._options.consumes.map(([key, v])=>({
66102
+ key,
66103
+ ...v
66104
+ })),
66105
+ enhanced: this._options.enhanced
66106
+ };
66107
+ return createBuiltinPlugin(this.name, rawOptions);
66108
+ }
66109
+ constructor(options){
66110
+ super(), ConsumeSharedPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.ConsumeSharedPlugin), ConsumeSharedPlugin_define_property(this, "_options", void 0);
66111
+ this._options = {
66112
+ consumes: normalizeConsumeShareOptions(options.consumes, options.shareScope),
66113
+ enhanced: options.enhanced ?? false
66114
+ };
66115
+ }
66116
+ }
66117
+ function OptimizeDependencyReferencedExportsPlugin_define_property(obj, key, value) {
66118
+ if (key in obj) Object.defineProperty(obj, key, {
66119
+ value: value,
66120
+ enumerable: true,
66121
+ configurable: true,
66122
+ writable: true
66123
+ });
66124
+ else obj[key] = value;
66125
+ return obj;
66126
+ }
66127
+ class OptimizeDependencyReferencedExportsPlugin extends RspackBuiltinPlugin {
66128
+ buildOptions() {
66129
+ const shared = this.sharedOptions.map(([shareKey, config])=>({
66130
+ shareKey,
66131
+ treeshake: !!config.treeshake,
66132
+ usedExports: config.usedExports
66133
+ }));
66134
+ const { manifestFileName, statsFileName } = getFileName(this.manifestOptions);
66135
+ return {
66136
+ shared,
66137
+ injectUsedExports: this.injectUsedExports,
66138
+ manifestFileName,
66139
+ statsFileName
66140
+ };
66141
+ }
66142
+ raw() {
66143
+ if (!this.sharedOptions.length) return;
66144
+ return createBuiltinPlugin(this.name, this.buildOptions());
66145
+ }
66146
+ constructor(sharedOptions, injectUsedExports, manifestOptions){
66147
+ super(), OptimizeDependencyReferencedExportsPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.OptimizeDependencyReferencedExportsPlugin), OptimizeDependencyReferencedExportsPlugin_define_property(this, "sharedOptions", void 0), OptimizeDependencyReferencedExportsPlugin_define_property(this, "injectUsedExports", void 0), OptimizeDependencyReferencedExportsPlugin_define_property(this, "manifestOptions", void 0);
66148
+ this.sharedOptions = sharedOptions;
66149
+ this.injectUsedExports = injectUsedExports ?? true;
66150
+ this.manifestOptions = manifestOptions ?? {};
66151
+ }
66152
+ }
66153
+ function ProvideSharedPlugin_define_property(obj, key, value) {
66154
+ if (key in obj) Object.defineProperty(obj, key, {
66155
+ value: value,
66156
+ enumerable: true,
66157
+ configurable: true,
66158
+ writable: true
66159
+ });
66160
+ else obj[key] = value;
66161
+ return obj;
66162
+ }
66163
+ function normalizeProvideShareOptions(options, shareScope, enhanced) {
66164
+ return parseOptions(options, (item)=>{
66165
+ if (Array.isArray(item)) throw new Error("Unexpected array of provides");
66166
+ return {
66167
+ shareKey: item,
66168
+ version: void 0,
66169
+ shareScope: shareScope || "default",
66170
+ eager: false
66171
+ };
66172
+ }, (item)=>{
66173
+ const raw = {
66174
+ shareKey: item.shareKey,
66175
+ version: item.version,
66176
+ shareScope: item.shareScope || shareScope || "default",
66177
+ eager: !!item.eager
66178
+ };
66179
+ if (enhanced) {
66180
+ const enhancedItem = item;
66181
+ return {
66182
+ ...raw,
66183
+ singleton: enhancedItem.singleton,
66184
+ requiredVersion: enhancedItem.requiredVersion,
66185
+ strictVersion: enhancedItem.strictVersion
66186
+ };
66187
+ }
66188
+ return raw;
66189
+ });
66190
+ }
66191
+ class ProvideSharedPlugin extends RspackBuiltinPlugin {
66192
+ raw(compiler) {
66193
+ new ShareRuntimePlugin(this._enhanced ?? false).apply(compiler);
66194
+ const rawOptions = this._provides.map(([key, v])=>({
66195
+ key,
66196
+ ...v
66197
+ }));
66198
+ return createBuiltinPlugin(this.name, rawOptions);
66199
+ }
66200
+ constructor(options){
66201
+ super(), ProvideSharedPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.ProvideSharedPlugin), ProvideSharedPlugin_define_property(this, "_provides", void 0), ProvideSharedPlugin_define_property(this, "_enhanced", void 0);
66202
+ this._provides = normalizeProvideShareOptions(options.provides, options.shareScope, options.enhanced);
66203
+ this._enhanced = options.enhanced;
66204
+ }
66205
+ }
66206
+ function SharePlugin_define_property(obj, key, value) {
66207
+ if (key in obj) Object.defineProperty(obj, key, {
66208
+ value: value,
66209
+ enumerable: true,
66210
+ configurable: true,
66211
+ writable: true
66212
+ });
66213
+ else obj[key] = value;
66214
+ return obj;
66215
+ }
66216
+ function normalizeSharedOptions(shared) {
66217
+ return parseOptions(shared, (item, key)=>{
66218
+ if ("string" != typeof item) throw new Error("Unexpected array in shared");
66219
+ const config = item !== key && isRequiredVersion(item) ? {
66220
+ import: key,
66221
+ requiredVersion: item
66222
+ } : {
66223
+ import: item
66224
+ };
66225
+ return config;
66226
+ }, (item)=>item);
66227
+ }
66228
+ function createProvideShareOptions(normalizedSharedOptions) {
66229
+ return normalizedSharedOptions.filter(([, options])=>false !== options.import).map(([key, options])=>({
66230
+ [options.import || key]: {
66231
+ shareKey: options.shareKey || key,
66232
+ shareScope: options.shareScope,
66233
+ version: options.version,
66234
+ eager: options.eager,
66235
+ singleton: options.singleton,
66236
+ requiredVersion: options.requiredVersion,
66237
+ strictVersion: options.strictVersion
66238
+ }
66239
+ }));
66240
+ }
66241
+ function createConsumeShareOptions(normalizedSharedOptions) {
66242
+ return normalizedSharedOptions.map(([key, options])=>({
66243
+ [key]: {
66244
+ import: options.import,
66245
+ shareKey: options.shareKey || key,
66246
+ shareScope: options.shareScope,
66247
+ requiredVersion: options.requiredVersion,
66248
+ strictVersion: options.strictVersion,
66249
+ singleton: options.singleton,
66250
+ packageName: options.packageName,
66251
+ eager: options.eager
66252
+ }
66253
+ }));
66254
+ }
66255
+ class SharePlugin {
66256
+ apply(compiler) {
66257
+ new ConsumeSharedPlugin({
66258
+ shareScope: this._shareScope,
66259
+ consumes: this._consumes,
66260
+ enhanced: this._enhanced
66261
+ }).apply(compiler);
66262
+ new ProvideSharedPlugin({
66263
+ shareScope: this._shareScope,
66264
+ provides: this._provides,
66265
+ enhanced: this._enhanced
66266
+ }).apply(compiler);
66267
+ const treeshakeOptions = this._sharedOptions.filter(([, config])=>config.treeshake);
66268
+ if (treeshakeOptions.length > 0) new OptimizeDependencyReferencedExportsPlugin(treeshakeOptions).apply(compiler);
66269
+ }
66270
+ constructor(options){
66271
+ SharePlugin_define_property(this, "_shareScope", void 0);
66272
+ SharePlugin_define_property(this, "_consumes", void 0);
66273
+ SharePlugin_define_property(this, "_provides", void 0);
66274
+ SharePlugin_define_property(this, "_enhanced", void 0);
66275
+ SharePlugin_define_property(this, "_sharedOptions", void 0);
66276
+ const sharedOptions = normalizeSharedOptions(options.shared);
66277
+ const consumes = createConsumeShareOptions(sharedOptions);
66278
+ const provides = createProvideShareOptions(sharedOptions);
66279
+ this._shareScope = options.shareScope;
66280
+ this._consumes = consumes;
66281
+ this._provides = provides;
66282
+ this._enhanced = options.enhanced ?? false;
66283
+ this._sharedOptions = sharedOptions;
66284
+ }
66285
+ }
66286
+ function CollectShareEntryPlugin_define_property(obj, key, value) {
66287
+ if (key in obj) Object.defineProperty(obj, key, {
66288
+ value: value,
66289
+ enumerable: true,
66290
+ configurable: true,
66291
+ writable: true
66292
+ });
66293
+ else obj[key] = value;
66294
+ return obj;
66295
+ }
66296
+ const SHARE_ENTRY_ASSET = "collect-share-entries.json";
66297
+ class CollectShareEntryPlugin extends RspackBuiltinPlugin {
66298
+ getData() {
66299
+ return this._collectedEntries;
66300
+ }
66301
+ getFilename() {
66302
+ return SHARE_ENTRY_ASSET;
66303
+ }
66304
+ apply(compiler) {
66305
+ super.apply(compiler);
66306
+ compiler.hooks.thisCompilation.tap("Collect share entry", (compilation)=>{
66307
+ compilation.hooks.processAssets.tapPromise({
66308
+ name: "CollectShareEntry",
66309
+ stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE
66310
+ }, async ()=>{
66311
+ const filename = this.getFilename();
66312
+ const asset = compilation.getAsset(filename);
66313
+ if (!asset) throw new Error(`Can not get ${filename}`);
66314
+ this._collectedEntries = JSON.parse(asset.source.source().toString());
66315
+ compilation.deleteAsset(filename);
66316
+ });
66317
+ });
66318
+ }
66319
+ raw() {
66320
+ const consumeShareOptions = createConsumeShareOptions(this.sharedOptions);
66321
+ const normalizedConsumeShareOptions = normalizeConsumeShareOptions(consumeShareOptions);
66322
+ const rawOptions = {
66323
+ consumes: normalizedConsumeShareOptions.map(([key, v])=>({
66324
+ key,
66325
+ ...v
66326
+ })),
66327
+ filename: this.getFilename()
66328
+ };
66329
+ return createBuiltinPlugin(this.name, rawOptions);
66330
+ }
66331
+ constructor(options){
66332
+ super(), CollectShareEntryPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.CollectShareEntryPlugin), CollectShareEntryPlugin_define_property(this, "sharedOptions", void 0), CollectShareEntryPlugin_define_property(this, "_collectedEntries", void 0);
66333
+ const { sharedOptions } = options;
66334
+ this.sharedOptions = sharedOptions;
66335
+ this._collectedEntries = {};
66336
+ }
66337
+ }
66338
+ function ShareContainerPlugin_define_property(obj, key, value) {
66339
+ if (key in obj) Object.defineProperty(obj, key, {
66340
+ value: value,
66341
+ enumerable: true,
66342
+ configurable: true,
66343
+ writable: true
66344
+ });
66345
+ else obj[key] = value;
66346
+ return obj;
66347
+ }
66348
+ function assert(condition, msg) {
66349
+ if (!condition) throw new Error(msg);
66350
+ }
66351
+ const HOT_UPDATE_SUFFIX = ".hot-update";
66352
+ class ShareContainerPlugin extends RspackBuiltinPlugin {
66353
+ getData() {
66354
+ return [
66355
+ this.name,
66356
+ this._globalName
66357
+ ];
66358
+ }
66359
+ raw(compiler) {
66360
+ const { library } = this._options;
66361
+ if (!compiler.options.output.enabledLibraryTypes.includes(library.type)) compiler.options.output.enabledLibraryTypes.push(library.type);
66362
+ return createBuiltinPlugin(this.name, this._options);
66363
+ }
66364
+ apply(compiler) {
66365
+ super.apply(compiler);
66366
+ const shareName = this._shareName;
66367
+ compiler.hooks.thisCompilation.tap(this.name, (compilation)=>{
66368
+ compilation.hooks.processAssets.tapPromise({
66369
+ name: "getShareContainerFile"
66370
+ }, async ()=>{
66371
+ const remoteEntryPoint = compilation.entrypoints.get(shareName);
66372
+ assert(remoteEntryPoint, `Can not get shared ${shareName} entryPoint!`);
66373
+ const remoteEntryNameChunk = compilation.namedChunks.get(shareName);
66374
+ assert(remoteEntryNameChunk, `Can not get shared ${shareName} chunk!`);
66375
+ const files = Array.from(remoteEntryNameChunk.files).filter((f)=>!f.includes(HOT_UPDATE_SUFFIX) && !f.endsWith(".css"));
66376
+ assert(files.length > 0, `no files found for shared ${shareName} chunk`);
66377
+ assert(1 === files.length, `shared ${shareName} chunk should not have multiple files!, current files: ${files.join(",")}`);
66378
+ this.filename = files[0];
66379
+ });
66380
+ });
66381
+ }
66382
+ constructor(options){
66383
+ super(), ShareContainerPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.ShareContainerPlugin), ShareContainerPlugin_define_property(this, "filename", ""), ShareContainerPlugin_define_property(this, "_options", void 0), ShareContainerPlugin_define_property(this, "_shareName", void 0), ShareContainerPlugin_define_property(this, "_globalName", void 0);
66384
+ const { shareName, library, request, independentShareFileName } = options;
66385
+ const version = options.version || "0.0.0";
66386
+ this._globalName = encodeName(`${options.mfName}_${shareName}_${version}`);
66387
+ const fileName = independentShareFileName || `${version}/share-entry.js`;
66388
+ this._shareName = shareName;
66389
+ this._options = {
66390
+ name: shareName,
66391
+ request: request,
66392
+ library: (library ? {
66393
+ ...library,
66394
+ name: this._globalName
66395
+ } : void 0) || {
66396
+ type: "var",
66397
+ name: this._globalName
66398
+ },
66399
+ version,
66400
+ fileName
66401
+ };
66402
+ }
66403
+ }
66404
+ function IndependentSharePlugin_define_property(obj, key, value) {
66405
+ if (key in obj) Object.defineProperty(obj, key, {
66406
+ value: value,
66407
+ enumerable: true,
66408
+ configurable: true,
66409
+ writable: true
66410
+ });
66411
+ else obj[key] = value;
66412
+ return obj;
66413
+ }
66414
+ const VIRTUAL_ENTRY = "./virtual-entry.js";
66415
+ const VIRTUAL_ENTRY_NAME = "virtual-entry";
66416
+ const filterPlugin = (plugin)=>{
66417
+ if (!plugin) return true;
66418
+ const pluginName = plugin["name"] || plugin["constructor"]?.name;
66419
+ if (!pluginName) return true;
66420
+ return ![
66421
+ "TreeshakeSharePlugin",
66422
+ "IndependentSharePlugin",
66423
+ "ModuleFederationPlugin",
66424
+ "OptimizeDependencyReferencedExportsPlugin",
66425
+ "HtmlWebpackPlugin"
66426
+ ].includes(pluginName);
66427
+ };
66428
+ class VirtualEntryPlugin {
66429
+ createEntry() {
66430
+ const { sharedOptions } = this;
66431
+ const entryContent = sharedOptions.reduce((acc, cur, index)=>`${acc}import shared_${index} from '${cur[0]}';\n`, "");
66432
+ return entryContent;
66433
+ }
66434
+ static entry() {
66435
+ return {
66436
+ [VIRTUAL_ENTRY_NAME]: VIRTUAL_ENTRY
66437
+ };
66438
+ }
66439
+ apply(compiler) {
66440
+ new compiler.rspack.experiments.VirtualModulesPlugin({
66441
+ [VIRTUAL_ENTRY]: this.createEntry()
66442
+ }).apply(compiler);
66443
+ compiler.hooks.thisCompilation.tap("RemoveVirtualEntryAsset", (compilation)=>{
66444
+ compilation.hooks.processAssets.tapPromise({
66445
+ name: "RemoveVirtualEntryAsset",
66446
+ stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE
66447
+ }, async ()=>{
66448
+ try {
66449
+ const chunk = compilation.namedChunks.get(VIRTUAL_ENTRY_NAME);
66450
+ chunk?.files.forEach((f)=>{
66451
+ compilation.deleteAsset(f);
66452
+ });
66453
+ } catch (_e) {
66454
+ console.error("Failed to remove virtual entry file!");
66455
+ }
66456
+ });
66457
+ });
66458
+ }
66459
+ constructor(sharedOptions){
66460
+ IndependentSharePlugin_define_property(this, "sharedOptions", void 0);
66461
+ this.sharedOptions = sharedOptions;
66462
+ }
66463
+ }
66464
+ class IndependentSharePlugin {
66465
+ apply(compiler) {
66466
+ compiler.hooks.beforeRun.tapAsync("IndependentSharePlugin", async (compiler, callback)=>{
66467
+ await this.createIndependentCompilers(compiler);
66468
+ callback();
66469
+ });
66470
+ compiler.hooks.shutdown.tapAsync("IndependentSharePlugin", (callback)=>{
66471
+ this.cleanup();
66472
+ console.log("cleanup");
66473
+ callback();
66474
+ });
66475
+ compiler.hooks.compilation.tap("IndependentSharePlugin", (compilation)=>{
66476
+ compilation.hooks.processAssets.tapPromise({
66477
+ name: "injectBuildAssets",
66478
+ stage: compilation.constructor.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER
66479
+ }, async ()=>{
66480
+ if (!this.manifest) return;
66481
+ const { statsFileName } = getFileName(this.manifest);
66482
+ const stats = compilation.getAsset(statsFileName);
66483
+ if (!stats) return;
66484
+ const statsContent = JSON.parse(stats.source.source().toString());
66485
+ const { shared } = statsContent;
66486
+ Object.entries(this.buildAssets).forEach(([key, item])=>{
66487
+ const targetShared = shared.find((s)=>s.name === key);
66488
+ if (!targetShared) return;
66489
+ item.forEach(([entry, version, globalName])=>{
66490
+ if (version === targetShared.version) {
66491
+ targetShared.fallback = entry;
66492
+ targetShared.fallbackName = globalName;
66493
+ }
66494
+ });
66495
+ });
66496
+ compilation.updateAsset(statsFileName, new compiler.webpack.sources.RawSource(JSON.stringify(statsContent)));
66497
+ });
66498
+ });
66499
+ }
66500
+ async createIndependentCompilers(parentCompiler) {
66501
+ const { sharedOptions, buildAssets } = this;
66502
+ console.log("🚀 Start creating a standalone compiler...");
66503
+ const parentOutputDir = parentCompiler.options.output.path ? (0, path_browserify.basename)(parentCompiler.options.output.path) : "";
66504
+ const shareRequestsMap = await this.createIndependentCompiler(parentCompiler, parentOutputDir);
66505
+ await Promise.all(sharedOptions.map(async ([shareName, shareConfig])=>{
66506
+ if (!shareConfig.treeshake || false === shareConfig.import) return;
66507
+ const shareRequests = shareRequestsMap[shareName].requests;
66508
+ await Promise.all(shareRequests.map(async ([request, version])=>{
66509
+ const sharedConfig = sharedOptions.find(([name])=>name === shareName)?.[1];
66510
+ const [shareFileName, globalName] = await this.createIndependentCompiler(parentCompiler, parentOutputDir, {
66511
+ shareRequestsMap,
66512
+ currentShare: {
66513
+ shareName,
66514
+ version,
66515
+ request,
66516
+ independentShareFileName: sharedConfig?.independentShareFileName
66517
+ }
66518
+ });
66519
+ if ("string" == typeof shareFileName) {
66520
+ buildAssets[shareName] ||= [];
66521
+ buildAssets[shareName].push([
66522
+ shareFileName,
66523
+ version,
66524
+ globalName
66525
+ ]);
66526
+ }
66527
+ }));
66528
+ }));
66529
+ console.log("✅ All independent packages have been compiled successfully");
66530
+ }
66531
+ async createIndependentCompiler(parentCompiler, parentOutputDir, extraOptions) {
66532
+ const { mfName, plugins, outputDir, outputFilePath, sharedOptions, treeshake, library } = this;
66533
+ const outputDirWithShareName = outputFilePath || (0, path_browserify.join)(outputDir, encodeName(extraOptions?.currentShare?.shareName || ""));
66534
+ const parentConfig = parentCompiler.options;
66535
+ const finalPlugins = [];
66536
+ const rspack = parentCompiler.rspack;
66537
+ let extraPlugin;
66538
+ extraPlugin = extraOptions ? new ShareContainerPlugin({
66539
+ mfName,
66540
+ library,
66541
+ ...extraOptions.currentShare
66542
+ }) : new CollectShareEntryPlugin({
66543
+ sharedOptions,
66544
+ shareScope: "default"
66545
+ });
66546
+ (parentConfig.plugins || []).forEach((plugin)=>{
66547
+ if (void 0 !== plugin && "string" != typeof plugin && filterPlugin(plugin)) finalPlugins.push(plugin);
66548
+ });
66549
+ plugins.forEach((plugin)=>{
66550
+ finalPlugins.push(plugin);
66551
+ });
66552
+ finalPlugins.push(extraPlugin);
66553
+ finalPlugins.push(new ConsumeSharedPlugin({
66554
+ consumes: sharedOptions.filter(([key, options])=>extraOptions?.currentShare.shareName !== (options.shareKey || key)).map(([key, options])=>({
66555
+ [key]: {
66556
+ import: extraOptions ? options.import : false,
66557
+ shareKey: options.shareKey || key,
66558
+ shareScope: options.shareScope,
66559
+ requiredVersion: options.requiredVersion,
66560
+ strictVersion: options.strictVersion,
66561
+ singleton: options.singleton,
66562
+ packageName: options.packageName,
66563
+ eager: options.eager
66564
+ }
66565
+ })),
66566
+ enhanced: true
66567
+ }));
66568
+ if (treeshake) finalPlugins.push(new OptimizeDependencyReferencedExportsPlugin(sharedOptions, this.injectUsedExports));
66569
+ finalPlugins.push(new VirtualEntryPlugin(sharedOptions));
66570
+ const fullOutputDir = (0, path_browserify.resolve)(parentCompiler.outputPath, outputDirWithShareName);
66571
+ const compilerConfig = {
66572
+ ...parentConfig,
66573
+ mode: parentConfig.mode || "development",
66574
+ entry: VirtualEntryPlugin.entry,
66575
+ output: {
66576
+ path: fullOutputDir,
66577
+ clean: true,
66578
+ publicPath: parentConfig.output?.publicPath || "auto"
66579
+ },
66580
+ plugins: finalPlugins,
66581
+ optimization: {
66582
+ ...parentConfig.optimization,
66583
+ splitChunks: false
66584
+ }
66585
+ };
66586
+ const compiler = rspack.rspack(compilerConfig);
66587
+ compiler.inputFileSystem = parentCompiler.inputFileSystem;
66588
+ compiler.outputFileSystem = parentCompiler.outputFileSystem;
66589
+ compiler.intermediateFileSystem = parentCompiler.intermediateFileSystem;
66590
+ const { currentShare } = extraOptions || {};
66591
+ currentShare && this.compilers.set(`${currentShare.shareName}@${currentShare.version}`, compiler);
66592
+ return new Promise((resolve, reject)=>{
66593
+ compiler.run((err, stats)=>{
66594
+ if (err || stats?.hasErrors()) {
66595
+ const target = currentShare ? currentShare.shareName : "收集依赖";
66596
+ console.error(`❌ ${target} 编译失败:`, err || stats.toJson().errors.map((e)=>e.message).join("\n"));
66597
+ reject(err || new Error(`${target} 编译失败`));
66598
+ return;
66599
+ }
66600
+ currentShare && console.log(`✅ 独立包 ${currentShare.shareName} 编译成功`);
66601
+ if (stats) {
66602
+ currentShare && console.log(`📊 ${currentShare.shareName} 编译统计:`);
66603
+ console.log(stats.toString({
66604
+ colors: true,
66605
+ chunks: false,
66606
+ modules: false
66607
+ }));
66608
+ }
66609
+ resolve(extraPlugin.getData());
66610
+ });
66611
+ });
66612
+ }
66613
+ cleanup() {
66614
+ this.compilers.forEach((compiler)=>{
66615
+ if (compiler.watching) compiler.watching.close(()=>{
66616
+ console.log("👋 编译器已关闭");
66617
+ });
66618
+ });
66619
+ this.compilers.clear();
66620
+ }
66621
+ constructor(options){
66622
+ IndependentSharePlugin_define_property(this, "mfName", void 0);
66623
+ IndependentSharePlugin_define_property(this, "shared", void 0);
66624
+ IndependentSharePlugin_define_property(this, "library", void 0);
66625
+ IndependentSharePlugin_define_property(this, "sharedOptions", void 0);
66626
+ IndependentSharePlugin_define_property(this, "outputDir", void 0);
66627
+ IndependentSharePlugin_define_property(this, "outputFilePath", void 0);
66628
+ IndependentSharePlugin_define_property(this, "plugins", void 0);
66629
+ IndependentSharePlugin_define_property(this, "compilers", new Map());
66630
+ IndependentSharePlugin_define_property(this, "treeshake", void 0);
66631
+ IndependentSharePlugin_define_property(this, "manifest", void 0);
66632
+ IndependentSharePlugin_define_property(this, "buildAssets", {});
66633
+ IndependentSharePlugin_define_property(this, "injectUsedExports", void 0);
66634
+ IndependentSharePlugin_define_property(this, "name", "IndependentSharePlugin");
66635
+ const { outputDir, outputFilePath, plugins, treeshake, shared, name, manifest, injectUsedExports, library } = options;
66636
+ this.shared = shared;
66637
+ this.mfName = name;
66638
+ this.outputDir = outputFilePath ? "" : outputDir || "independent-packages";
66639
+ this.outputFilePath = outputFilePath;
66640
+ this.plugins = plugins || [];
66641
+ this.treeshake = treeshake;
66642
+ this.manifest = manifest;
66643
+ this.injectUsedExports = injectUsedExports ?? true;
66644
+ this.library = library;
66645
+ this.sharedOptions = parseOptions(shared, (item, key)=>{
66646
+ if ("string" != typeof item) throw new Error(`Unexpected array in shared configuration for key "${key}"`);
66647
+ const config = item !== key && isRequiredVersion(item) ? {
66648
+ import: key,
66649
+ requiredVersion: item
66650
+ } : {
66651
+ import: item
66652
+ };
66653
+ return config;
66654
+ }, (item)=>item);
65915
66655
  }
65916
66656
  }
65917
66657
  const ModuleFederationRuntimePlugin = base_create(external_rspack_wasi_browser_js_.BuiltinPluginName.ModuleFederationRuntimePlugin, (options = {})=>options);
65918
- const options_process = (options, normalizeSimple, normalizeOptions, fn)=>{
65919
- const array = (items)=>{
65920
- for (const item of items)if ("string" == typeof item) fn(item, normalizeSimple(item, item));
65921
- else if (item && "object" == typeof item) object(item);
65922
- else throw new Error("Unexpected options format");
65923
- };
65924
- const object = (obj)=>{
65925
- for (const [key, value] of Object.entries(obj))"string" == typeof value || Array.isArray(value) ? fn(key, normalizeSimple(value, key)) : fn(key, normalizeOptions(value, key));
65926
- };
65927
- if (!options) return;
65928
- if (Array.isArray(options)) array(options);
65929
- else if ("object" == typeof options) object(options);
65930
- else throw new Error("Unexpected options format");
65931
- };
65932
- const parseOptions = (options, normalizeSimple, normalizeOptions)=>{
65933
- const items = [];
65934
- options_process(options, normalizeSimple, normalizeOptions, (key, value)=>{
65935
- items.push([
65936
- key,
65937
- value
65938
- ]);
65939
- });
65940
- return items;
65941
- };
65942
66658
  function ModuleFederationPlugin_define_property(obj, key, value) {
65943
66659
  if (key in obj) Object.defineProperty(obj, key, {
65944
66660
  value: value,
@@ -65951,6 +66667,7 @@ function ModuleFederationPlugin_define_property(obj, key, value) {
65951
66667
  }
65952
66668
  class ModuleFederationPlugin {
65953
66669
  apply(compiler) {
66670
+ const { name, shared } = this._options;
65954
66671
  const { webpack } = compiler;
65955
66672
  const paths = getPaths(this._options);
65956
66673
  compiler.options.resolve.alias = {
@@ -65958,101 +66675,40 @@ class ModuleFederationPlugin {
65958
66675
  "@module-federation/runtime": paths.runtime,
65959
66676
  ...compiler.options.resolve.alias
65960
66677
  };
65961
- const entryRuntime = getDefaultEntryRuntime(paths, this._options, compiler);
65962
- new ModuleFederationRuntimePlugin({
65963
- entryRuntime
65964
- }).apply(compiler);
66678
+ const sharedOptions = getSharedOptions(this._options);
66679
+ const treeshakeEntries = sharedOptions.filter(([, config])=>config.treeshake);
66680
+ if (treeshakeEntries.length > 0) {
66681
+ this._independentSharePlugin = new IndependentSharePlugin({
66682
+ name,
66683
+ shared: shared || {},
66684
+ outputFilePath: this._options.independentShareFilePath
66685
+ });
66686
+ this._independentSharePlugin.apply(compiler);
66687
+ }
66688
+ let runtimePluginApplied = false;
66689
+ compiler.hooks.beforeRun.tapPromise({
66690
+ name: "ModuleFederationPlugin",
66691
+ stage: 100
66692
+ }, async ()=>{
66693
+ if (runtimePluginApplied) return;
66694
+ runtimePluginApplied = true;
66695
+ const entryRuntime = getDefaultEntryRuntime(paths, this._options, compiler, this._independentSharePlugin?.buildAssets || {});
66696
+ new ModuleFederationRuntimePlugin({
66697
+ entryRuntime
66698
+ }).apply(compiler);
66699
+ });
65965
66700
  new webpack.container.ModuleFederationPluginV1({
65966
66701
  ...this._options,
65967
66702
  enhanced: true
65968
66703
  }).apply(compiler);
65969
- if (this._options.manifest) {
65970
- const manifestOptions = true === this._options.manifest ? {} : {
65971
- ...this._options.manifest
65972
- };
65973
- const containerName = manifestOptions.name ?? this._options.name;
65974
- const globalName = manifestOptions.globalName ?? resolveLibraryGlobalName(this._options.library) ?? containerName;
65975
- const remoteAliasMap = Object.entries(getRemoteInfos(this._options)).reduce((sum, cur)=>{
65976
- if (cur[1].length > 1) return sum;
65977
- const remoteInfo = cur[1][0];
65978
- const { entry, alias, name } = remoteInfo;
65979
- if (entry && name) sum[alias] = {
65980
- name,
65981
- entry
65982
- };
65983
- return sum;
65984
- }, {});
65985
- const manifestExposes = collectManifestExposes(this._options.exposes);
65986
- if (void 0 === manifestOptions.exposes && manifestExposes) manifestOptions.exposes = manifestExposes;
65987
- const manifestShared = collectManifestShared(this._options.shared);
65988
- if (void 0 === manifestOptions.shared && manifestShared) manifestOptions.shared = manifestShared;
65989
- new ModuleFederationManifestPlugin({
65990
- ...manifestOptions,
65991
- name: containerName,
65992
- globalName,
65993
- remoteAliasMap
65994
- }).apply(compiler);
65995
- }
66704
+ if (this._options.manifest) new ModuleFederationManifestPlugin(this._options).apply(compiler);
65996
66705
  }
65997
66706
  constructor(_options){
65998
66707
  ModuleFederationPlugin_define_property(this, "_options", void 0);
66708
+ ModuleFederationPlugin_define_property(this, "_independentSharePlugin", void 0);
65999
66709
  this._options = _options;
66000
66710
  }
66001
66711
  }
66002
- function collectManifestExposes(exposes) {
66003
- if (!exposes) return;
66004
- const parsed = parseOptions(exposes, (value, key)=>({
66005
- import: Array.isArray(value) ? value : [
66006
- value
66007
- ],
66008
- name: void 0
66009
- }), (value)=>({
66010
- import: Array.isArray(value.import) ? value.import : [
66011
- value.import
66012
- ],
66013
- name: value.name ?? void 0
66014
- }));
66015
- const result = parsed.map(([exposeKey, info])=>{
66016
- const exposeName = info.name ?? exposeKey.replace(/^\.\//, "");
66017
- return {
66018
- path: exposeKey,
66019
- name: exposeName
66020
- };
66021
- });
66022
- return result.length > 0 ? result : void 0;
66023
- }
66024
- function collectManifestShared(shared) {
66025
- if (!shared) return;
66026
- const parsed = parseOptions(shared, (item, key)=>{
66027
- if ("string" != typeof item) throw new Error("Unexpected array in shared");
66028
- return item !== key && isRequiredVersion(item) ? {
66029
- import: key,
66030
- requiredVersion: item
66031
- } : {
66032
- import: item
66033
- };
66034
- }, (item)=>item);
66035
- const result = parsed.map(([key, config])=>{
66036
- const name = config.shareKey || key;
66037
- const version = "string" == typeof config.version ? config.version : void 0;
66038
- const requiredVersion = "string" == typeof config.requiredVersion ? config.requiredVersion : void 0;
66039
- return {
66040
- name,
66041
- version,
66042
- requiredVersion,
66043
- singleton: config.singleton
66044
- };
66045
- });
66046
- return result.length > 0 ? result : void 0;
66047
- }
66048
- function resolveLibraryGlobalName(library) {
66049
- if (!library) return;
66050
- const libName = library.name;
66051
- if (!libName) return;
66052
- if ("string" == typeof libName) return libName;
66053
- if (Array.isArray(libName)) return libName[0];
66054
- if ("object" == typeof libName) return libName.root?.[0] ?? libName.amd ?? libName.commonjs ?? void 0;
66055
- }
66056
66712
  function getRemoteInfos(options) {
66057
66713
  if (!options.remotes) return {};
66058
66714
  function extractUrlAndGlobal(urlAndGlobal) {
@@ -66119,6 +66775,18 @@ function getRemoteInfos(options) {
66119
66775
  function getRuntimePlugins(options) {
66120
66776
  return options.runtimePlugins ?? [];
66121
66777
  }
66778
+ function getSharedOptions(options) {
66779
+ if (!options.shared) return [];
66780
+ return parseOptions(options.shared, (item, key)=>{
66781
+ if ("string" != typeof item) throw new Error("Unexpected array in shared");
66782
+ return item !== key && isRequiredVersion(item) ? {
66783
+ import: key,
66784
+ requiredVersion: item
66785
+ } : {
66786
+ import: item
66787
+ };
66788
+ }, (item)=>item);
66789
+ }
66122
66790
  function getPaths(options) {
66123
66791
  return {
66124
66792
  runtimeTools: "@module-federation/runtime-tools",
@@ -66126,7 +66794,7 @@ function getPaths(options) {
66126
66794
  runtime: "@module-federation/runtime"
66127
66795
  };
66128
66796
  }
66129
- function getDefaultEntryRuntime(paths, options, compiler) {
66797
+ function getDefaultEntryRuntime(paths, options, compiler, treeshakeShareFallbacks) {
66130
66798
  const runtimePlugins = getRuntimePlugins(options);
66131
66799
  const remoteInfos = getRemoteInfos(options);
66132
66800
  const runtimePluginImports = [];
@@ -66147,215 +66815,11 @@ function getDefaultEntryRuntime(paths, options, compiler) {
66147
66815
  `const __module_federation_remote_infos__ = ${JSON.stringify(remoteInfos)}`,
66148
66816
  `const __module_federation_container_name__ = ${JSON.stringify(options.name ?? compiler.options.output.uniqueName)}`,
66149
66817
  `const __module_federation_share_strategy__ = ${JSON.stringify(options.shareStrategy ?? "version-first")}`,
66150
- 'if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value==="object"&&value!==null){var _obj1,_key1;var _1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};var __webpack_require___remotesLoadingData_chunkMapping;const remotesLoadingChunkMapping=(__webpack_require___remotesLoadingData_chunkMapping=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&__webpack_require___remotesLoadingData_chunkMapping!==void 0?__webpack_require___remotesLoadingData_chunkMapping:{};var __webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping;const remotesLoadingModuleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping!==void 0?__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping:{};var __webpack_require___initializeSharingData_scopeToSharingDataMapping;const initializeSharingScopeToInitDataMapping=(__webpack_require___initializeSharingData_scopeToSharingDataMapping=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&__webpack_require___initializeSharingData_scopeToSharingDataMapping!==void 0?__webpack_require___initializeSharingData_scopeToSharingDataMapping:{};var __webpack_require___consumesLoadingData_chunkMapping;const consumesLoadingChunkMapping=(__webpack_require___consumesLoadingData_chunkMapping=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&__webpack_require___consumesLoadingData_chunkMapping!==void 0?__webpack_require___consumesLoadingData_chunkMapping:{};var __webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping;const consumesLoadingModuleToConsumeDataMapping=(__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping!==void 0?__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,"consumesLoadingModuleToHandlerMapping",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,"initOptions",()=>({}));early(__webpack_require__.federation.initOptions,"name",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,"shareStrategy",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,"shared",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage==="object"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!=="undefined"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,"remotes",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType==="script"));merge(__webpack_require__.federation.initOptions,"plugins",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,"bundlerRuntimeOptions",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,"remotes",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,"S",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,"remotes",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,"consumes",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,"I",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,"initContainer",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,"getContainer",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error(\'Module "\'+module1+\'" does not exist in container.\')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}'
66818
+ `const __module_federation_share_fallbacks__ = ${JSON.stringify(treeshakeShareFallbacks)}`,
66819
+ 'if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value==="object"&&value!==null){var _obj1,_key1;var _1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};var __webpack_require___remotesLoadingData_chunkMapping;const remotesLoadingChunkMapping=(__webpack_require___remotesLoadingData_chunkMapping=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&__webpack_require___remotesLoadingData_chunkMapping!==void 0?__webpack_require___remotesLoadingData_chunkMapping:{};var __webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping;const remotesLoadingModuleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping!==void 0?__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping:{};var __webpack_require___initializeSharingData_scopeToSharingDataMapping;const initializeSharingScopeToInitDataMapping=(__webpack_require___initializeSharingData_scopeToSharingDataMapping=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&__webpack_require___initializeSharingData_scopeToSharingDataMapping!==void 0?__webpack_require___initializeSharingData_scopeToSharingDataMapping:{};var __webpack_require___consumesLoadingData_chunkMapping;const consumesLoadingChunkMapping=(__webpack_require___consumesLoadingData_chunkMapping=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&__webpack_require___consumesLoadingData_chunkMapping!==void 0?__webpack_require___consumesLoadingData_chunkMapping:{};var __webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping;const consumesLoadingModuleToConsumeDataMapping=(__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping!==void 0?__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;const shareFallbacks=__module_federation_share_fallbacks__||{};for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,"consumesLoadingModuleToHandlerMapping",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,"initOptions",()=>({}));early(__webpack_require__.federation.initOptions,"name",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,"shareStrategy",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,"shared",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage==="object"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!=="undefined"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};const fallbackEntry=shareFallbacks[name];if(fallbackEntry){const fallbackUrl=(__webpack_require__.p||"")+fallbackEntry[1];options.fallbackName=fallbackEntry[0];shareConfig.fallback=fallbackUrl;options.fallback=function(){return __webpack_require__.federation.importExternal(fallbackUrl)}}if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,"remotes",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType==="script"));merge(__webpack_require__.federation.initOptions,"plugins",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,"bundlerRuntimeOptions",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,"remotes",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>__webpack_require__);if(Object.keys(shareFallbacks).length){early(__webpack_require__.federation.bundlerRuntimeOptions,"sharedEntries",()=>shareFallbacks)}merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,"S",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,"remotes",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,"consumes",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,"I",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,"initContainer",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,"getContainer",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error(\'Module "\'+module1+\'" does not exist in container.\')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}'
66151
66820
  ].join(";");
66152
66821
  return `@module-federation/runtime/rspack.js!=!data:text/javascript,${content}`;
66153
66822
  }
66154
- function ShareRuntimePlugin_define_property(obj, key, value) {
66155
- if (key in obj) Object.defineProperty(obj, key, {
66156
- value: value,
66157
- enumerable: true,
66158
- configurable: true,
66159
- writable: true
66160
- });
66161
- else obj[key] = value;
66162
- return obj;
66163
- }
66164
- const compilerSet = new WeakSet();
66165
- function isSingleton(compiler) {
66166
- return compilerSet.has(compiler);
66167
- }
66168
- function setSingleton(compiler) {
66169
- compilerSet.add(compiler);
66170
- }
66171
- class ShareRuntimePlugin extends RspackBuiltinPlugin {
66172
- raw(compiler) {
66173
- if (isSingleton(compiler)) return;
66174
- setSingleton(compiler);
66175
- return createBuiltinPlugin(this.name, this.enhanced);
66176
- }
66177
- constructor(enhanced = false){
66178
- super(), ShareRuntimePlugin_define_property(this, "enhanced", void 0), ShareRuntimePlugin_define_property(this, "name", void 0), this.enhanced = enhanced, this.name = external_rspack_wasi_browser_js_.BuiltinPluginName.ShareRuntimePlugin;
66179
- }
66180
- }
66181
- function ConsumeSharedPlugin_define_property(obj, key, value) {
66182
- if (key in obj) Object.defineProperty(obj, key, {
66183
- value: value,
66184
- enumerable: true,
66185
- configurable: true,
66186
- writable: true
66187
- });
66188
- else obj[key] = value;
66189
- return obj;
66190
- }
66191
- class ConsumeSharedPlugin extends RspackBuiltinPlugin {
66192
- raw(compiler) {
66193
- new ShareRuntimePlugin(this._options.enhanced).apply(compiler);
66194
- const rawOptions = {
66195
- consumes: this._options.consumes.map(([key, v])=>({
66196
- key,
66197
- ...v
66198
- })),
66199
- enhanced: this._options.enhanced
66200
- };
66201
- return createBuiltinPlugin(this.name, rawOptions);
66202
- }
66203
- constructor(options){
66204
- super(), ConsumeSharedPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.ConsumeSharedPlugin), ConsumeSharedPlugin_define_property(this, "_options", void 0);
66205
- this._options = {
66206
- consumes: parseOptions(options.consumes, (item, key)=>{
66207
- if (Array.isArray(item)) throw new Error("Unexpected array in options");
66208
- const result = item !== key && isRequiredVersion(item) ? {
66209
- import: key,
66210
- shareScope: options.shareScope || "default",
66211
- shareKey: key,
66212
- requiredVersion: item,
66213
- strictVersion: true,
66214
- packageName: void 0,
66215
- singleton: false,
66216
- eager: false
66217
- } : {
66218
- import: key,
66219
- shareScope: options.shareScope || "default",
66220
- shareKey: key,
66221
- requiredVersion: void 0,
66222
- packageName: void 0,
66223
- strictVersion: false,
66224
- singleton: false,
66225
- eager: false
66226
- };
66227
- return result;
66228
- }, (item, key)=>({
66229
- import: false === item.import ? void 0 : item.import || key,
66230
- shareScope: item.shareScope || options.shareScope || "default",
66231
- shareKey: item.shareKey || key,
66232
- requiredVersion: item.requiredVersion,
66233
- strictVersion: "boolean" == typeof item.strictVersion ? item.strictVersion : false !== item.import && !item.singleton,
66234
- packageName: item.packageName,
66235
- singleton: !!item.singleton,
66236
- eager: !!item.eager
66237
- })),
66238
- enhanced: options.enhanced ?? false
66239
- };
66240
- }
66241
- }
66242
- function ProvideSharedPlugin_define_property(obj, key, value) {
66243
- if (key in obj) Object.defineProperty(obj, key, {
66244
- value: value,
66245
- enumerable: true,
66246
- configurable: true,
66247
- writable: true
66248
- });
66249
- else obj[key] = value;
66250
- return obj;
66251
- }
66252
- class ProvideSharedPlugin extends RspackBuiltinPlugin {
66253
- raw(compiler) {
66254
- new ShareRuntimePlugin(this._enhanced ?? false).apply(compiler);
66255
- const rawOptions = this._provides.map(([key, v])=>({
66256
- key,
66257
- ...v
66258
- }));
66259
- return createBuiltinPlugin(this.name, rawOptions);
66260
- }
66261
- constructor(options){
66262
- super(), ProvideSharedPlugin_define_property(this, "name", external_rspack_wasi_browser_js_.BuiltinPluginName.ProvideSharedPlugin), ProvideSharedPlugin_define_property(this, "_provides", void 0), ProvideSharedPlugin_define_property(this, "_enhanced", void 0);
66263
- this._provides = parseOptions(options.provides, (item)=>{
66264
- if (Array.isArray(item)) throw new Error("Unexpected array of provides");
66265
- return {
66266
- shareKey: item,
66267
- version: void 0,
66268
- shareScope: options.shareScope || "default",
66269
- eager: false
66270
- };
66271
- }, (item)=>{
66272
- const raw = {
66273
- shareKey: item.shareKey,
66274
- version: item.version,
66275
- shareScope: item.shareScope || options.shareScope || "default",
66276
- eager: !!item.eager
66277
- };
66278
- if (options.enhanced) {
66279
- const enhancedItem = item;
66280
- return {
66281
- ...raw,
66282
- singleton: enhancedItem.singleton,
66283
- requiredVersion: enhancedItem.requiredVersion,
66284
- strictVersion: enhancedItem.strictVersion
66285
- };
66286
- }
66287
- return raw;
66288
- });
66289
- this._enhanced = options.enhanced;
66290
- }
66291
- }
66292
- function SharePlugin_define_property(obj, key, value) {
66293
- if (key in obj) Object.defineProperty(obj, key, {
66294
- value: value,
66295
- enumerable: true,
66296
- configurable: true,
66297
- writable: true
66298
- });
66299
- else obj[key] = value;
66300
- return obj;
66301
- }
66302
- class SharePlugin {
66303
- apply(compiler) {
66304
- new ConsumeSharedPlugin({
66305
- shareScope: this._shareScope,
66306
- consumes: this._consumes,
66307
- enhanced: this._enhanced
66308
- }).apply(compiler);
66309
- new ProvideSharedPlugin({
66310
- shareScope: this._shareScope,
66311
- provides: this._provides,
66312
- enhanced: this._enhanced
66313
- }).apply(compiler);
66314
- }
66315
- constructor(options){
66316
- SharePlugin_define_property(this, "_shareScope", void 0);
66317
- SharePlugin_define_property(this, "_consumes", void 0);
66318
- SharePlugin_define_property(this, "_provides", void 0);
66319
- SharePlugin_define_property(this, "_enhanced", void 0);
66320
- const sharedOptions = parseOptions(options.shared, (item, key)=>{
66321
- if ("string" != typeof item) throw new Error("Unexpected array in shared");
66322
- const config = item !== key && isRequiredVersion(item) ? {
66323
- import: key,
66324
- requiredVersion: item
66325
- } : {
66326
- import: item
66327
- };
66328
- return config;
66329
- }, (item)=>item);
66330
- const consumes = sharedOptions.map(([key, options])=>({
66331
- [key]: {
66332
- import: options.import,
66333
- shareKey: options.shareKey || key,
66334
- shareScope: options.shareScope,
66335
- requiredVersion: options.requiredVersion,
66336
- strictVersion: options.strictVersion,
66337
- singleton: options.singleton,
66338
- packageName: options.packageName,
66339
- eager: options.eager
66340
- }
66341
- }));
66342
- const provides = sharedOptions.filter(([, options])=>false !== options.import).map(([key, options])=>({
66343
- [options.import || key]: {
66344
- shareKey: options.shareKey || key,
66345
- shareScope: options.shareScope,
66346
- version: options.version,
66347
- eager: options.eager,
66348
- singleton: options.singleton,
66349
- requiredVersion: options.requiredVersion,
66350
- strictVersion: options.strictVersion
66351
- }
66352
- }));
66353
- this._shareScope = options.shareScope;
66354
- this._consumes = consumes;
66355
- this._provides = provides;
66356
- this._enhanced = options.enhanced ?? false;
66357
- }
66358
- }
66359
66823
  function ContainerPlugin_define_property(obj, key, value) {
66360
66824
  if (key in obj) Object.defineProperty(obj, key, {
66361
66825
  value: value,
@@ -66512,6 +66976,46 @@ class ModuleFederationPluginV1 {
66512
66976
  this._options = _options;
66513
66977
  }
66514
66978
  }
66979
+ function TreeShakeSharePlugin_define_property(obj, key, value) {
66980
+ if (key in obj) Object.defineProperty(obj, key, {
66981
+ value: value,
66982
+ enumerable: true,
66983
+ configurable: true,
66984
+ writable: true
66985
+ });
66986
+ else obj[key] = value;
66987
+ return obj;
66988
+ }
66989
+ class TreeshakeSharePlugin {
66990
+ apply(compiler) {
66991
+ const { mfConfig, outputDir, plugins, reshake } = this;
66992
+ const { name, shared, library } = mfConfig;
66993
+ if (!shared) return;
66994
+ const sharedOptions = normalizeSharedOptions(shared);
66995
+ if (!sharedOptions.length) return;
66996
+ if (!reshake) new OptimizeDependencyReferencedExportsPlugin(sharedOptions, mfConfig.injectUsedExports, mfConfig.manifest).apply(compiler);
66997
+ if (sharedOptions.some(([_, config])=>config.treeshake && false !== config.import)) new IndependentSharePlugin({
66998
+ name: name,
66999
+ shared: shared,
67000
+ outputDir,
67001
+ plugins,
67002
+ treeshake: reshake,
67003
+ library
67004
+ }).apply(compiler);
67005
+ }
67006
+ constructor(options){
67007
+ TreeShakeSharePlugin_define_property(this, "mfConfig", void 0);
67008
+ TreeShakeSharePlugin_define_property(this, "outputDir", void 0);
67009
+ TreeShakeSharePlugin_define_property(this, "plugins", void 0);
67010
+ TreeShakeSharePlugin_define_property(this, "reshake", void 0);
67011
+ TreeShakeSharePlugin_define_property(this, "name", "TreeshakeSharePlugin");
67012
+ const { mfConfig, plugins, reshake } = options;
67013
+ this.mfConfig = mfConfig;
67014
+ this.outputDir = mfConfig.independentShareDir || "independent-packages";
67015
+ this.plugins = plugins;
67016
+ this.reshake = Boolean(reshake);
67017
+ }
67018
+ }
66515
67019
  async function minify(source, options) {
66516
67020
  const _options = JSON.stringify(options || {});
66517
67021
  return external_rspack_wasi_browser_js_["default"].minify(source, _options);
@@ -66528,7 +67032,7 @@ function transformSync(source, options) {
66528
67032
  const _options = JSON.stringify(options || {});
66529
67033
  return external_rspack_wasi_browser_js_["default"].transformSync(source, _options);
66530
67034
  }
66531
- const exports_rspackVersion = "1.6.5-canary-480f74ac-20251120174032";
67035
+ const exports_rspackVersion = "1.6.5-canary-1b7f543c-20251121112112";
66532
67036
  const exports_version = "5.75.0";
66533
67037
  const exports_WebpackError = Error;
66534
67038
  const sources = __webpack_require__("../../node_modules/.pnpm/webpack-sources@3.3.3_patch_hash=b2a26650f08a2359d0a3cd81fa6fa272aa7441a28dd7e601792da5ed5d2b4aee/node_modules/webpack-sources/lib/index.js");
@@ -66579,6 +67083,10 @@ const container = {
66579
67083
  };
66580
67084
  const sharing = {
66581
67085
  ProvideSharedPlugin: ProvideSharedPlugin,
67086
+ CollectShareEntryPlugin: CollectShareEntryPlugin,
67087
+ TreeshakeSharePlugin: TreeshakeSharePlugin,
67088
+ ShareContainerPlugin: ShareContainerPlugin,
67089
+ OptimizeDependencyReferencedExportsPlugin: OptimizeDependencyReferencedExportsPlugin,
66582
67090
  ConsumeSharedPlugin: ConsumeSharedPlugin,
66583
67091
  SharePlugin: SharePlugin
66584
67092
  };
@@ -66687,7 +67195,7 @@ function createCompiler(userOptions) {
66687
67195
  function isMultiRspackOptions(o) {
66688
67196
  return Array.isArray(o);
66689
67197
  }
66690
- function rspack(options, callback) {
67198
+ function rspack_rspack(options, callback) {
66691
67199
  try {
66692
67200
  if (isMultiRspackOptions(options)) for (const option of options)validateRspackConfig(option);
66693
67201
  else validateRspackConfig(options);
@@ -66737,7 +67245,7 @@ function rspack(options, callback) {
66737
67245
  return compiler;
66738
67246
  }
66739
67247
  }
66740
- const src_fn = Object.assign(rspack, exports_namespaceObject);
67248
+ const src_fn = Object.assign(rspack_rspack, exports_namespaceObject);
66741
67249
  src_fn.rspack = src_fn;
66742
67250
  src_fn.webpack = src_fn;
66743
67251
  const src_rspack_0 = src_fn;