@module-federation/runtime-core 0.0.0-feat-shared-treeshake-poc-20251230095050 → 0.0.0-feat-shared-treeshake-poc-20260112031921
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.cjs +70 -99
- package/dist/index.cjs.cjs.map +1 -1
- package/dist/index.esm.js +70 -99
- package/dist/index.esm.js.map +1 -1
- package/dist/src/shared/index.d.ts +1 -1
- package/dist/src/type/config.d.ts +5 -5
- package/dist/src/utils/share.d.ts +5 -5
- package/package.json +3 -3
package/dist/index.cjs.cjs
CHANGED
|
@@ -201,7 +201,7 @@ function getGlobalFederationConstructor() {
|
|
|
201
201
|
function setGlobalFederationConstructor(FederationConstructor, isDebug = sdk.isDebugMode()) {
|
|
202
202
|
if (isDebug) {
|
|
203
203
|
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
|
|
204
|
-
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.0.0-feat-shared-treeshake-poc-
|
|
204
|
+
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.0.0-feat-shared-treeshake-poc-20260112031921";
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
@@ -808,8 +808,8 @@ function formatShare(shareArgs, from, name, shareStrategy) {
|
|
|
808
808
|
throw new Error(`Can not get shared '${name}'!`);
|
|
809
809
|
});
|
|
810
810
|
}
|
|
811
|
-
if (shareArgs.shareConfig?.eager && shareArgs.
|
|
812
|
-
throw new Error('Can not set "eager:true" and "
|
|
811
|
+
if (shareArgs.shareConfig?.eager && shareArgs.treeShaking) {
|
|
812
|
+
throw new Error('Can not set "eager:true" and "treeShaking" at the same time!');
|
|
813
813
|
}
|
|
814
814
|
return {
|
|
815
815
|
deps: [],
|
|
@@ -831,11 +831,11 @@ function formatShare(shareArgs, from, name, shareStrategy) {
|
|
|
831
831
|
? shareArgs.scope
|
|
832
832
|
: [shareArgs.scope ?? 'default'],
|
|
833
833
|
strategy: (shareArgs.strategy ?? shareStrategy) || 'version-first',
|
|
834
|
-
|
|
834
|
+
treeShaking: shareArgs.treeShaking
|
|
835
835
|
? {
|
|
836
|
-
...shareArgs.
|
|
837
|
-
strategy: shareArgs.
|
|
838
|
-
status: shareArgs.
|
|
836
|
+
...shareArgs.treeShaking,
|
|
837
|
+
strategy: shareArgs.treeShaking.strategy ?? 'server',
|
|
838
|
+
status: shareArgs.treeShaking.status ?? 1 /* TreeShakingStatus.UNKNOWN */,
|
|
839
839
|
useIn: [],
|
|
840
840
|
}
|
|
841
841
|
: undefined,
|
|
@@ -870,22 +870,22 @@ function formatShareConfigs(prevOptions, newOptions) {
|
|
|
870
870
|
});
|
|
871
871
|
return { allShareInfos, newShareInfos };
|
|
872
872
|
}
|
|
873
|
-
function
|
|
874
|
-
if (!
|
|
873
|
+
function shouldUseTreeShaking(treeShaking, usedExports) {
|
|
874
|
+
if (!treeShaking) {
|
|
875
875
|
return false;
|
|
876
876
|
}
|
|
877
|
-
const { status, strategy } =
|
|
878
|
-
if (status === 0 /*
|
|
877
|
+
const { status, strategy } = treeShaking;
|
|
878
|
+
if (status === 0 /* TreeShakingStatus.NO_USE */) {
|
|
879
879
|
return false;
|
|
880
880
|
}
|
|
881
|
-
if (status === 2 /*
|
|
881
|
+
if (status === 2 /* TreeShakingStatus.CALCULATED */) {
|
|
882
882
|
return true;
|
|
883
883
|
}
|
|
884
884
|
if (strategy === 'infer') {
|
|
885
885
|
if (!usedExports) {
|
|
886
886
|
return true;
|
|
887
887
|
}
|
|
888
|
-
return isMatchUsedExports(
|
|
888
|
+
return isMatchUsedExports(treeShaking, usedExports);
|
|
889
889
|
}
|
|
890
890
|
return false;
|
|
891
891
|
}
|
|
@@ -937,76 +937,76 @@ const isLoaded = (shared) => {
|
|
|
937
937
|
const isLoading = (shared) => {
|
|
938
938
|
return Boolean(shared.loading);
|
|
939
939
|
};
|
|
940
|
-
const isMatchUsedExports = (
|
|
941
|
-
if (!
|
|
940
|
+
const isMatchUsedExports = (treeShaking, usedExports) => {
|
|
941
|
+
if (!treeShaking || !usedExports) {
|
|
942
942
|
return false;
|
|
943
943
|
}
|
|
944
|
-
const { usedExports:
|
|
945
|
-
if (!
|
|
944
|
+
const { usedExports: treeShakingUsedExports } = treeShaking;
|
|
945
|
+
if (!treeShakingUsedExports) {
|
|
946
946
|
return false;
|
|
947
947
|
}
|
|
948
|
-
if (usedExports.every((e) =>
|
|
948
|
+
if (usedExports.every((e) => treeShakingUsedExports.includes(e))) {
|
|
949
949
|
return true;
|
|
950
950
|
}
|
|
951
951
|
return false;
|
|
952
952
|
};
|
|
953
|
-
function findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName,
|
|
953
|
+
function findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName, treeShaking) {
|
|
954
954
|
const versions = shareScopeMap[scope][pkgName];
|
|
955
955
|
let version = '';
|
|
956
|
-
let
|
|
956
|
+
let useTreesShaking = shouldUseTreeShaking(treeShaking);
|
|
957
957
|
// return false means use prev version
|
|
958
958
|
const callback = function (prev, cur) {
|
|
959
|
-
if (
|
|
960
|
-
if (!versions[prev].
|
|
959
|
+
if (useTreesShaking) {
|
|
960
|
+
if (!versions[prev].treeShaking) {
|
|
961
961
|
return true;
|
|
962
962
|
}
|
|
963
|
-
if (!versions[cur].
|
|
963
|
+
if (!versions[cur].treeShaking) {
|
|
964
964
|
return false;
|
|
965
965
|
}
|
|
966
|
-
return !isLoaded(versions[prev].
|
|
966
|
+
return !isLoaded(versions[prev].treeShaking) && versionLt(prev, cur);
|
|
967
967
|
}
|
|
968
968
|
return !isLoaded(versions[prev]) && versionLt(prev, cur);
|
|
969
969
|
};
|
|
970
|
-
if (
|
|
970
|
+
if (useTreesShaking) {
|
|
971
971
|
version = findVersion(shareScopeMap[scope][pkgName], callback);
|
|
972
972
|
if (version) {
|
|
973
973
|
return {
|
|
974
974
|
version,
|
|
975
|
-
|
|
975
|
+
useTreesShaking,
|
|
976
976
|
};
|
|
977
977
|
}
|
|
978
|
-
|
|
978
|
+
useTreesShaking = false;
|
|
979
979
|
}
|
|
980
980
|
return {
|
|
981
981
|
version: findVersion(shareScopeMap[scope][pkgName], callback),
|
|
982
|
-
|
|
982
|
+
useTreesShaking,
|
|
983
983
|
};
|
|
984
984
|
}
|
|
985
985
|
const isLoadingOrLoaded = (shared) => {
|
|
986
986
|
return isLoaded(shared) || isLoading(shared);
|
|
987
987
|
};
|
|
988
|
-
function findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName,
|
|
988
|
+
function findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName, treeShaking) {
|
|
989
989
|
const versions = shareScopeMap[scope][pkgName];
|
|
990
990
|
let version = '';
|
|
991
|
-
let
|
|
991
|
+
let useTreesShaking = shouldUseTreeShaking(treeShaking);
|
|
992
992
|
// return false means use prev version
|
|
993
993
|
const callback = function (prev, cur) {
|
|
994
|
-
if (
|
|
995
|
-
if (!versions[prev].
|
|
994
|
+
if (useTreesShaking) {
|
|
995
|
+
if (!versions[prev].treeShaking) {
|
|
996
996
|
return true;
|
|
997
997
|
}
|
|
998
|
-
if (!versions[cur].
|
|
998
|
+
if (!versions[cur].treeShaking) {
|
|
999
999
|
return false;
|
|
1000
1000
|
}
|
|
1001
|
-
if (isLoadingOrLoaded(versions[cur].
|
|
1002
|
-
if (isLoadingOrLoaded(versions[prev].
|
|
1001
|
+
if (isLoadingOrLoaded(versions[cur].treeShaking)) {
|
|
1002
|
+
if (isLoadingOrLoaded(versions[prev].treeShaking)) {
|
|
1003
1003
|
return Boolean(versionLt(prev, cur));
|
|
1004
1004
|
}
|
|
1005
1005
|
else {
|
|
1006
1006
|
return true;
|
|
1007
1007
|
}
|
|
1008
1008
|
}
|
|
1009
|
-
if (isLoadingOrLoaded(versions[prev].
|
|
1009
|
+
if (isLoadingOrLoaded(versions[prev].treeShaking)) {
|
|
1010
1010
|
return false;
|
|
1011
1011
|
}
|
|
1012
1012
|
}
|
|
@@ -1023,19 +1023,19 @@ function findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName, treesh
|
|
|
1023
1023
|
}
|
|
1024
1024
|
return versionLt(prev, cur);
|
|
1025
1025
|
};
|
|
1026
|
-
if (
|
|
1026
|
+
if (useTreesShaking) {
|
|
1027
1027
|
version = findVersion(shareScopeMap[scope][pkgName], callback);
|
|
1028
1028
|
if (version) {
|
|
1029
1029
|
return {
|
|
1030
1030
|
version,
|
|
1031
|
-
|
|
1031
|
+
useTreesShaking,
|
|
1032
1032
|
};
|
|
1033
1033
|
}
|
|
1034
|
-
|
|
1034
|
+
useTreesShaking = false;
|
|
1035
1035
|
}
|
|
1036
1036
|
return {
|
|
1037
1037
|
version: findVersion(shareScopeMap[scope][pkgName], callback),
|
|
1038
|
-
|
|
1038
|
+
useTreesShaking,
|
|
1039
1039
|
};
|
|
1040
1040
|
}
|
|
1041
1041
|
function getFindShareFunction(strategy) {
|
|
@@ -1048,7 +1048,7 @@ function getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare
|
|
|
1048
1048
|
if (!localShareScopeMap) {
|
|
1049
1049
|
return;
|
|
1050
1050
|
}
|
|
1051
|
-
const { shareConfig, scope = DEFAULT_SCOPE, strategy,
|
|
1051
|
+
const { shareConfig, scope = DEFAULT_SCOPE, strategy, treeShaking, } = shareInfo;
|
|
1052
1052
|
const scopes = Array.isArray(scope) ? scope : [scope];
|
|
1053
1053
|
for (const sc of scopes) {
|
|
1054
1054
|
if (shareConfig &&
|
|
@@ -1056,7 +1056,7 @@ function getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare
|
|
|
1056
1056
|
localShareScopeMap[sc][pkgName]) {
|
|
1057
1057
|
const { requiredVersion } = shareConfig;
|
|
1058
1058
|
const findShareFunction = getFindShareFunction(strategy);
|
|
1059
|
-
const { version: maxOrSingletonVersion,
|
|
1059
|
+
const { version: maxOrSingletonVersion, useTreesShaking } = findShareFunction(localShareScopeMap, sc, pkgName, treeShaking);
|
|
1060
1060
|
const defaultResolver = () => {
|
|
1061
1061
|
const shared = localShareScopeMap[sc][pkgName][maxOrSingletonVersion];
|
|
1062
1062
|
if (shareConfig.singleton) {
|
|
@@ -1072,32 +1072,32 @@ function getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare
|
|
|
1072
1072
|
}
|
|
1073
1073
|
return {
|
|
1074
1074
|
shared,
|
|
1075
|
-
|
|
1075
|
+
useTreesShaking,
|
|
1076
1076
|
};
|
|
1077
1077
|
}
|
|
1078
1078
|
else {
|
|
1079
1079
|
if (requiredVersion === false || requiredVersion === '*') {
|
|
1080
1080
|
return {
|
|
1081
1081
|
shared,
|
|
1082
|
-
|
|
1082
|
+
useTreesShaking,
|
|
1083
1083
|
};
|
|
1084
1084
|
}
|
|
1085
1085
|
if (satisfy(maxOrSingletonVersion, requiredVersion)) {
|
|
1086
1086
|
return {
|
|
1087
1087
|
shared,
|
|
1088
|
-
|
|
1088
|
+
useTreesShaking,
|
|
1089
1089
|
};
|
|
1090
1090
|
}
|
|
1091
|
-
const
|
|
1092
|
-
if (
|
|
1091
|
+
const _usedTreeShaking = shouldUseTreeShaking(treeShaking);
|
|
1092
|
+
if (_usedTreeShaking) {
|
|
1093
1093
|
for (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])) {
|
|
1094
|
-
if (!
|
|
1094
|
+
if (!shouldUseTreeShaking(versionValue.treeShaking, treeShaking?.usedExports)) {
|
|
1095
1095
|
continue;
|
|
1096
1096
|
}
|
|
1097
1097
|
if (satisfy(versionKey, requiredVersion)) {
|
|
1098
1098
|
return {
|
|
1099
1099
|
shared: versionValue,
|
|
1100
|
-
|
|
1100
|
+
useTreesShaking: _usedTreeShaking,
|
|
1101
1101
|
};
|
|
1102
1102
|
}
|
|
1103
1103
|
}
|
|
@@ -1106,7 +1106,7 @@ function getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare
|
|
|
1106
1106
|
if (satisfy(versionKey, requiredVersion)) {
|
|
1107
1107
|
return {
|
|
1108
1108
|
shared: versionValue,
|
|
1109
|
-
|
|
1109
|
+
useTreesShaking: false,
|
|
1110
1110
|
};
|
|
1111
1111
|
}
|
|
1112
1112
|
}
|
|
@@ -1142,7 +1142,7 @@ function getTargetSharedOptions(options) {
|
|
|
1142
1142
|
});
|
|
1143
1143
|
const callback = function (prev, cur) {
|
|
1144
1144
|
return (
|
|
1145
|
-
// TODO: consider multiple
|
|
1145
|
+
// TODO: consider multiple treeShaking shared scenes
|
|
1146
1146
|
!isLoaded(shareVersionMap[prev]) && versionLt(prev, cur));
|
|
1147
1147
|
};
|
|
1148
1148
|
const maxVersion = findVersion(shareVersionMap, callback);
|
|
@@ -1177,9 +1177,9 @@ const addUseIn = (shared, from) => {
|
|
|
1177
1177
|
}
|
|
1178
1178
|
addUniqueItem(shared.useIn, from);
|
|
1179
1179
|
};
|
|
1180
|
-
function directShare(shared,
|
|
1181
|
-
if (
|
|
1182
|
-
return shared.
|
|
1180
|
+
function directShare(shared, useTreesShaking) {
|
|
1181
|
+
if (useTreesShaking && shared.treeShaking) {
|
|
1182
|
+
return shared.treeShaking;
|
|
1183
1183
|
}
|
|
1184
1184
|
return shared;
|
|
1185
1185
|
}
|
|
@@ -2598,9 +2598,9 @@ class SharedHandler {
|
|
|
2598
2598
|
const { shareInfo: shareOptionsRes } = loadShareRes;
|
|
2599
2599
|
// Assert that shareInfoRes exists, if not, throw an error
|
|
2600
2600
|
assert(shareOptionsRes, `Cannot find ${pkgName} Share in the ${host.options.name}. Please ensure that the ${pkgName} Share parameters have been injected`);
|
|
2601
|
-
const { shared: registeredShared,
|
|
2601
|
+
const { shared: registeredShared, useTreesShaking } = getRegisteredShare(this.shareScopeMap, pkgName, shareOptionsRes, this.hooks.lifecycle.resolveShare) || {};
|
|
2602
2602
|
if (registeredShared) {
|
|
2603
|
-
const targetShared = directShare(registeredShared,
|
|
2603
|
+
const targetShared = directShare(registeredShared, useTreesShaking);
|
|
2604
2604
|
if (targetShared.lib) {
|
|
2605
2605
|
addUseIn(targetShared, host.options.name);
|
|
2606
2606
|
return targetShared.lib;
|
|
@@ -2630,7 +2630,9 @@ class SharedHandler {
|
|
|
2630
2630
|
from: host.options.name,
|
|
2631
2631
|
lib: null,
|
|
2632
2632
|
loading,
|
|
2633
|
-
|
|
2633
|
+
treeShaking: useTreesShaking
|
|
2634
|
+
? targetShared
|
|
2635
|
+
: undefined,
|
|
2634
2636
|
});
|
|
2635
2637
|
return loading;
|
|
2636
2638
|
}
|
|
@@ -2639,16 +2641,16 @@ class SharedHandler {
|
|
|
2639
2641
|
if (extraOptions?.customShareInfo) {
|
|
2640
2642
|
return false;
|
|
2641
2643
|
}
|
|
2642
|
-
const
|
|
2643
|
-
const targetShared = directShare(shareOptionsRes,
|
|
2644
|
+
const _useTreeShaking = shouldUseTreeShaking(shareOptionsRes.treeShaking);
|
|
2645
|
+
const targetShared = directShare(shareOptionsRes, _useTreeShaking);
|
|
2644
2646
|
const asyncLoadProcess = async () => {
|
|
2645
2647
|
const factory = await targetShared.get();
|
|
2646
2648
|
targetShared.lib = factory;
|
|
2647
2649
|
targetShared.loaded = true;
|
|
2648
2650
|
addUseIn(targetShared, host.options.name);
|
|
2649
|
-
const { shared: gShared,
|
|
2651
|
+
const { shared: gShared, useTreesShaking: gUseTreeShaking } = getRegisteredShare(this.shareScopeMap, pkgName, shareOptionsRes, this.hooks.lifecycle.resolveShare) || {};
|
|
2650
2652
|
if (gShared) {
|
|
2651
|
-
const targetGShared = directShare(gShared,
|
|
2653
|
+
const targetGShared = directShare(gShared, gUseTreeShaking);
|
|
2652
2654
|
targetGShared.lib = factory;
|
|
2653
2655
|
targetGShared.loaded = true;
|
|
2654
2656
|
gShared.from = shareOptionsRes.from;
|
|
@@ -2663,7 +2665,9 @@ class SharedHandler {
|
|
|
2663
2665
|
from: host.options.name,
|
|
2664
2666
|
lib: null,
|
|
2665
2667
|
loading,
|
|
2666
|
-
|
|
2668
|
+
treeShaking: _useTreeShaking
|
|
2669
|
+
? targetShared
|
|
2670
|
+
: undefined,
|
|
2667
2671
|
});
|
|
2668
2672
|
return loading;
|
|
2669
2673
|
}
|
|
@@ -2783,7 +2787,7 @@ class SharedHandler {
|
|
|
2783
2787
|
this.initializeSharing(shareScope, { strategy: shareOptions.strategy });
|
|
2784
2788
|
});
|
|
2785
2789
|
}
|
|
2786
|
-
const { shared: registeredShared,
|
|
2790
|
+
const { shared: registeredShared, useTreesShaking } = getRegisteredShare(this.shareScopeMap, pkgName, shareOptions, this.hooks.lifecycle.resolveShare) || {};
|
|
2787
2791
|
if (registeredShared) {
|
|
2788
2792
|
if (typeof registeredShared.lib === 'function') {
|
|
2789
2793
|
addUseIn(registeredShared, host.options.name);
|
|
@@ -2842,39 +2846,6 @@ class SharedHandler {
|
|
|
2842
2846
|
}
|
|
2843
2847
|
initShareScopeMap(scopeName, shareScope, extraOptions = {}) {
|
|
2844
2848
|
const { host } = this;
|
|
2845
|
-
// const existedShareScope = this.shareScopeMap[scopeName];
|
|
2846
|
-
// if (existedShareScope) {
|
|
2847
|
-
// Object.entries(shareScope).forEach(([pkgName, newVersions]) => {
|
|
2848
|
-
// const existedShareMap = existedShareScope[pkgName];
|
|
2849
|
-
// if (!existedShareMap) {
|
|
2850
|
-
// return;
|
|
2851
|
-
// }
|
|
2852
|
-
// Object.entries(existedShareMap).forEach(([version, existedShared]) => {
|
|
2853
|
-
// if (!shareScope[pkgName][version]) {
|
|
2854
|
-
// shareScope[pkgName][version] = existedShared;
|
|
2855
|
-
// }
|
|
2856
|
-
// // const newShared = newVersions[version];
|
|
2857
|
-
// // if (
|
|
2858
|
-
// // newShared &&
|
|
2859
|
-
// // newShared.treeshakeStatus === TreeshakeStatus.UNKNOWN &&
|
|
2860
|
-
// // newShared.usedExports &&
|
|
2861
|
-
// // existedShared.usedExports &&
|
|
2862
|
-
// // existedShared.usedExports.some(
|
|
2863
|
-
// // (exportName) => !newShared.usedExports?.includes(exportName),
|
|
2864
|
-
// // )
|
|
2865
|
-
// // ) {
|
|
2866
|
-
// // newShared.treeshakeStatus = TreeshakeStatus.NO_USE;
|
|
2867
|
-
// // newShared._noMatchedUsedExports =
|
|
2868
|
-
// // existedShared._noMatchedUsedExports || [];
|
|
2869
|
-
// // const item: NoMatchedUsedExportsItem = [existedShared.from];
|
|
2870
|
-
// // if (isDebugMode() && existedShared.usedExports) {
|
|
2871
|
-
// // item.push(existedShared.usedExports);
|
|
2872
|
-
// // }
|
|
2873
|
-
// // newShared._noMatchedUsedExports.push(item);
|
|
2874
|
-
// // }
|
|
2875
|
-
// });
|
|
2876
|
-
// });
|
|
2877
|
-
// }
|
|
2878
2849
|
this.shareScopeMap[scopeName] = shareScope;
|
|
2879
2850
|
this.hooks.lifecycle.initContainerShareScopeMap.emit({
|
|
2880
2851
|
shareScope,
|
|
@@ -2884,7 +2855,7 @@ class SharedHandler {
|
|
|
2884
2855
|
hostShareScopeMap: extraOptions.hostShareScopeMap,
|
|
2885
2856
|
});
|
|
2886
2857
|
}
|
|
2887
|
-
setShared({ pkgName, shared, from, lib, loading, loaded, get,
|
|
2858
|
+
setShared({ pkgName, shared, from, lib, loading, loaded, get, treeShaking, }) {
|
|
2888
2859
|
const { version, scope = 'default', ...shareInfo } = shared;
|
|
2889
2860
|
const scopes = Array.isArray(scope) ? scope : [scope];
|
|
2890
2861
|
const mergeAttrs = (shared) => {
|
|
@@ -2893,7 +2864,7 @@ class SharedHandler {
|
|
|
2893
2864
|
s[key] = val;
|
|
2894
2865
|
}
|
|
2895
2866
|
};
|
|
2896
|
-
const targetShared = (
|
|
2867
|
+
const targetShared = (treeShaking ? shared.treeShaking : shared);
|
|
2897
2868
|
merge(targetShared, 'loaded', loaded);
|
|
2898
2869
|
merge(targetShared, 'loading', loading);
|
|
2899
2870
|
merge(targetShared, 'get', get);
|
|
@@ -3291,7 +3262,7 @@ class ModuleFederation {
|
|
|
3291
3262
|
// maybe will change, temporarily for internal use only
|
|
3292
3263
|
initContainer: new AsyncWaterfallHook('initContainer'),
|
|
3293
3264
|
});
|
|
3294
|
-
this.version = "0.0.0-feat-shared-treeshake-poc-
|
|
3265
|
+
this.version = "0.0.0-feat-shared-treeshake-poc-20260112031921";
|
|
3295
3266
|
this.moduleCache = new Map();
|
|
3296
3267
|
this.loaderHook = new PluginSystem({
|
|
3297
3268
|
// FIXME: may not be suitable , not open to the public yet
|