@rspack-canary/core 1.7.3-canary-467a44da-20260119082229 → 1.7.3-canary-6991b7b5-20260119174555
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/container/ModuleFederationManifestPlugin.d.ts +3 -10
- package/dist/container/ModuleFederationPlugin.d.ts +1 -17
- package/dist/exports.d.ts +0 -3
- package/dist/index.js +279 -679
- package/dist/moduleFederationDefaultRuntime.js +1 -1
- package/dist/sharing/ConsumeSharedPlugin.d.ts +0 -13
- package/dist/sharing/ProvideSharedPlugin.d.ts +0 -19
- package/dist/sharing/SharePlugin.d.ts +0 -36
- package/dist/sharing/utils.d.ts +0 -1
- package/package.json +3 -3
- package/dist/sharing/CollectSharedEntryPlugin.d.ts +0 -22
- package/dist/sharing/IndependentSharedPlugin.d.ts +0 -35
- package/dist/sharing/SharedContainerPlugin.d.ts +0 -23
- package/dist/sharing/SharedUsedExportsOptimizerPlugin.d.ts +0 -14
- package/dist/sharing/TreeShakingSharedPlugin.d.ts +0 -16
package/dist/index.js
CHANGED
|
@@ -5882,7 +5882,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
5882
5882
|
}, applyExperimentsDefaults = (experiments, { development })=>{
|
|
5883
5883
|
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
5884
|
}, applybundlerInfoDefaults = (rspackFuture, library)=>{
|
|
5885
|
-
'object' == typeof rspackFuture && (D(rspackFuture, 'bundlerInfo', {}), 'object' == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, 'version', "1.7.3-canary-
|
|
5885
|
+
'object' == typeof rspackFuture && (D(rspackFuture, 'bundlerInfo', {}), 'object' == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, 'version', "1.7.3-canary-6991b7b5-20260119174555"), D(rspackFuture.bundlerInfo, 'bundler', 'rspack'), D(rspackFuture.bundlerInfo, 'force', !library)));
|
|
5886
5886
|
}, applySnapshotDefaults = (_snapshot, _env)=>{}, applyCssGeneratorOptionsDefaults = (generatorOptions, { targetProperties })=>{
|
|
5887
5887
|
D(generatorOptions, 'exportsOnly', !targetProperties || !1 === targetProperties.document), D(generatorOptions, 'esModule', !0);
|
|
5888
5888
|
}, applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProperties, mode, uniqueName, deferImport })=>{
|
|
@@ -7450,7 +7450,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
7450
7450
|
obj.children = this.stats.map((stat, idx)=>{
|
|
7451
7451
|
let obj = stat.toJson(childOptions.children[idx]), compilationName = stat.compilation.name;
|
|
7452
7452
|
return obj.name = compilationName && makePathsRelative(childOptions.context, compilationName, stat.compilation.compiler.root), obj;
|
|
7453
|
-
}), childOptions.version && (obj.rspackVersion = "1.7.3-canary-
|
|
7453
|
+
}), childOptions.version && (obj.rspackVersion = "1.7.3-canary-6991b7b5-20260119174555", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(''));
|
|
7454
7454
|
let mapError = (j, obj)=>({
|
|
7455
7455
|
...obj,
|
|
7456
7456
|
compilerPath: obj.compilerPath ? `${j.name}.${obj.compilerPath}` : j.name
|
|
@@ -8706,7 +8706,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
8706
8706
|
object.hash = context.getStatsCompilation(compilation).hash;
|
|
8707
8707
|
},
|
|
8708
8708
|
version: (object)=>{
|
|
8709
|
-
object.version = "5.75.0", object.rspackVersion = "1.7.3-canary-
|
|
8709
|
+
object.version = "5.75.0", object.rspackVersion = "1.7.3-canary-6991b7b5-20260119174555";
|
|
8710
8710
|
},
|
|
8711
8711
|
env: (object, _compilation, _context, { _env })=>{
|
|
8712
8712
|
object.env = _env;
|
|
@@ -10135,7 +10135,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
10135
10135
|
function isMultiRspackOptions(o) {
|
|
10136
10136
|
return Array.isArray(o);
|
|
10137
10137
|
}
|
|
10138
|
-
function
|
|
10138
|
+
function rspack(options, callback) {
|
|
10139
10139
|
try {
|
|
10140
10140
|
if (isMultiRspackOptions(options)) for (let option of options)validateRspackConfig(option);
|
|
10141
10141
|
else validateRspackConfig(options);
|
|
@@ -10431,7 +10431,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
10431
10431
|
});
|
|
10432
10432
|
}
|
|
10433
10433
|
}
|
|
10434
|
-
let CORE_VERSION = "1.7.3-canary-
|
|
10434
|
+
let CORE_VERSION = "1.7.3-canary-6991b7b5-20260119174555", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
|
|
10435
10435
|
|
|
10436
10436
|
Help:
|
|
10437
10437
|
Looks like you are using a custom binding (via environment variable 'RSPACK_BINDING=${process.env.RSPACK_BINDING}').
|
|
@@ -10752,7 +10752,7 @@ Help:
|
|
|
10752
10752
|
additionalPass: new lite_tapable_namespaceObject.AsyncSeriesHook([])
|
|
10753
10753
|
};
|
|
10754
10754
|
const compilerRuntimeGlobals = createCompilerRuntimeGlobals(options), compilerRspack = Object.assign(function(...params) {
|
|
10755
|
-
return
|
|
10755
|
+
return rspack(...params);
|
|
10756
10756
|
}, exports_namespaceObject, {
|
|
10757
10757
|
RuntimeGlobals: compilerRuntimeGlobals
|
|
10758
10758
|
});
|
|
@@ -11847,7 +11847,69 @@ Help:
|
|
|
11847
11847
|
});
|
|
11848
11848
|
}
|
|
11849
11849
|
}
|
|
11850
|
-
let
|
|
11850
|
+
let VERSION_PATTERN_REGEXP = /^([\d^=v<>~]|[*xX]$)/;
|
|
11851
|
+
function isRequiredVersion(str) {
|
|
11852
|
+
return VERSION_PATTERN_REGEXP.test(str);
|
|
11853
|
+
}
|
|
11854
|
+
let MANIFEST_FILE_NAME = 'mf-manifest.json', STATS_FILE_NAME = 'mf-stats.json', JSON_EXT = '.json';
|
|
11855
|
+
function isPlainObject(value) {
|
|
11856
|
+
return !!value && 'object' == typeof value && !Array.isArray(value);
|
|
11857
|
+
}
|
|
11858
|
+
class ModuleFederationManifestPlugin extends RspackBuiltinPlugin {
|
|
11859
|
+
name = binding_.BuiltinPluginName.ModuleFederationManifestPlugin;
|
|
11860
|
+
opts;
|
|
11861
|
+
constructor(opts){
|
|
11862
|
+
super(), this.opts = opts;
|
|
11863
|
+
}
|
|
11864
|
+
raw(compiler) {
|
|
11865
|
+
var isDev;
|
|
11866
|
+
let pkg, buildVersion, { fileName, filePath, disableAssetsAnalyze, remoteAliasMap, exposes, shared } = this.opts, { statsFileName, manifestFileName } = function(manifestOptions) {
|
|
11867
|
+
var name;
|
|
11868
|
+
if (!manifestOptions) return {
|
|
11869
|
+
statsFileName: STATS_FILE_NAME,
|
|
11870
|
+
manifestFileName: MANIFEST_FILE_NAME
|
|
11871
|
+
};
|
|
11872
|
+
let filePath = 'boolean' == typeof manifestOptions ? '' : manifestOptions.filePath || '', fileName = 'boolean' == typeof manifestOptions ? '' : manifestOptions.fileName || '', manifestFileName = fileName ? (name = fileName).endsWith(JSON_EXT) ? name : `${name}${JSON_EXT}` : MANIFEST_FILE_NAME, statsFileName = fileName ? manifestFileName.replace(JSON_EXT, `-stats${JSON_EXT}`) : STATS_FILE_NAME;
|
|
11873
|
+
return {
|
|
11874
|
+
statsFileName: (0, external_node_path_namespaceObject.join)(filePath, statsFileName),
|
|
11875
|
+
manifestFileName: (0, external_node_path_namespaceObject.join)(filePath, manifestFileName)
|
|
11876
|
+
};
|
|
11877
|
+
}(this.opts), rawOptions = {
|
|
11878
|
+
name: this.opts.name,
|
|
11879
|
+
globalName: this.opts.globalName,
|
|
11880
|
+
fileName,
|
|
11881
|
+
filePath,
|
|
11882
|
+
manifestFileName,
|
|
11883
|
+
statsFileName,
|
|
11884
|
+
disableAssetsAnalyze,
|
|
11885
|
+
remoteAliasMap,
|
|
11886
|
+
exposes,
|
|
11887
|
+
shared,
|
|
11888
|
+
buildInfo: (isDev = 'development' === compiler.options.mode, pkg = function(root) {
|
|
11889
|
+
let base = root ? (0, external_node_path_namespaceObject.resolve)(root) : process.cwd(), pkgPath = (0, external_node_path_namespaceObject.join)(base, 'package.json');
|
|
11890
|
+
try {
|
|
11891
|
+
let content = (0, external_node_fs_namespaceObject.readFileSync)(pkgPath, 'utf-8'), parsed = function(input, guard) {
|
|
11892
|
+
try {
|
|
11893
|
+
let parsed = JSON.parse(input);
|
|
11894
|
+
if (guard(parsed)) return parsed;
|
|
11895
|
+
} catch {}
|
|
11896
|
+
}(content, isPlainObject);
|
|
11897
|
+
if (parsed) {
|
|
11898
|
+
let filtered = {};
|
|
11899
|
+
for (let [key, value] of Object.entries(parsed))'string' == typeof value && (filtered[key] = value);
|
|
11900
|
+
if (Object.keys(filtered).length > 0) return filtered;
|
|
11901
|
+
}
|
|
11902
|
+
} catch {}
|
|
11903
|
+
return {};
|
|
11904
|
+
}(compiler.context || process.cwd()), buildVersion = isDev ? 'local' : pkg?.version, {
|
|
11905
|
+
buildVersion: process.env.MF_BUILD_VERSION || buildVersion || 'UNKNOWN',
|
|
11906
|
+
buildName: process.env.MF_BUILD_NAME || pkg?.name || 'UNKNOWN'
|
|
11907
|
+
})
|
|
11908
|
+
};
|
|
11909
|
+
return createBuiltinPlugin(this.name, rawOptions);
|
|
11910
|
+
}
|
|
11911
|
+
}
|
|
11912
|
+
let ModuleFederationRuntimePlugin = base_create(binding_.BuiltinPluginName.ModuleFederationRuntimePlugin, (options = {})=>options), parseOptions = (options, normalizeSimple, normalizeOptions)=>{
|
|
11851
11913
|
let items = [];
|
|
11852
11914
|
var options1 = options, normalizeSimple1 = normalizeSimple, normalizeOptions1 = normalizeOptions, fn = (key, value)=>{
|
|
11853
11915
|
items.push([
|
|
@@ -11866,7 +11928,63 @@ Help:
|
|
|
11866
11928
|
} else if ('object' == typeof options1) object(options1);
|
|
11867
11929
|
else throw Error('Unexpected options format');
|
|
11868
11930
|
return items;
|
|
11869
|
-
}
|
|
11931
|
+
};
|
|
11932
|
+
function getRemoteInfos(options) {
|
|
11933
|
+
if (!options.remotes) return {};
|
|
11934
|
+
let remoteType = options.remoteType || (options.library ? options.library.type : "script"), remotes = parseOptions(options.remotes, (item)=>({
|
|
11935
|
+
external: Array.isArray(item) ? item : [
|
|
11936
|
+
item
|
|
11937
|
+
],
|
|
11938
|
+
shareScope: options.shareScope || 'default'
|
|
11939
|
+
}), (item)=>({
|
|
11940
|
+
external: Array.isArray(item.external) ? item.external : [
|
|
11941
|
+
item.external
|
|
11942
|
+
],
|
|
11943
|
+
shareScope: item.shareScope || options.shareScope || 'default'
|
|
11944
|
+
})), remoteInfos = {};
|
|
11945
|
+
for (let [key, config] of remotes)for (let external of config.external){
|
|
11946
|
+
let [externalType, externalRequest] = function(external) {
|
|
11947
|
+
let result = function(external) {
|
|
11948
|
+
if (/^[a-z0-9-]+ /.test(external)) {
|
|
11949
|
+
let idx = external.indexOf(' ');
|
|
11950
|
+
return [
|
|
11951
|
+
external.slice(0, idx),
|
|
11952
|
+
external.slice(idx + 1)
|
|
11953
|
+
];
|
|
11954
|
+
}
|
|
11955
|
+
return null;
|
|
11956
|
+
}(external);
|
|
11957
|
+
return null === result ? [
|
|
11958
|
+
remoteType,
|
|
11959
|
+
external
|
|
11960
|
+
] : result;
|
|
11961
|
+
}(external);
|
|
11962
|
+
if (remoteInfos[key] ??= [], "script" === externalType) {
|
|
11963
|
+
let [url, global] = function(urlAndGlobal) {
|
|
11964
|
+
let index = urlAndGlobal.indexOf('@');
|
|
11965
|
+
return index <= 0 || index === urlAndGlobal.length - 1 ? null : [
|
|
11966
|
+
urlAndGlobal.substring(index + 1),
|
|
11967
|
+
urlAndGlobal.substring(0, index)
|
|
11968
|
+
];
|
|
11969
|
+
}(externalRequest);
|
|
11970
|
+
remoteInfos[key].push({
|
|
11971
|
+
alias: key,
|
|
11972
|
+
name: global,
|
|
11973
|
+
entry: url,
|
|
11974
|
+
externalType,
|
|
11975
|
+
shareScope: config.shareScope
|
|
11976
|
+
});
|
|
11977
|
+
} else remoteInfos[key].push({
|
|
11978
|
+
alias: key,
|
|
11979
|
+
name: void 0,
|
|
11980
|
+
entry: void 0,
|
|
11981
|
+
externalType,
|
|
11982
|
+
shareScope: config.shareScope
|
|
11983
|
+
});
|
|
11984
|
+
}
|
|
11985
|
+
return remoteInfos;
|
|
11986
|
+
}
|
|
11987
|
+
let compilerSet = new WeakSet();
|
|
11870
11988
|
class ShareRuntimePlugin extends RspackBuiltinPlugin {
|
|
11871
11989
|
enhanced;
|
|
11872
11990
|
name = binding_.BuiltinPluginName.ShareRuntimePlugin;
|
|
@@ -11878,55 +11996,42 @@ Help:
|
|
|
11878
11996
|
if (compiler1 = compiler, !compilerSet.has(compiler1)) return compiler2 = compiler, compilerSet.add(compiler2), createBuiltinPlugin(this.name, this.enhanced);
|
|
11879
11997
|
}
|
|
11880
11998
|
}
|
|
11881
|
-
let VERSION_PATTERN_REGEXP = /^([\d^=v<>~]|[*xX]$)/;
|
|
11882
|
-
function isRequiredVersion(str) {
|
|
11883
|
-
return VERSION_PATTERN_REGEXP.test(str);
|
|
11884
|
-
}
|
|
11885
|
-
let encodeName = function(name, prefix = '', withExt = !1) {
|
|
11886
|
-
return `${prefix}${name.replace(/@/g, 'scope_').replace(/-/g, '_').replace(/\//g, '__').replace(/\./g, '')}${withExt ? '.js' : ''}`;
|
|
11887
|
-
};
|
|
11888
|
-
function normalizeConsumeShareOptions(consumes, shareScope) {
|
|
11889
|
-
return parseOptions(consumes, (item, key)=>{
|
|
11890
|
-
if (Array.isArray(item)) throw Error('Unexpected array in options');
|
|
11891
|
-
return item !== key && isRequiredVersion(item) ? {
|
|
11892
|
-
import: key,
|
|
11893
|
-
shareScope: shareScope || 'default',
|
|
11894
|
-
shareKey: key,
|
|
11895
|
-
requiredVersion: item,
|
|
11896
|
-
strictVersion: !0,
|
|
11897
|
-
packageName: void 0,
|
|
11898
|
-
singleton: !1,
|
|
11899
|
-
eager: !1,
|
|
11900
|
-
treeShakingMode: void 0
|
|
11901
|
-
} : {
|
|
11902
|
-
import: key,
|
|
11903
|
-
shareScope: shareScope || 'default',
|
|
11904
|
-
shareKey: key,
|
|
11905
|
-
requiredVersion: void 0,
|
|
11906
|
-
packageName: void 0,
|
|
11907
|
-
strictVersion: !1,
|
|
11908
|
-
singleton: !1,
|
|
11909
|
-
eager: !1,
|
|
11910
|
-
treeShakingMode: void 0
|
|
11911
|
-
};
|
|
11912
|
-
}, (item, key)=>({
|
|
11913
|
-
import: !1 === item.import ? void 0 : item.import || key,
|
|
11914
|
-
shareScope: item.shareScope || shareScope || 'default',
|
|
11915
|
-
shareKey: item.shareKey || key,
|
|
11916
|
-
requiredVersion: item.requiredVersion,
|
|
11917
|
-
strictVersion: 'boolean' == typeof item.strictVersion ? item.strictVersion : !1 !== item.import && !item.singleton,
|
|
11918
|
-
packageName: item.packageName,
|
|
11919
|
-
singleton: !!item.singleton,
|
|
11920
|
-
eager: !!item.eager,
|
|
11921
|
-
treeShakingMode: item.treeShakingMode
|
|
11922
|
-
}));
|
|
11923
|
-
}
|
|
11924
11999
|
class ConsumeSharedPlugin extends RspackBuiltinPlugin {
|
|
11925
12000
|
name = binding_.BuiltinPluginName.ConsumeSharedPlugin;
|
|
11926
12001
|
_options;
|
|
11927
12002
|
constructor(options){
|
|
11928
12003
|
super(), this._options = {
|
|
11929
|
-
consumes:
|
|
12004
|
+
consumes: parseOptions(options.consumes, (item, key)=>{
|
|
12005
|
+
if (Array.isArray(item)) throw Error('Unexpected array in options');
|
|
12006
|
+
return item !== key && isRequiredVersion(item) ? {
|
|
12007
|
+
import: key,
|
|
12008
|
+
shareScope: options.shareScope || 'default',
|
|
12009
|
+
shareKey: key,
|
|
12010
|
+
requiredVersion: item,
|
|
12011
|
+
strictVersion: !0,
|
|
12012
|
+
packageName: void 0,
|
|
12013
|
+
singleton: !1,
|
|
12014
|
+
eager: !1
|
|
12015
|
+
} : {
|
|
12016
|
+
import: key,
|
|
12017
|
+
shareScope: options.shareScope || 'default',
|
|
12018
|
+
shareKey: key,
|
|
12019
|
+
requiredVersion: void 0,
|
|
12020
|
+
packageName: void 0,
|
|
12021
|
+
strictVersion: !1,
|
|
12022
|
+
singleton: !1,
|
|
12023
|
+
eager: !1
|
|
12024
|
+
};
|
|
12025
|
+
}, (item, key)=>({
|
|
12026
|
+
import: !1 === item.import ? void 0 : item.import || key,
|
|
12027
|
+
shareScope: item.shareScope || options.shareScope || 'default',
|
|
12028
|
+
shareKey: item.shareKey || key,
|
|
12029
|
+
requiredVersion: item.requiredVersion,
|
|
12030
|
+
strictVersion: 'boolean' == typeof item.strictVersion ? item.strictVersion : !1 !== item.import && !item.singleton,
|
|
12031
|
+
packageName: item.packageName,
|
|
12032
|
+
singleton: !!item.singleton,
|
|
12033
|
+
eager: !!item.eager
|
|
12034
|
+
})),
|
|
11930
12035
|
enhanced: options.enhanced ?? !1
|
|
11931
12036
|
};
|
|
11932
12037
|
}
|
|
@@ -11947,30 +12052,28 @@ Help:
|
|
|
11947
12052
|
_provides;
|
|
11948
12053
|
_enhanced;
|
|
11949
12054
|
constructor(options){
|
|
11950
|
-
|
|
11951
|
-
super(), this._provides = (options1 = options.provides, shareScope = options.shareScope, enhanced = options.enhanced, parseOptions(options1, (item)=>{
|
|
12055
|
+
super(), this._provides = parseOptions(options.provides, (item)=>{
|
|
11952
12056
|
if (Array.isArray(item)) throw Error('Unexpected array of provides');
|
|
11953
12057
|
return {
|
|
11954
12058
|
shareKey: item,
|
|
11955
12059
|
version: void 0,
|
|
11956
|
-
shareScope: shareScope || 'default',
|
|
12060
|
+
shareScope: options.shareScope || 'default',
|
|
11957
12061
|
eager: !1
|
|
11958
12062
|
};
|
|
11959
12063
|
}, (item)=>{
|
|
11960
12064
|
let raw = {
|
|
11961
12065
|
shareKey: item.shareKey,
|
|
11962
12066
|
version: item.version,
|
|
11963
|
-
shareScope: item.shareScope || shareScope || 'default',
|
|
12067
|
+
shareScope: item.shareScope || options.shareScope || 'default',
|
|
11964
12068
|
eager: !!item.eager
|
|
11965
12069
|
};
|
|
11966
|
-
return enhanced ? {
|
|
12070
|
+
return options.enhanced ? {
|
|
11967
12071
|
...raw,
|
|
11968
12072
|
singleton: item.singleton,
|
|
11969
12073
|
requiredVersion: item.requiredVersion,
|
|
11970
|
-
strictVersion: item.strictVersion
|
|
11971
|
-
treeShakingMode: item.treeShakingMode
|
|
12074
|
+
strictVersion: item.strictVersion
|
|
11972
12075
|
} : raw;
|
|
11973
|
-
})
|
|
12076
|
+
}), this._enhanced = options.enhanced;
|
|
11974
12077
|
}
|
|
11975
12078
|
raw(compiler) {
|
|
11976
12079
|
new ShareRuntimePlugin(this._enhanced ?? !1).apply(compiler);
|
|
@@ -11981,40 +12084,32 @@ Help:
|
|
|
11981
12084
|
return createBuiltinPlugin(this.name, rawOptions);
|
|
11982
12085
|
}
|
|
11983
12086
|
}
|
|
11984
|
-
function normalizeSharedOptions(shared) {
|
|
11985
|
-
return parseOptions(shared, (item, key)=>{
|
|
11986
|
-
if ('string' != typeof item) throw Error('Unexpected array in shared');
|
|
11987
|
-
return item !== key && isRequiredVersion(item) ? {
|
|
11988
|
-
import: key,
|
|
11989
|
-
requiredVersion: item
|
|
11990
|
-
} : {
|
|
11991
|
-
import: item
|
|
11992
|
-
};
|
|
11993
|
-
}, (item)=>item);
|
|
11994
|
-
}
|
|
11995
|
-
function createConsumeShareOptions(normalizedSharedOptions) {
|
|
11996
|
-
return normalizedSharedOptions.map(([key, options])=>({
|
|
11997
|
-
[key]: {
|
|
11998
|
-
import: options.import,
|
|
11999
|
-
shareKey: options.shareKey || key,
|
|
12000
|
-
shareScope: options.shareScope,
|
|
12001
|
-
requiredVersion: options.requiredVersion,
|
|
12002
|
-
strictVersion: options.strictVersion,
|
|
12003
|
-
singleton: options.singleton,
|
|
12004
|
-
packageName: options.packageName,
|
|
12005
|
-
eager: options.eager,
|
|
12006
|
-
treeShakingMode: options.treeShaking?.mode
|
|
12007
|
-
}
|
|
12008
|
-
}));
|
|
12009
|
-
}
|
|
12010
12087
|
class SharePlugin {
|
|
12011
12088
|
_shareScope;
|
|
12012
12089
|
_consumes;
|
|
12013
12090
|
_provides;
|
|
12014
12091
|
_enhanced;
|
|
12015
|
-
_sharedOptions;
|
|
12016
12092
|
constructor(options){
|
|
12017
|
-
const sharedOptions =
|
|
12093
|
+
const sharedOptions = parseOptions(options.shared, (item, key)=>{
|
|
12094
|
+
if ('string' != typeof item) throw Error('Unexpected array in shared');
|
|
12095
|
+
return item !== key && isRequiredVersion(item) ? {
|
|
12096
|
+
import: key,
|
|
12097
|
+
requiredVersion: item
|
|
12098
|
+
} : {
|
|
12099
|
+
import: item
|
|
12100
|
+
};
|
|
12101
|
+
}, (item)=>item), consumes = sharedOptions.map(([key, options])=>({
|
|
12102
|
+
[key]: {
|
|
12103
|
+
import: options.import,
|
|
12104
|
+
shareKey: options.shareKey || key,
|
|
12105
|
+
shareScope: options.shareScope,
|
|
12106
|
+
requiredVersion: options.requiredVersion,
|
|
12107
|
+
strictVersion: options.strictVersion,
|
|
12108
|
+
singleton: options.singleton,
|
|
12109
|
+
packageName: options.packageName,
|
|
12110
|
+
eager: options.eager
|
|
12111
|
+
}
|
|
12112
|
+
})), provides = sharedOptions.filter(([, options])=>!1 !== options.import).map(([key, options])=>({
|
|
12018
12113
|
[options.import || key]: {
|
|
12019
12114
|
shareKey: options.shareKey || key,
|
|
12020
12115
|
shareScope: options.shareScope,
|
|
@@ -12022,11 +12117,10 @@ Help:
|
|
|
12022
12117
|
eager: options.eager,
|
|
12023
12118
|
singleton: options.singleton,
|
|
12024
12119
|
requiredVersion: options.requiredVersion,
|
|
12025
|
-
strictVersion: options.strictVersion
|
|
12026
|
-
treeShakingMode: options.treeShaking?.mode
|
|
12120
|
+
strictVersion: options.strictVersion
|
|
12027
12121
|
}
|
|
12028
12122
|
}));
|
|
12029
|
-
this._shareScope = options.shareScope, this._consumes = consumes, this._provides = provides, this._enhanced = options.enhanced ?? !1
|
|
12123
|
+
this._shareScope = options.shareScope, this._consumes = consumes, this._provides = provides, this._enhanced = options.enhanced ?? !1;
|
|
12030
12124
|
}
|
|
12031
12125
|
apply(compiler) {
|
|
12032
12126
|
new ConsumeSharedPlugin({
|
|
@@ -12040,558 +12134,6 @@ Help:
|
|
|
12040
12134
|
}).apply(compiler);
|
|
12041
12135
|
}
|
|
12042
12136
|
}
|
|
12043
|
-
let MANIFEST_FILE_NAME = 'mf-manifest.json', STATS_FILE_NAME = 'mf-stats.json', JSON_EXT = '.json';
|
|
12044
|
-
function isPlainObject(value) {
|
|
12045
|
-
return !!value && 'object' == typeof value && !Array.isArray(value);
|
|
12046
|
-
}
|
|
12047
|
-
function getFileName(manifestOptions) {
|
|
12048
|
-
var name;
|
|
12049
|
-
if (!manifestOptions) return {
|
|
12050
|
-
statsFileName: '',
|
|
12051
|
-
manifestFileName: ''
|
|
12052
|
-
};
|
|
12053
|
-
if ('boolean' == typeof manifestOptions) return {
|
|
12054
|
-
statsFileName: STATS_FILE_NAME,
|
|
12055
|
-
manifestFileName: MANIFEST_FILE_NAME
|
|
12056
|
-
};
|
|
12057
|
-
let filePath = 'boolean' == typeof manifestOptions ? '' : manifestOptions.filePath || '', fileName = 'boolean' == typeof manifestOptions ? '' : manifestOptions.fileName || '', manifestFileName = fileName ? (name = fileName).endsWith(JSON_EXT) ? name : `${name}${JSON_EXT}` : MANIFEST_FILE_NAME, statsFileName = fileName ? manifestFileName.replace(JSON_EXT, `-stats${JSON_EXT}`) : STATS_FILE_NAME;
|
|
12058
|
-
return {
|
|
12059
|
-
statsFileName: (0, external_node_path_namespaceObject.join)(filePath, statsFileName),
|
|
12060
|
-
manifestFileName: (0, external_node_path_namespaceObject.join)(filePath, manifestFileName)
|
|
12061
|
-
};
|
|
12062
|
-
}
|
|
12063
|
-
class ModuleFederationManifestPlugin extends RspackBuiltinPlugin {
|
|
12064
|
-
name = binding_.BuiltinPluginName.ModuleFederationManifestPlugin;
|
|
12065
|
-
rawOpts;
|
|
12066
|
-
constructor(opts){
|
|
12067
|
-
super(), this.rawOpts = opts;
|
|
12068
|
-
}
|
|
12069
|
-
raw(compiler) {
|
|
12070
|
-
var mfConfig, isDev, compiler1, mfConfig1;
|
|
12071
|
-
let manifestOptions, containerName, globalName, remoteAliasMap, manifestExposes, manifestShared, pkg, buildVersion, statsBuildInfo, opts = (manifestOptions = !0 === (mfConfig = this.rawOpts).manifest ? {} : {
|
|
12072
|
-
...mfConfig.manifest
|
|
12073
|
-
}, containerName = mfConfig.name, globalName = function(library) {
|
|
12074
|
-
if (!library) return;
|
|
12075
|
-
let libName = library.name;
|
|
12076
|
-
if (libName) {
|
|
12077
|
-
if ('string' == typeof libName) return libName;
|
|
12078
|
-
if (Array.isArray(libName)) return libName[0];
|
|
12079
|
-
if ('object' == typeof libName) return libName.root?.[0] ?? libName.amd ?? libName.commonjs ?? void 0;
|
|
12080
|
-
}
|
|
12081
|
-
}(mfConfig.library) ?? containerName, remoteAliasMap = Object.entries(getRemoteInfos(mfConfig)).reduce((sum, cur)=>{
|
|
12082
|
-
if (cur[1].length > 1) return sum;
|
|
12083
|
-
let { entry, alias, name } = cur[1][0];
|
|
12084
|
-
return entry && name && (sum[alias] = {
|
|
12085
|
-
name,
|
|
12086
|
-
entry
|
|
12087
|
-
}), sum;
|
|
12088
|
-
}, {}), manifestExposes = function(exposes) {
|
|
12089
|
-
if (!exposes) return;
|
|
12090
|
-
let result = parseOptions(exposes, (value)=>({
|
|
12091
|
-
import: Array.isArray(value) ? value : [
|
|
12092
|
-
value
|
|
12093
|
-
],
|
|
12094
|
-
name: void 0
|
|
12095
|
-
}), (value)=>({
|
|
12096
|
-
import: Array.isArray(value.import) ? value.import : [
|
|
12097
|
-
value.import
|
|
12098
|
-
],
|
|
12099
|
-
name: value.name ?? void 0
|
|
12100
|
-
})).map(([exposeKey, info])=>{
|
|
12101
|
-
let exposeName = info.name ?? exposeKey.replace(/^\.\//, '');
|
|
12102
|
-
return {
|
|
12103
|
-
path: exposeKey,
|
|
12104
|
-
name: exposeName
|
|
12105
|
-
};
|
|
12106
|
-
});
|
|
12107
|
-
return result.length > 0 ? result : void 0;
|
|
12108
|
-
}(mfConfig.exposes), void 0 === manifestOptions.exposes && manifestExposes && (manifestOptions.exposes = manifestExposes), manifestShared = function(shared) {
|
|
12109
|
-
if (!shared) return;
|
|
12110
|
-
let result = parseOptions(shared, (item, key)=>{
|
|
12111
|
-
if ('string' != typeof item) throw Error('Unexpected array in shared');
|
|
12112
|
-
return item !== key && isRequiredVersion(item) ? {
|
|
12113
|
-
import: key,
|
|
12114
|
-
requiredVersion: item
|
|
12115
|
-
} : {
|
|
12116
|
-
import: item
|
|
12117
|
-
};
|
|
12118
|
-
}, (item)=>item).map(([key, config])=>{
|
|
12119
|
-
let name = config.shareKey || key, version = 'string' == typeof config.version ? config.version : void 0;
|
|
12120
|
-
return {
|
|
12121
|
-
name,
|
|
12122
|
-
version,
|
|
12123
|
-
requiredVersion: 'string' == typeof config.requiredVersion ? config.requiredVersion : void 0,
|
|
12124
|
-
singleton: config.singleton
|
|
12125
|
-
};
|
|
12126
|
-
});
|
|
12127
|
-
return result.length > 0 ? result : void 0;
|
|
12128
|
-
}(mfConfig.shared), void 0 === manifestOptions.shared && manifestShared && (manifestOptions.shared = manifestShared), {
|
|
12129
|
-
...manifestOptions,
|
|
12130
|
-
remoteAliasMap,
|
|
12131
|
-
globalName,
|
|
12132
|
-
name: containerName
|
|
12133
|
-
}), { fileName, filePath, disableAssetsAnalyze, remoteAliasMap: remoteAliasMap1, exposes, shared } = opts, { statsFileName, manifestFileName } = getFileName(opts), rawOptions = {
|
|
12134
|
-
name: opts.name,
|
|
12135
|
-
globalName: opts.globalName,
|
|
12136
|
-
fileName,
|
|
12137
|
-
filePath,
|
|
12138
|
-
manifestFileName,
|
|
12139
|
-
statsFileName,
|
|
12140
|
-
disableAssetsAnalyze,
|
|
12141
|
-
remoteAliasMap: remoteAliasMap1,
|
|
12142
|
-
exposes,
|
|
12143
|
-
shared,
|
|
12144
|
-
buildInfo: (isDev = 'development' === compiler.options.mode, compiler1 = compiler, mfConfig1 = this.rawOpts, pkg = function(root) {
|
|
12145
|
-
let base = root ? (0, external_node_path_namespaceObject.resolve)(root) : process.cwd(), pkgPath = (0, external_node_path_namespaceObject.join)(base, 'package.json');
|
|
12146
|
-
try {
|
|
12147
|
-
let content = (0, external_node_fs_namespaceObject.readFileSync)(pkgPath, 'utf-8'), parsed = function(input, guard) {
|
|
12148
|
-
try {
|
|
12149
|
-
let parsed = JSON.parse(input);
|
|
12150
|
-
if (guard(parsed)) return parsed;
|
|
12151
|
-
} catch {}
|
|
12152
|
-
}(content, isPlainObject);
|
|
12153
|
-
if (parsed) {
|
|
12154
|
-
let filtered = {};
|
|
12155
|
-
for (let [key, value] of Object.entries(parsed))'string' == typeof value && (filtered[key] = value);
|
|
12156
|
-
if (Object.keys(filtered).length > 0) return filtered;
|
|
12157
|
-
}
|
|
12158
|
-
} catch {}
|
|
12159
|
-
return {};
|
|
12160
|
-
}(compiler1.options.context || process.cwd()), buildVersion = isDev ? 'local' : pkg?.version, statsBuildInfo = {
|
|
12161
|
-
buildVersion: process.env.MF_BUILD_VERSION || buildVersion || 'UNKNOWN',
|
|
12162
|
-
buildName: process.env.MF_BUILD_NAME || pkg?.name || 'UNKNOWN'
|
|
12163
|
-
}, Object.values(normalizeSharedOptions(mfConfig1.shared || {})).some((config)=>config[1].treeShaking) && (statsBuildInfo.target = Array.isArray(compiler1.options.target) ? compiler1.options.target : [], statsBuildInfo.plugins = mfConfig1.treeShakingSharedPlugins || [], statsBuildInfo.excludePlugins = mfConfig1.treeShakingSharedExcludePlugins || []), statsBuildInfo)
|
|
12164
|
-
};
|
|
12165
|
-
return createBuiltinPlugin(this.name, rawOptions);
|
|
12166
|
-
}
|
|
12167
|
-
}
|
|
12168
|
-
let SHARE_ENTRY_ASSET = 'collect-shared-entries.json';
|
|
12169
|
-
class CollectSharedEntryPlugin extends RspackBuiltinPlugin {
|
|
12170
|
-
name = binding_.BuiltinPluginName.CollectSharedEntryPlugin;
|
|
12171
|
-
sharedOptions;
|
|
12172
|
-
_collectedEntries;
|
|
12173
|
-
constructor(options){
|
|
12174
|
-
super();
|
|
12175
|
-
const { sharedOptions } = options;
|
|
12176
|
-
this.sharedOptions = sharedOptions, this._collectedEntries = {};
|
|
12177
|
-
}
|
|
12178
|
-
getData() {
|
|
12179
|
-
return this._collectedEntries;
|
|
12180
|
-
}
|
|
12181
|
-
getFilename() {
|
|
12182
|
-
return SHARE_ENTRY_ASSET;
|
|
12183
|
-
}
|
|
12184
|
-
apply(compiler) {
|
|
12185
|
-
super.apply(compiler), compiler.hooks.thisCompilation.tap('Collect shared entry', (compilation)=>{
|
|
12186
|
-
compilation.hooks.processAssets.tap({
|
|
12187
|
-
name: 'CollectSharedEntry',
|
|
12188
|
-
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE
|
|
12189
|
-
}, ()=>{
|
|
12190
|
-
compilation.getAssets().forEach((asset)=>{
|
|
12191
|
-
asset.name === SHARE_ENTRY_ASSET && (this._collectedEntries = JSON.parse(asset.source.source().toString())), compilation.deleteAsset(asset.name);
|
|
12192
|
-
});
|
|
12193
|
-
});
|
|
12194
|
-
});
|
|
12195
|
-
}
|
|
12196
|
-
raw() {
|
|
12197
|
-
let rawOptions = {
|
|
12198
|
-
consumes: normalizeConsumeShareOptions(createConsumeShareOptions(this.sharedOptions)).map(([key, v])=>({
|
|
12199
|
-
key,
|
|
12200
|
-
...v
|
|
12201
|
-
})),
|
|
12202
|
-
filename: this.getFilename()
|
|
12203
|
-
};
|
|
12204
|
-
return createBuiltinPlugin(this.name, rawOptions);
|
|
12205
|
-
}
|
|
12206
|
-
}
|
|
12207
|
-
function assert(condition, msg) {
|
|
12208
|
-
if (!condition) throw Error(msg);
|
|
12209
|
-
}
|
|
12210
|
-
class SharedContainerPlugin extends RspackBuiltinPlugin {
|
|
12211
|
-
name = binding_.BuiltinPluginName.SharedContainerPlugin;
|
|
12212
|
-
filename = '';
|
|
12213
|
-
_options;
|
|
12214
|
-
_shareName;
|
|
12215
|
-
_globalName;
|
|
12216
|
-
constructor(options){
|
|
12217
|
-
super();
|
|
12218
|
-
const { shareName, library, request, independentShareFileName, mfName } = options, version = options.version || '0.0.0';
|
|
12219
|
-
this._globalName = encodeName(`${mfName}_${shareName}_${version}`);
|
|
12220
|
-
const fileName = independentShareFileName || `${version}/share-entry.js`;
|
|
12221
|
-
this._shareName = shareName, this._options = {
|
|
12222
|
-
name: shareName,
|
|
12223
|
-
request: request,
|
|
12224
|
-
library: (library ? {
|
|
12225
|
-
...library,
|
|
12226
|
-
name: this._globalName
|
|
12227
|
-
} : void 0) || {
|
|
12228
|
-
type: 'global',
|
|
12229
|
-
name: this._globalName
|
|
12230
|
-
},
|
|
12231
|
-
version,
|
|
12232
|
-
fileName
|
|
12233
|
-
};
|
|
12234
|
-
}
|
|
12235
|
-
getData() {
|
|
12236
|
-
return [
|
|
12237
|
-
this._options.fileName,
|
|
12238
|
-
this._globalName,
|
|
12239
|
-
this._options.version
|
|
12240
|
-
];
|
|
12241
|
-
}
|
|
12242
|
-
raw(compiler) {
|
|
12243
|
-
let { library } = this._options;
|
|
12244
|
-
return compiler.options.output.enabledLibraryTypes.includes(library.type) || compiler.options.output.enabledLibraryTypes.push(library.type), createBuiltinPlugin(this.name, this._options);
|
|
12245
|
-
}
|
|
12246
|
-
apply(compiler) {
|
|
12247
|
-
super.apply(compiler);
|
|
12248
|
-
let shareName = this._shareName;
|
|
12249
|
-
compiler.hooks.thisCompilation.tap(this.name, (compilation)=>{
|
|
12250
|
-
compilation.hooks.processAssets.tap({
|
|
12251
|
-
name: 'getShareContainerFile'
|
|
12252
|
-
}, ()=>{
|
|
12253
|
-
assert(compilation.entrypoints.get(shareName), `Can not get shared ${shareName} entryPoint!`);
|
|
12254
|
-
let remoteEntryNameChunk = compilation.namedChunks.get(shareName);
|
|
12255
|
-
assert(remoteEntryNameChunk, `Can not get shared ${shareName} chunk!`);
|
|
12256
|
-
let files = Array.from(remoteEntryNameChunk.files).filter((f)=>!f.includes('.hot-update') && !f.endsWith('.css'));
|
|
12257
|
-
assert(files.length > 0, `no files found for shared ${shareName} chunk`), assert(1 === files.length, `shared ${shareName} chunk should not have multiple files!, current files: ${files.join(',')}`), this.filename = files[0];
|
|
12258
|
-
});
|
|
12259
|
-
});
|
|
12260
|
-
}
|
|
12261
|
-
}
|
|
12262
|
-
class SharedUsedExportsOptimizerPlugin extends RspackBuiltinPlugin {
|
|
12263
|
-
name = binding_.BuiltinPluginName.SharedUsedExportsOptimizerPlugin;
|
|
12264
|
-
sharedOptions;
|
|
12265
|
-
injectTreeShakingUsedExports;
|
|
12266
|
-
manifestOptions;
|
|
12267
|
-
constructor(sharedOptions, injectTreeShakingUsedExports, manifestOptions){
|
|
12268
|
-
super(), this.sharedOptions = sharedOptions, this.injectTreeShakingUsedExports = injectTreeShakingUsedExports ?? !0, this.manifestOptions = manifestOptions ?? {};
|
|
12269
|
-
}
|
|
12270
|
-
buildOptions() {
|
|
12271
|
-
let shared = this.sharedOptions.map(([shareKey, config])=>({
|
|
12272
|
-
shareKey,
|
|
12273
|
-
treeShaking: !!config.treeShaking,
|
|
12274
|
-
usedExports: config.treeShaking?.usedExports
|
|
12275
|
-
})), { manifestFileName, statsFileName } = getFileName(this.manifestOptions);
|
|
12276
|
-
return {
|
|
12277
|
-
shared,
|
|
12278
|
-
injectTreeShakingUsedExports: this.injectTreeShakingUsedExports,
|
|
12279
|
-
manifestFileName,
|
|
12280
|
-
statsFileName
|
|
12281
|
-
};
|
|
12282
|
-
}
|
|
12283
|
-
raw() {
|
|
12284
|
-
if (this.sharedOptions.length) return createBuiltinPlugin(this.name, this.buildOptions());
|
|
12285
|
-
}
|
|
12286
|
-
}
|
|
12287
|
-
let VIRTUAL_ENTRY = './virtual-entry.js', VIRTUAL_ENTRY_NAME = 'virtual-entry';
|
|
12288
|
-
class VirtualEntryPlugin {
|
|
12289
|
-
sharedOptions;
|
|
12290
|
-
collectShared = !1;
|
|
12291
|
-
constructor(sharedOptions, collectShared){
|
|
12292
|
-
this.sharedOptions = sharedOptions, this.collectShared = collectShared;
|
|
12293
|
-
}
|
|
12294
|
-
createEntry() {
|
|
12295
|
-
let { sharedOptions, collectShared } = this;
|
|
12296
|
-
return sharedOptions.reduce((acc, cur, index)=>{
|
|
12297
|
-
let importLine = `import shared_${index} from '${cur[0]}';\n`;
|
|
12298
|
-
return acc + importLine + (collectShared ? `console.log(shared_${index});\n` : '');
|
|
12299
|
-
}, '');
|
|
12300
|
-
}
|
|
12301
|
-
static entry() {
|
|
12302
|
-
return {
|
|
12303
|
-
[VIRTUAL_ENTRY_NAME]: VIRTUAL_ENTRY
|
|
12304
|
-
};
|
|
12305
|
-
}
|
|
12306
|
-
apply(compiler) {
|
|
12307
|
-
new compiler.rspack.experiments.VirtualModulesPlugin({
|
|
12308
|
-
[VIRTUAL_ENTRY]: this.createEntry()
|
|
12309
|
-
}).apply(compiler), compiler.hooks.thisCompilation.tap('RemoveVirtualEntryAsset', (compilation)=>{
|
|
12310
|
-
compilation.hooks.processAssets.tap({
|
|
12311
|
-
name: 'RemoveVirtualEntryAsset',
|
|
12312
|
-
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE
|
|
12313
|
-
}, ()=>{
|
|
12314
|
-
try {
|
|
12315
|
-
let chunk = compilation.namedChunks.get(VIRTUAL_ENTRY_NAME);
|
|
12316
|
-
chunk?.files.forEach((f)=>{
|
|
12317
|
-
compilation.deleteAsset(f);
|
|
12318
|
-
});
|
|
12319
|
-
} catch (_e) {
|
|
12320
|
-
console.error('Failed to remove virtual entry file!');
|
|
12321
|
-
}
|
|
12322
|
-
});
|
|
12323
|
-
});
|
|
12324
|
-
}
|
|
12325
|
-
}
|
|
12326
|
-
let resolveOutputDir = (outputDir, shareName)=>shareName ? (0, external_node_path_namespaceObject.join)(outputDir, encodeName(shareName)) : outputDir;
|
|
12327
|
-
class IndependentSharedPlugin {
|
|
12328
|
-
mfName;
|
|
12329
|
-
shared;
|
|
12330
|
-
library;
|
|
12331
|
-
sharedOptions;
|
|
12332
|
-
outputDir;
|
|
12333
|
-
plugins;
|
|
12334
|
-
treeShaking;
|
|
12335
|
-
manifest;
|
|
12336
|
-
buildAssets = {};
|
|
12337
|
-
injectTreeShakingUsedExports;
|
|
12338
|
-
treeShakingSharedExcludePlugins;
|
|
12339
|
-
name = 'IndependentSharedPlugin';
|
|
12340
|
-
constructor(options){
|
|
12341
|
-
const { outputDir, plugins, treeShaking, shared, name, manifest, injectTreeShakingUsedExports, library, treeShakingSharedExcludePlugins } = options;
|
|
12342
|
-
this.shared = shared, this.mfName = name, this.outputDir = outputDir || 'independent-packages', this.plugins = plugins || [], this.treeShaking = treeShaking, this.manifest = manifest, this.injectTreeShakingUsedExports = injectTreeShakingUsedExports ?? !0, this.library = library, this.treeShakingSharedExcludePlugins = treeShakingSharedExcludePlugins || [], this.sharedOptions = parseOptions(shared, (item, key)=>{
|
|
12343
|
-
if ('string' != typeof item) throw Error(`Unexpected array in shared configuration for key "${key}"`);
|
|
12344
|
-
return item !== key && isRequiredVersion(item) ? {
|
|
12345
|
-
import: key,
|
|
12346
|
-
requiredVersion: item
|
|
12347
|
-
} : {
|
|
12348
|
-
import: item
|
|
12349
|
-
};
|
|
12350
|
-
}, (item)=>item);
|
|
12351
|
-
}
|
|
12352
|
-
apply(compiler) {
|
|
12353
|
-
let { manifest } = this, runCount = 0;
|
|
12354
|
-
compiler.hooks.beforeRun.tapPromise('IndependentSharedPlugin', async ()=>{
|
|
12355
|
-
!runCount && (await this.createIndependentCompilers(compiler), runCount++);
|
|
12356
|
-
}), compiler.hooks.watchRun.tapPromise('IndependentSharedPlugin', async ()=>{
|
|
12357
|
-
!runCount && (await this.createIndependentCompilers(compiler), runCount++);
|
|
12358
|
-
}), manifest && compiler.hooks.compilation.tap('IndependentSharedPlugin', (compilation)=>{
|
|
12359
|
-
compilation.hooks.processAssets.tap({
|
|
12360
|
-
name: 'injectBuildAssets',
|
|
12361
|
-
stage: compilation.constructor.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER
|
|
12362
|
-
}, ()=>{
|
|
12363
|
-
let { statsFileName, manifestFileName } = getFileName(manifest), injectBuildAssetsIntoStatsOrManifest = (filename)=>{
|
|
12364
|
-
let stats = compilation.getAsset(filename);
|
|
12365
|
-
if (!stats) return;
|
|
12366
|
-
let statsContent = JSON.parse(stats.source.source().toString()), { shared } = statsContent;
|
|
12367
|
-
Object.entries(this.buildAssets).forEach(([key, item])=>{
|
|
12368
|
-
let targetShared = shared.find((s)=>s.name === key);
|
|
12369
|
-
targetShared && item.forEach(([entry, version, globalName])=>{
|
|
12370
|
-
version === targetShared.version && (targetShared.fallback = entry, targetShared.fallbackName = globalName);
|
|
12371
|
-
});
|
|
12372
|
-
}), compilation.updateAsset(filename, new compiler.webpack.sources.RawSource(JSON.stringify(statsContent)));
|
|
12373
|
-
};
|
|
12374
|
-
injectBuildAssetsIntoStatsOrManifest(statsFileName), injectBuildAssetsIntoStatsOrManifest(manifestFileName);
|
|
12375
|
-
});
|
|
12376
|
-
});
|
|
12377
|
-
}
|
|
12378
|
-
async createIndependentCompilers(parentCompiler) {
|
|
12379
|
-
let { sharedOptions, buildAssets, outputDir } = this;
|
|
12380
|
-
console.log('Start building shared fallback resources ...');
|
|
12381
|
-
let shareRequestsMap = await this.createIndependentCompiler(parentCompiler);
|
|
12382
|
-
await Promise.all(sharedOptions.map(async ([shareName, shareConfig])=>{
|
|
12383
|
-
if (!shareConfig.treeShaking || !1 === shareConfig.import) return;
|
|
12384
|
-
let shareRequests = shareRequestsMap[shareName].requests;
|
|
12385
|
-
await Promise.all(shareRequests.map(async ([request, version])=>{
|
|
12386
|
-
let sharedConfig = sharedOptions.find(([name])=>name === shareName)?.[1], [shareFileName, globalName, sharedVersion] = await this.createIndependentCompiler(parentCompiler, {
|
|
12387
|
-
shareRequestsMap,
|
|
12388
|
-
currentShare: {
|
|
12389
|
-
shareName,
|
|
12390
|
-
version,
|
|
12391
|
-
request,
|
|
12392
|
-
independentShareFileName: sharedConfig?.treeShaking?.filename
|
|
12393
|
-
}
|
|
12394
|
-
});
|
|
12395
|
-
'string' == typeof shareFileName && (buildAssets[shareName] ||= [], buildAssets[shareName].push([
|
|
12396
|
-
(0, external_node_path_namespaceObject.join)(resolveOutputDir(outputDir, shareName), shareFileName),
|
|
12397
|
-
sharedVersion,
|
|
12398
|
-
globalName
|
|
12399
|
-
]));
|
|
12400
|
-
}));
|
|
12401
|
-
})), console.log('All shared fallback have been compiled successfully!');
|
|
12402
|
-
}
|
|
12403
|
-
async createIndependentCompiler(parentCompiler, extraOptions) {
|
|
12404
|
-
let extraPlugin, { mfName, plugins, outputDir, sharedOptions, treeShaking, library, treeShakingSharedExcludePlugins } = this, outputDirWithShareName = resolveOutputDir(outputDir, extraOptions?.currentShare?.shareName || ''), parentConfig = parentCompiler.options, finalPlugins = [], rspack = parentCompiler.rspack;
|
|
12405
|
-
extraPlugin = extraOptions ? new SharedContainerPlugin({
|
|
12406
|
-
mfName: `${mfName}_${treeShaking ? 't' : 'f'}`,
|
|
12407
|
-
library,
|
|
12408
|
-
...extraOptions.currentShare
|
|
12409
|
-
}) : new CollectSharedEntryPlugin({
|
|
12410
|
-
sharedOptions,
|
|
12411
|
-
shareScope: 'default'
|
|
12412
|
-
}), (parentConfig.plugins || []).forEach((plugin)=>{
|
|
12413
|
-
void 0 !== plugin && 'string' != typeof plugin && ((plugin, excludedPlugins = [])=>{
|
|
12414
|
-
if (!plugin) return !0;
|
|
12415
|
-
let pluginName = plugin.name || plugin.constructor?.name;
|
|
12416
|
-
return !pluginName || ![
|
|
12417
|
-
'TreeShakingSharedPlugin',
|
|
12418
|
-
'IndependentSharedPlugin',
|
|
12419
|
-
'ModuleFederationPlugin',
|
|
12420
|
-
'SharedUsedExportsOptimizerPlugin',
|
|
12421
|
-
'HtmlWebpackPlugin',
|
|
12422
|
-
'HtmlRspackPlugin',
|
|
12423
|
-
'RsbuildHtmlPlugin',
|
|
12424
|
-
...excludedPlugins
|
|
12425
|
-
].includes(pluginName);
|
|
12426
|
-
})(plugin, treeShakingSharedExcludePlugins) && finalPlugins.push(plugin);
|
|
12427
|
-
}), plugins.forEach((plugin)=>{
|
|
12428
|
-
finalPlugins.push(plugin);
|
|
12429
|
-
}), finalPlugins.push(extraPlugin), finalPlugins.push(new ConsumeSharedPlugin({
|
|
12430
|
-
consumes: sharedOptions.filter(([key, options])=>extraOptions?.currentShare.shareName !== (options.shareKey || key)).map(([key, options])=>({
|
|
12431
|
-
[key]: {
|
|
12432
|
-
import: !extraOptions && options.import,
|
|
12433
|
-
shareKey: options.shareKey || key,
|
|
12434
|
-
shareScope: options.shareScope,
|
|
12435
|
-
requiredVersion: options.requiredVersion,
|
|
12436
|
-
strictVersion: options.strictVersion,
|
|
12437
|
-
singleton: options.singleton,
|
|
12438
|
-
packageName: options.packageName,
|
|
12439
|
-
eager: options.eager
|
|
12440
|
-
}
|
|
12441
|
-
})),
|
|
12442
|
-
enhanced: !0
|
|
12443
|
-
})), treeShaking && finalPlugins.push(new SharedUsedExportsOptimizerPlugin(sharedOptions, this.injectTreeShakingUsedExports)), finalPlugins.push(new VirtualEntryPlugin(sharedOptions, !extraOptions));
|
|
12444
|
-
let fullOutputDir = (0, external_node_path_namespaceObject.resolve)(parentCompiler.outputPath, outputDirWithShareName), compilerConfig = {
|
|
12445
|
-
...parentConfig,
|
|
12446
|
-
module: {
|
|
12447
|
-
...parentConfig.module,
|
|
12448
|
-
rules: [
|
|
12449
|
-
{
|
|
12450
|
-
test: /virtual-entry\.js$/,
|
|
12451
|
-
type: "javascript/auto",
|
|
12452
|
-
resolve: {
|
|
12453
|
-
fullySpecified: !1
|
|
12454
|
-
},
|
|
12455
|
-
use: {
|
|
12456
|
-
loader: 'builtin:swc-loader'
|
|
12457
|
-
}
|
|
12458
|
-
},
|
|
12459
|
-
...parentConfig.module?.rules || []
|
|
12460
|
-
]
|
|
12461
|
-
},
|
|
12462
|
-
mode: parentConfig.mode || 'development',
|
|
12463
|
-
entry: VirtualEntryPlugin.entry,
|
|
12464
|
-
output: {
|
|
12465
|
-
path: fullOutputDir,
|
|
12466
|
-
clean: !0,
|
|
12467
|
-
publicPath: parentConfig.output?.publicPath || 'auto'
|
|
12468
|
-
},
|
|
12469
|
-
plugins: finalPlugins,
|
|
12470
|
-
optimization: {
|
|
12471
|
-
...parentConfig.optimization,
|
|
12472
|
-
splitChunks: !1
|
|
12473
|
-
}
|
|
12474
|
-
}, compiler = rspack.rspack(compilerConfig);
|
|
12475
|
-
compiler.inputFileSystem = parentCompiler.inputFileSystem, compiler.outputFileSystem = parentCompiler.outputFileSystem, compiler.intermediateFileSystem = parentCompiler.intermediateFileSystem;
|
|
12476
|
-
let { currentShare } = extraOptions || {};
|
|
12477
|
-
return new Promise((resolve, reject)=>{
|
|
12478
|
-
compiler.run((err, stats)=>{
|
|
12479
|
-
if (err || stats?.hasErrors()) {
|
|
12480
|
-
let target = currentShare ? currentShare.shareName : 'Collect deps';
|
|
12481
|
-
console.error(`${target} Compile failed:`, err || stats.toJson().errors.map((e)=>e.message).join('\n')), reject(err || Error(`${target} Compile failed`));
|
|
12482
|
-
return;
|
|
12483
|
-
}
|
|
12484
|
-
currentShare && console.log(`${currentShare.shareName} Compile success`), resolve(extraPlugin.getData());
|
|
12485
|
-
});
|
|
12486
|
-
});
|
|
12487
|
-
}
|
|
12488
|
-
}
|
|
12489
|
-
class TreeShakingSharedPlugin {
|
|
12490
|
-
mfConfig;
|
|
12491
|
-
outputDir;
|
|
12492
|
-
secondary;
|
|
12493
|
-
_independentSharePlugin;
|
|
12494
|
-
name = 'TreeShakingSharedPlugin';
|
|
12495
|
-
constructor(options){
|
|
12496
|
-
const { mfConfig, secondary } = options;
|
|
12497
|
-
this.mfConfig = mfConfig, this.outputDir = mfConfig.treeShakingSharedDir || 'independent-packages', this.secondary = !!secondary;
|
|
12498
|
-
}
|
|
12499
|
-
apply(compiler) {
|
|
12500
|
-
let { mfConfig, outputDir, secondary } = this, { name, shared, library, treeShakingSharedPlugins } = mfConfig;
|
|
12501
|
-
if (!shared) return;
|
|
12502
|
-
let sharedOptions = normalizeSharedOptions(shared);
|
|
12503
|
-
sharedOptions.length && sharedOptions.some(([_, config])=>config.treeShaking && !1 !== config.import) && (secondary || new SharedUsedExportsOptimizerPlugin(sharedOptions, mfConfig.injectTreeShakingUsedExports, mfConfig.manifest).apply(compiler), this._independentSharePlugin = new IndependentSharedPlugin({
|
|
12504
|
-
name: name,
|
|
12505
|
-
shared: shared,
|
|
12506
|
-
outputDir,
|
|
12507
|
-
plugins: treeShakingSharedPlugins?.map((p)=>new (require(p))()) || [],
|
|
12508
|
-
treeShaking: secondary,
|
|
12509
|
-
library,
|
|
12510
|
-
manifest: mfConfig.manifest,
|
|
12511
|
-
treeShakingSharedExcludePlugins: mfConfig.treeShakingSharedExcludePlugins
|
|
12512
|
-
}), this._independentSharePlugin.apply(compiler));
|
|
12513
|
-
}
|
|
12514
|
-
get buildAssets() {
|
|
12515
|
-
return this._independentSharePlugin?.buildAssets || {};
|
|
12516
|
-
}
|
|
12517
|
-
}
|
|
12518
|
-
let ModuleFederationRuntimePlugin = base_create(binding_.BuiltinPluginName.ModuleFederationRuntimePlugin, (options = {})=>options);
|
|
12519
|
-
function getRemoteInfos(options) {
|
|
12520
|
-
if (!options.remotes) return {};
|
|
12521
|
-
let remoteType = options.remoteType || (options.library ? options.library.type : "script"), remotes = parseOptions(options.remotes, (item)=>({
|
|
12522
|
-
external: Array.isArray(item) ? item : [
|
|
12523
|
-
item
|
|
12524
|
-
],
|
|
12525
|
-
shareScope: options.shareScope || 'default'
|
|
12526
|
-
}), (item)=>({
|
|
12527
|
-
external: Array.isArray(item.external) ? item.external : [
|
|
12528
|
-
item.external
|
|
12529
|
-
],
|
|
12530
|
-
shareScope: item.shareScope || options.shareScope || 'default'
|
|
12531
|
-
})), remoteInfos = {};
|
|
12532
|
-
for (let [key, config] of remotes)for (let external of config.external){
|
|
12533
|
-
let [externalType, externalRequest] = function(external) {
|
|
12534
|
-
let result = function(external) {
|
|
12535
|
-
if (/^[a-z0-9-]+ /.test(external)) {
|
|
12536
|
-
let idx = external.indexOf(' ');
|
|
12537
|
-
return [
|
|
12538
|
-
external.slice(0, idx),
|
|
12539
|
-
external.slice(idx + 1)
|
|
12540
|
-
];
|
|
12541
|
-
}
|
|
12542
|
-
return null;
|
|
12543
|
-
}(external);
|
|
12544
|
-
return null === result ? [
|
|
12545
|
-
remoteType,
|
|
12546
|
-
external
|
|
12547
|
-
] : result;
|
|
12548
|
-
}(external);
|
|
12549
|
-
if (remoteInfos[key] ??= [], "script" === externalType) {
|
|
12550
|
-
let [url, global] = function(urlAndGlobal) {
|
|
12551
|
-
let index = urlAndGlobal.indexOf('@');
|
|
12552
|
-
return index <= 0 || index === urlAndGlobal.length - 1 ? null : [
|
|
12553
|
-
urlAndGlobal.substring(index + 1),
|
|
12554
|
-
urlAndGlobal.substring(0, index)
|
|
12555
|
-
];
|
|
12556
|
-
}(externalRequest);
|
|
12557
|
-
remoteInfos[key].push({
|
|
12558
|
-
alias: key,
|
|
12559
|
-
name: global,
|
|
12560
|
-
entry: url,
|
|
12561
|
-
externalType,
|
|
12562
|
-
shareScope: config.shareScope
|
|
12563
|
-
});
|
|
12564
|
-
} else remoteInfos[key].push({
|
|
12565
|
-
alias: key,
|
|
12566
|
-
name: void 0,
|
|
12567
|
-
entry: void 0,
|
|
12568
|
-
externalType,
|
|
12569
|
-
shareScope: config.shareScope
|
|
12570
|
-
});
|
|
12571
|
-
}
|
|
12572
|
-
return remoteInfos;
|
|
12573
|
-
}
|
|
12574
|
-
function getDefaultEntryRuntime(paths, options, compiler, treeShakingShareFallbacks) {
|
|
12575
|
-
let runtimePlugins = options.runtimePlugins ?? [], remoteInfos = getRemoteInfos(options), runtimePluginImports = [], runtimePluginVars = [], libraryType = options.library?.type || 'var';
|
|
12576
|
-
for(let i = 0; i < runtimePlugins.length; i++){
|
|
12577
|
-
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;
|
|
12578
|
-
runtimePluginImports.push(`import ${runtimePluginVar} from ${JSON.stringify(pluginPath)}`);
|
|
12579
|
-
let paramsCode = void 0 === pluginParams ? 'undefined' : JSON.stringify(pluginParams);
|
|
12580
|
-
runtimePluginVars.push(`${runtimePluginVar}(${paramsCode})`);
|
|
12581
|
-
}
|
|
12582
|
-
let content = [
|
|
12583
|
-
`import __module_federation_bundler_runtime__ from ${JSON.stringify(paths.bundlerRuntime)}`,
|
|
12584
|
-
...runtimePluginImports,
|
|
12585
|
-
`const __module_federation_runtime_plugins__ = [${runtimePluginVars.join(', ')}]`,
|
|
12586
|
-
`const __module_federation_remote_infos__ = ${JSON.stringify(remoteInfos)}`,
|
|
12587
|
-
`const __module_federation_container_name__ = ${JSON.stringify(options.name ?? compiler.options.output.uniqueName)}`,
|
|
12588
|
-
`const __module_federation_share_strategy__ = ${JSON.stringify(options.shareStrategy ?? 'version-first')}`,
|
|
12589
|
-
`const __module_federation_share_fallbacks__ = ${JSON.stringify(treeShakingShareFallbacks)}`,
|
|
12590
|
-
`const __module_federation_library_type__ = ${JSON.stringify(libraryType)}`,
|
|
12591
|
-
compiler.webpack.Template.getFunctionContent(__webpack_require__("./moduleFederationDefaultRuntime.js"))
|
|
12592
|
-
].join(';');
|
|
12593
|
-
return `@module-federation/runtime/rspack.js!=!data:text/javascript,${content}`;
|
|
12594
|
-
}
|
|
12595
12137
|
class ContainerPlugin extends RspackBuiltinPlugin {
|
|
12596
12138
|
name = binding_.BuiltinPluginName.ContainerPlugin;
|
|
12597
12139
|
_options;
|
|
@@ -12600,7 +12142,7 @@ Help:
|
|
|
12600
12142
|
name: options.name,
|
|
12601
12143
|
shareScope: options.shareScope || 'default',
|
|
12602
12144
|
library: options.library || {
|
|
12603
|
-
type: '
|
|
12145
|
+
type: 'var',
|
|
12604
12146
|
name: options.name
|
|
12605
12147
|
},
|
|
12606
12148
|
runtime: options.runtime,
|
|
@@ -12683,7 +12225,7 @@ Help:
|
|
|
12683
12225
|
let _options = JSON.stringify(options || {});
|
|
12684
12226
|
return binding_default().transform(source, _options);
|
|
12685
12227
|
}
|
|
12686
|
-
let exports_rspackVersion = "1.7.3-canary-
|
|
12228
|
+
let exports_rspackVersion = "1.7.3-canary-6991b7b5-20260119174555", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
|
|
12687
12229
|
getNormalizedRspackOptions: getNormalizedRspackOptions,
|
|
12688
12230
|
applyRspackOptionsDefaults: applyRspackOptionsDefaults,
|
|
12689
12231
|
getNormalizedWebpackOptions: getNormalizedRspackOptions,
|
|
@@ -12726,12 +12268,11 @@ Help:
|
|
|
12726
12268
|
ContainerReferencePlugin: ContainerReferencePlugin,
|
|
12727
12269
|
ModuleFederationPlugin: class {
|
|
12728
12270
|
_options;
|
|
12729
|
-
_treeShakingSharedPlugin;
|
|
12730
12271
|
constructor(_options){
|
|
12731
12272
|
this._options = _options;
|
|
12732
12273
|
}
|
|
12733
12274
|
apply(compiler) {
|
|
12734
|
-
var options
|
|
12275
|
+
var options;
|
|
12735
12276
|
let runtimeToolsPath, bundlerRuntimePath, runtimePath, { webpack } = compiler, paths = (runtimeToolsPath = (options = this._options).implementation ?? require.resolve('@module-federation/runtime-tools'), bundlerRuntimePath = require.resolve('@module-federation/webpack-bundler-runtime', {
|
|
12736
12277
|
paths: [
|
|
12737
12278
|
runtimeToolsPath
|
|
@@ -12745,41 +12286,101 @@ Help:
|
|
|
12745
12286
|
bundlerRuntime: bundlerRuntimePath,
|
|
12746
12287
|
runtime: runtimePath
|
|
12747
12288
|
});
|
|
12748
|
-
compiler.options.resolve.alias = {
|
|
12289
|
+
if (compiler.options.resolve.alias = {
|
|
12749
12290
|
'@module-federation/runtime-tools': paths.runtimeTools,
|
|
12750
12291
|
'@module-federation/runtime': paths.runtime,
|
|
12751
12292
|
...compiler.options.resolve.alias
|
|
12752
|
-
},
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
|
|
12757
|
-
|
|
12758
|
-
|
|
12759
|
-
|
|
12760
|
-
|
|
12761
|
-
|
|
12762
|
-
|
|
12763
|
-
|
|
12764
|
-
|
|
12765
|
-
|
|
12766
|
-
|
|
12767
|
-
|
|
12768
|
-
|
|
12769
|
-
|
|
12770
|
-
|
|
12771
|
-
}
|
|
12772
|
-
}),
|
|
12773
|
-
name: 'ModuleFederationPlugin',
|
|
12774
|
-
stage: 100
|
|
12775
|
-
}, ()=>{
|
|
12776
|
-
runtimePluginApplied || (runtimePluginApplied = !0, new ModuleFederationRuntimePlugin({
|
|
12777
|
-
entryRuntime: getDefaultEntryRuntime(paths, this._options, compiler, this._treeShakingSharedPlugin?.buildAssets || {})
|
|
12778
|
-
}).apply(compiler));
|
|
12779
|
-
}), new webpack.container.ModuleFederationPluginV1({
|
|
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({
|
|
12780
12314
|
...this._options,
|
|
12781
12315
|
enhanced: !0
|
|
12782
|
-
}).apply(compiler), this._options.manifest
|
|
12316
|
+
}).apply(compiler), this._options.manifest) {
|
|
12317
|
+
let manifestOptions = !0 === this._options.manifest ? {} : {
|
|
12318
|
+
...this._options.manifest
|
|
12319
|
+
}, containerName = manifestOptions.name ?? this._options.name, globalName = manifestOptions.globalName ?? function(library) {
|
|
12320
|
+
if (!library) return;
|
|
12321
|
+
let libName = library.name;
|
|
12322
|
+
if (libName) {
|
|
12323
|
+
if ('string' == typeof libName) return libName;
|
|
12324
|
+
if (Array.isArray(libName)) return libName[0];
|
|
12325
|
+
if ('object' == typeof libName) return libName.root?.[0] ?? libName.amd ?? libName.commonjs ?? void 0;
|
|
12326
|
+
}
|
|
12327
|
+
}(this._options.library) ?? containerName, remoteAliasMap = Object.entries(getRemoteInfos(this._options)).reduce((sum, cur)=>{
|
|
12328
|
+
if (cur[1].length > 1) return sum;
|
|
12329
|
+
let { entry, alias, name } = cur[1][0];
|
|
12330
|
+
return entry && name && (sum[alias] = {
|
|
12331
|
+
name,
|
|
12332
|
+
entry
|
|
12333
|
+
}), sum;
|
|
12334
|
+
}, {}), manifestExposes = function(exposes) {
|
|
12335
|
+
if (!exposes) return;
|
|
12336
|
+
let result = parseOptions(exposes, (value)=>({
|
|
12337
|
+
import: Array.isArray(value) ? value : [
|
|
12338
|
+
value
|
|
12339
|
+
],
|
|
12340
|
+
name: void 0
|
|
12341
|
+
}), (value)=>({
|
|
12342
|
+
import: Array.isArray(value.import) ? value.import : [
|
|
12343
|
+
value.import
|
|
12344
|
+
],
|
|
12345
|
+
name: value.name ?? void 0
|
|
12346
|
+
})).map(([exposeKey, info])=>{
|
|
12347
|
+
let exposeName = info.name ?? exposeKey.replace(/^\.\//, '');
|
|
12348
|
+
return {
|
|
12349
|
+
path: exposeKey,
|
|
12350
|
+
name: exposeName
|
|
12351
|
+
};
|
|
12352
|
+
});
|
|
12353
|
+
return result.length > 0 ? result : void 0;
|
|
12354
|
+
}(this._options.exposes);
|
|
12355
|
+
void 0 === manifestOptions.exposes && manifestExposes && (manifestOptions.exposes = manifestExposes);
|
|
12356
|
+
let manifestShared = function(shared) {
|
|
12357
|
+
if (!shared) return;
|
|
12358
|
+
let result = parseOptions(shared, (item, key)=>{
|
|
12359
|
+
if ('string' != typeof item) throw Error('Unexpected array in shared');
|
|
12360
|
+
return item !== key && isRequiredVersion(item) ? {
|
|
12361
|
+
import: key,
|
|
12362
|
+
requiredVersion: item
|
|
12363
|
+
} : {
|
|
12364
|
+
import: item
|
|
12365
|
+
};
|
|
12366
|
+
}, (item)=>item).map(([key, config])=>{
|
|
12367
|
+
let name = config.shareKey || key, version = 'string' == typeof config.version ? config.version : void 0;
|
|
12368
|
+
return {
|
|
12369
|
+
name,
|
|
12370
|
+
version,
|
|
12371
|
+
requiredVersion: 'string' == typeof config.requiredVersion ? config.requiredVersion : void 0,
|
|
12372
|
+
singleton: config.singleton
|
|
12373
|
+
};
|
|
12374
|
+
});
|
|
12375
|
+
return result.length > 0 ? result : void 0;
|
|
12376
|
+
}(this._options.shared);
|
|
12377
|
+
void 0 === manifestOptions.shared && manifestShared && (manifestOptions.shared = manifestShared), new ModuleFederationManifestPlugin({
|
|
12378
|
+
...manifestOptions,
|
|
12379
|
+
name: containerName,
|
|
12380
|
+
globalName,
|
|
12381
|
+
remoteAliasMap
|
|
12382
|
+
}).apply(compiler);
|
|
12383
|
+
}
|
|
12783
12384
|
}
|
|
12784
12385
|
},
|
|
12785
12386
|
ModuleFederationPluginV1: class {
|
|
@@ -12816,7 +12417,6 @@ Help:
|
|
|
12816
12417
|
}
|
|
12817
12418
|
}, sharing = {
|
|
12818
12419
|
ProvideSharedPlugin: ProvideSharedPlugin,
|
|
12819
|
-
TreeShakingSharedPlugin: TreeShakingSharedPlugin,
|
|
12820
12420
|
ConsumeSharedPlugin: ConsumeSharedPlugin,
|
|
12821
12421
|
SharePlugin: SharePlugin
|
|
12822
12422
|
}, exports_experiments = {
|
|
@@ -12859,7 +12459,7 @@ Help:
|
|
|
12859
12459
|
return base_create(name, resolve, affectedHooks);
|
|
12860
12460
|
},
|
|
12861
12461
|
VirtualModulesPlugin: VirtualModulesPlugin
|
|
12862
|
-
}, src_fn = Object.assign(
|
|
12462
|
+
}, src_fn = Object.assign(rspack, exports_namespaceObject);
|
|
12863
12463
|
src_fn.rspack = src_fn, src_fn.webpack = src_fn;
|
|
12864
12464
|
let src_rspack_0 = src_fn, src_0 = src_rspack_0;
|
|
12865
12465
|
})(), exports.AsyncDependenciesBlock = __webpack_exports__.AsyncDependenciesBlock, exports.BannerPlugin = __webpack_exports__.BannerPlugin, exports.CaseSensitivePlugin = __webpack_exports__.CaseSensitivePlugin, exports.CircularDependencyRspackPlugin = __webpack_exports__.CircularDependencyRspackPlugin, exports.Compilation = __webpack_exports__.Compilation, exports.Compiler = __webpack_exports__.Compiler, exports.ConcatenatedModule = __webpack_exports__.ConcatenatedModule, exports.ContextModule = __webpack_exports__.ContextModule, exports.ContextReplacementPlugin = __webpack_exports__.ContextReplacementPlugin, exports.CopyRspackPlugin = __webpack_exports__.CopyRspackPlugin, exports.CssExtractRspackPlugin = __webpack_exports__.CssExtractRspackPlugin, exports.DefinePlugin = __webpack_exports__.DefinePlugin, exports.Dependency = __webpack_exports__.Dependency, exports.DllPlugin = __webpack_exports__.DllPlugin, exports.DllReferencePlugin = __webpack_exports__.DllReferencePlugin, exports.DynamicEntryPlugin = __webpack_exports__.DynamicEntryPlugin, exports.EntryDependency = __webpack_exports__.EntryDependency, exports.EntryOptionPlugin = __webpack_exports__.EntryOptionPlugin, exports.EntryPlugin = __webpack_exports__.EntryPlugin, exports.EnvironmentPlugin = __webpack_exports__.EnvironmentPlugin, exports.EvalDevToolModulePlugin = __webpack_exports__.EvalDevToolModulePlugin, exports.EvalSourceMapDevToolPlugin = __webpack_exports__.EvalSourceMapDevToolPlugin, exports.ExternalModule = __webpack_exports__.ExternalModule, exports.ExternalsPlugin = __webpack_exports__.ExternalsPlugin, exports.HotModuleReplacementPlugin = __webpack_exports__.HotModuleReplacementPlugin, exports.HtmlRspackPlugin = __webpack_exports__.HtmlRspackPlugin, exports.IgnorePlugin = __webpack_exports__.IgnorePlugin, exports.LightningCssMinimizerRspackPlugin = __webpack_exports__.LightningCssMinimizerRspackPlugin, exports.LoaderOptionsPlugin = __webpack_exports__.LoaderOptionsPlugin, exports.LoaderTargetPlugin = __webpack_exports__.LoaderTargetPlugin, exports.Module = __webpack_exports__.Module, exports.ModuleFilenameHelpers = __webpack_exports__.ModuleFilenameHelpers, exports.MultiCompiler = __webpack_exports__.MultiCompiler, exports.MultiStats = __webpack_exports__.MultiStats, exports.NoEmitOnErrorsPlugin = __webpack_exports__.NoEmitOnErrorsPlugin, exports.NormalModule = __webpack_exports__.NormalModule, exports.NormalModuleReplacementPlugin = __webpack_exports__.NormalModuleReplacementPlugin, exports.ProgressPlugin = __webpack_exports__.ProgressPlugin, exports.ProvidePlugin = __webpack_exports__.ProvidePlugin, exports.RspackOptionsApply = __webpack_exports__.RspackOptionsApply, exports.RuntimeGlobals = __webpack_exports__.RuntimeGlobals, exports.RuntimeModule = __webpack_exports__.RuntimeModule, exports.RuntimePlugin = __webpack_exports__.RuntimePlugin, exports.SourceMapDevToolPlugin = __webpack_exports__.SourceMapDevToolPlugin, exports.Stats = __webpack_exports__.Stats, exports.StatsErrorCode = __webpack_exports__.StatsErrorCode, exports.SubresourceIntegrityPlugin = __webpack_exports__.SubresourceIntegrityPlugin, exports.SwcJsMinimizerRspackPlugin = __webpack_exports__.SwcJsMinimizerRspackPlugin, exports.Template = __webpack_exports__.Template, exports.ValidationError = __webpack_exports__.ValidationError, exports.WarnCaseSensitiveModulesPlugin = __webpack_exports__.WarnCaseSensitiveModulesPlugin, exports.WebpackError = __webpack_exports__.WebpackError, exports.WebpackOptionsApply = __webpack_exports__.WebpackOptionsApply, exports.config = __webpack_exports__.config, exports.container = __webpack_exports__.container, exports.default = __webpack_exports__.default, exports.electron = __webpack_exports__.electron, exports.experiments = __webpack_exports__.experiments, exports.javascript = __webpack_exports__.javascript, exports.lazyCompilationMiddleware = __webpack_exports__.lazyCompilationMiddleware, exports.library = __webpack_exports__.library, exports.node = __webpack_exports__.node, exports.optimize = __webpack_exports__.optimize, exports.rspack = __webpack_exports__.rspack, exports.rspackVersion = __webpack_exports__.rspackVersion, exports.sharing = __webpack_exports__.sharing, exports.sources = __webpack_exports__.sources, exports.util = __webpack_exports__.util, exports.version = __webpack_exports__.version, exports.wasm = __webpack_exports__.wasm, exports.web = __webpack_exports__.web, exports.webworker = __webpack_exports__.webworker, __webpack_exports__)-1 === [
|