@tramvai/cli 2.110.0 → 2.111.1
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/lib/builder/webpack/tokens.d.ts +3 -0
- package/lib/commands/update/dependantLibs.d.ts +0 -1
- package/lib/commands/update/dependantLibs.js +3 -24
- package/lib/commands/update/dependantLibs.js.map +1 -1
- package/lib/commands/update/updatePackageJson.js +3 -5
- package/lib/commands/update/updatePackageJson.js.map +1 -1
- package/lib/di/tokens/config.d.ts +1 -0
- package/lib/library/webpack/application/client/common.js +7 -1
- package/lib/library/webpack/application/client/common.js.map +1 -1
- package/lib/library/webpack/application/server/prod.js +24 -0
- package/lib/library/webpack/application/server/prod.js.map +1 -1
- package/lib/library/webpack/blocks/optimize.js +4 -0
- package/lib/library/webpack/blocks/optimize.js.map +1 -1
- package/lib/library/webpack/child-app/client/common.js +7 -1
- package/lib/library/webpack/child-app/client/common.js.map +1 -1
- package/lib/library/webpack/child-app/moduleFederationShared.js +4 -4
- package/lib/library/webpack/plugins/ModuleFederationFixRange.d.ts +23 -0
- package/lib/library/webpack/plugins/ModuleFederationFixRange.js +125 -0
- package/lib/library/webpack/plugins/ModuleFederationFixRange.js.map +1 -0
- package/lib/schema/autogeneratedSchema.json +21 -3
- package/lib/typings/configEntry/cli.d.ts +7 -1
- package/lib/utils/tramvaiVersions.d.ts +3 -0
- package/lib/utils/tramvaiVersions.js +30 -0
- package/lib/utils/tramvaiVersions.js.map +1 -0
- package/package.json +8 -8
- package/schema.json +21 -3
- package/src/commands/update/dependantLibs.ts +1 -23
- package/src/commands/update/updatePackageJson.ts +2 -5
- package/src/library/swc/__integration__/__snapshots__/swc.build.test.ts.snap +149 -196
- package/src/library/swc/__integration__/__snapshots__/swc.start.test.ts.snap +30 -20
- package/src/library/webpack/application/client/common.ts +9 -1
- package/src/library/webpack/application/server/prod.ts +25 -0
- package/src/library/webpack/blocks/optimize.ts +4 -0
- package/src/library/webpack/child-app/client/common.ts +9 -1
- package/src/library/webpack/child-app/moduleFederationShared.ts +4 -4
- package/src/library/webpack/plugins/ModuleFederationFixRange.ts +174 -0
- package/src/models/config.spec.ts +4 -0
- package/src/schema/autogeneratedSchema.json +21 -3
- package/src/schema/tramvai.spec.ts +2 -0
- package/src/typings/configEntry/cli.ts +7 -1
- package/src/utils/tramvaiVersions.ts +26 -0
|
@@ -104,6 +104,7 @@ export declare const CLIENT_CONFIG_MANAGER_TOKEN: {
|
|
|
104
104
|
};
|
|
105
105
|
shared: {
|
|
106
106
|
defaultTramvaiDependencies?: boolean;
|
|
107
|
+
flexibleTramvaiVersions: boolean;
|
|
107
108
|
deps: (string | {
|
|
108
109
|
name: string;
|
|
109
110
|
singleton: boolean;
|
|
@@ -219,6 +220,7 @@ export declare const CLIENT_MODERN_CONFIG_MANAGER_TOKEN: {
|
|
|
219
220
|
};
|
|
220
221
|
shared: {
|
|
221
222
|
defaultTramvaiDependencies?: boolean;
|
|
223
|
+
flexibleTramvaiVersions: boolean;
|
|
222
224
|
deps: (string | {
|
|
223
225
|
name: string;
|
|
224
226
|
singleton: boolean;
|
|
@@ -334,6 +336,7 @@ export declare const SERVER_CONFIG_MANAGER_TOKEN: {
|
|
|
334
336
|
};
|
|
335
337
|
shared: {
|
|
336
338
|
defaultTramvaiDependencies?: boolean;
|
|
339
|
+
flexibleTramvaiVersions: boolean;
|
|
337
340
|
deps: (string | {
|
|
338
341
|
name: string;
|
|
339
342
|
singleton: boolean;
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLibPackageVersion =
|
|
3
|
+
exports.getLibPackageVersion = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const latest_version_1 = tslib_1.__importDefault(require("latest-version"));
|
|
6
6
|
const package_json_1 = tslib_1.__importDefault(require("package-json"));
|
|
7
|
-
|
|
8
|
-
// but we still want to update it
|
|
9
|
-
// actual version to update will be calculated from the some of the @tramvai/module
|
|
10
|
-
const DEPENDANT_LIBS_MAP = new Map([
|
|
11
|
-
['@tinkoff/logger', '@tramvai/module-log'],
|
|
12
|
-
['@tinkoff/dippy', '@tramvai/core'],
|
|
13
|
-
['@tinkoff/router', '@tramvai/module-router'],
|
|
14
|
-
['@tinkoff/url', '@tramvai/module-common'],
|
|
15
|
-
['@tinkoff/errors', '@tramvai/module-common'],
|
|
16
|
-
['@tinkoff/roles', '@tramvai/module-authenticate'],
|
|
17
|
-
['@tinkoff/pubsub', '@tramvai/module-common'],
|
|
18
|
-
['@tinkoff/hook-runner', '@tramvai/module-common'],
|
|
19
|
-
['@tinkoff/htmlpagebuilder', '@tramvai/module-render'],
|
|
20
|
-
['@tinkoff/browser-timings', '@tramvai/module-metrics'],
|
|
21
|
-
['@tinkoff/meta-tags-generate', '@tramvai/module-render'],
|
|
22
|
-
['@tinkoff/pack-polyfills', ''],
|
|
23
|
-
['@tinkoff/browserslist-config', '@tramvai/cli'],
|
|
24
|
-
]);
|
|
25
|
-
const isDependantLib = (name) => {
|
|
26
|
-
return DEPENDANT_LIBS_MAP.has(name);
|
|
27
|
-
};
|
|
28
|
-
exports.isDependantLib = isDependantLib;
|
|
7
|
+
const tramvaiVersions_1 = require("../../utils/tramvaiVersions");
|
|
29
8
|
const getLibPackageVersion = (name, unifiedVersion) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
-
const unifiedModule = DEPENDANT_LIBS_MAP.get(name);
|
|
9
|
+
const unifiedModule = tramvaiVersions_1.DEPENDANT_LIBS_MAP.get(name);
|
|
31
10
|
if (!unifiedModule) {
|
|
32
11
|
return (0, latest_version_1.default)(name);
|
|
33
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependantLibs.js","sourceRoot":"","sources":["../../../src/commands/update/dependantLibs.ts"],"names":[],"mappings":";;;;AAAA,4EAAqD;AACrD,wEAA0C;
|
|
1
|
+
{"version":3,"file":"dependantLibs.js","sourceRoot":"","sources":["../../../src/commands/update/dependantLibs.ts"],"names":[],"mappings":";;;;AAAA,4EAAqD;AACrD,wEAA0C;AAC1C,iEAAiE;AAE1D,MAAM,oBAAoB,GAAG,CAClC,IAAY,EACZ,cAAsB,EACO,EAAE;IAC/B,MAAM,aAAa,GAAG,oCAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,IAAA,wBAAuB,EAAC,IAAI,CAAC,CAAC;KACtC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,sBAAc,EAAC,aAAa,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAE1F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,CAAC,IAAI,CACV,6CAA6C,IAAI;6CACV,CACxC,CAAC;QAEF,OAAO;KACR;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAA,CAAC;AAtBW,QAAA,oBAAoB,wBAsB/B"}
|
|
@@ -8,9 +8,7 @@ const p_map_1 = tslib_1.__importDefault(require("p-map"));
|
|
|
8
8
|
const ora_1 = tslib_1.__importDefault(require("ora"));
|
|
9
9
|
const packageHasVersion_1 = require("../../utils/commands/dependencies/packageHasVersion");
|
|
10
10
|
const dependantLibs_1 = require("./dependantLibs");
|
|
11
|
-
const
|
|
12
|
-
return name.startsWith('@tramvai');
|
|
13
|
-
};
|
|
11
|
+
const tramvaiVersions_1 = require("../../utils/tramvaiVersions");
|
|
14
12
|
const getVersionFromDep = (dep) => {
|
|
15
13
|
var _a, _b;
|
|
16
14
|
if (dep) {
|
|
@@ -20,10 +18,10 @@ const getVersionFromDep = (dep) => {
|
|
|
20
18
|
const updateDependencies = (dependencies = {}, targetVersion, currentVersion, spinner) => {
|
|
21
19
|
return (0, p_map_1.default)(Object.keys(dependencies), (dep) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
22
20
|
let nextVersion;
|
|
23
|
-
if (isUnifiedVersion(dep) && getVersionFromDep(dependencies[dep]) === currentVersion) {
|
|
21
|
+
if ((0, tramvaiVersions_1.isUnifiedVersion)(dep) && getVersionFromDep(dependencies[dep]) === currentVersion) {
|
|
24
22
|
nextVersion = targetVersion;
|
|
25
23
|
}
|
|
26
|
-
else if ((0,
|
|
24
|
+
else if ((0, tramvaiVersions_1.isDependantLib)(dep)) {
|
|
27
25
|
const libVersion = yield (0, dependantLibs_1.getLibPackageVersion)(dep, targetVersion);
|
|
28
26
|
nextVersion = libVersion;
|
|
29
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updatePackageJson.js","sourceRoot":"","sources":["../../../src/commands/update/updatePackageJson.ts"],"names":[],"mappings":";;;;AAAA,mCAA2C;AAC3C,oDAAoB;AACpB,0DAAyB;AAEzB,sDAAsB;AACtB,2FAAwF;AACxF,
|
|
1
|
+
{"version":3,"file":"updatePackageJson.js","sourceRoot":"","sources":["../../../src/commands/update/updatePackageJson.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,9 @@ const pagesResolve_1 = require("../../blocks/pagesResolve");
|
|
|
18
18
|
const configToEnv_1 = require("../../blocks/configToEnv");
|
|
19
19
|
const stats_1 = require("../../constants/stats");
|
|
20
20
|
const client_1 = require("../../blocks/pwa/client");
|
|
21
|
+
const ModuleFederationFixRange_1 = require("../../plugins/ModuleFederationFixRange");
|
|
21
22
|
exports.default = (configManager) => (config) => {
|
|
22
|
-
const { polyfill, fileSystemPages } = configManager;
|
|
23
|
+
const { polyfill, fileSystemPages, shared } = configManager;
|
|
23
24
|
const portal = path_1.default.resolve(configManager.rootDir, `packages/${process.env.APP_ID}/portal.js`);
|
|
24
25
|
const polyfillPath = path_1.default.resolve(configManager.rootDir, polyfill !== null && polyfill !== void 0 ? polyfill : 'src/polyfill');
|
|
25
26
|
const portalExists = fs_1.default.existsSync(portal);
|
|
@@ -45,6 +46,11 @@ exports.default = (configManager) => (config) => {
|
|
|
45
46
|
.end()
|
|
46
47
|
.when(portalExists, (cfg) => cfg.entry('portal').add(portal))
|
|
47
48
|
.when(polyfillExists, (cfg) => cfg.entry('polyfill').add(polyfillPath));
|
|
49
|
+
config.plugin('module-federation-validate-duplicates').use(ModuleFederationFixRange_1.ModuleFederationFixRange, [
|
|
50
|
+
{
|
|
51
|
+
flexibleTramvaiVersions: shared.flexibleTramvaiVersions,
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
48
54
|
config
|
|
49
55
|
.plugin('stats-plugin')
|
|
50
56
|
.use(webpack_stats_plugin_1.StatsWriterPlugin, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/common.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AACxB,oDAAoB;AAEpB,+DAAyD;AAIzD,+DAAmE;AAEnE,qEAAuC;AACvC,sCAA8C;AAC9C,mFAA6C;AAC7C,iEAAiC;AACjC,iEAAiC;AACjC,qEAAqC;AACrC,mEAAmC;AACnC,uFAAuD;AACvD,iFAAiD;AACjD,4DAAyD;AACzD,0DAAuD;AACvD,iDAAoF;AACpF,oDAAmD;AAEnD,kBAAe,CAAC,aAAoD,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC1F,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/common.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AACxB,oDAAoB;AAEpB,+DAAyD;AAIzD,+DAAmE;AAEnE,qEAAuC;AACvC,sCAA8C;AAC9C,mFAA6C;AAC7C,iEAAiC;AACjC,iEAAiC;AACjC,qEAAqC;AACrC,mEAAmC;AACnC,uFAAuD;AACvD,iFAAiD;AACjD,4DAAyD;AACzD,0DAAuD;AACvD,iDAAoF;AACpF,oDAAmD;AAEnD,qFAAkF;AAElF,kBAAe,CAAC,aAAoD,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC1F,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAE5D,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,cAAc,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,CAAC,CAAC,IAAA,gCAAkB,EAAC,YAAY,EAAE,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC;IAE3F,MAAM;SACH,IAAI,CAAC,QAAQ,CAAC;SACd,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACrD,KAAK,CAAC,IAAA,cAAM,EAAC,aAAa,CAAC,CAAC;SAC5B,KAAK,CAAC,IAAA,0BAAiB,EAAC,aAAa,CAAC,CAAC;SACvC,KAAK,CAAC,IAAA,yBAAW,EAAC,aAAa,CAAC,CAAC;SACjC,KAAK,CAAC,IAAA,qBAAK,EAAC,aAAa,CAAC,CAAC;SAC3B,KAAK,CAAC,IAAA,YAAE,EAAC,aAAa,CAAC,CAAC;SACxB,KAAK,CAAC,IAAA,YAAE,EAAC,aAAa,CAAC,CAAC;SACxB,KAAK,CAAC,IAAA,cAAI,EAAC,aAAa,CAAC,CAAC;SAC1B,KAAK,CAAC,IAAA,aAAG,EAAC,aAAa,CAAC,CAAC;SACzB,KAAK,CAAC,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC;SAChC,KAAK,CAAC,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC;SACnC,KAAK,CAAC,IAAA,iBAAQ,EAAC,aAAa,CAAC,CAAC;SAC9B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAA,2BAAY,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAElF,MAAM;SACH,KAAK,CAAC,UAAU,CAAC;SACjB,GAAG,CAAC,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,IAAI,QAAQ,CAAC,CAAC;SACvE,GAAG,EAAE;SACL,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5D,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1E,MAAM,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,mDAAwB,EAAE;QACnF;YACE,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;SACrB;KACrC,CAAC,CAAC;IAEH,MAAM;SACH,MAAM,CAAC,cAAc,CAAC;SACtB,GAAG,CAAC,wCAAiB,EAAE;QACtB;YACE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY;YACnE,KAAK,EAAE,6BAAqB;YAC5B,MAAM,EAAE,4BAAoB;SAC7B;KACF,CAAC;SACD,GAAG,EAAE;SACL,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAER,IAAI,CAAC,CAAC,CAAC,KACV,qBAAqB,EAAE,IAAI,EAC3B,oBAAoB,EAAE,KAAK;KAE9B,CAAC,CAAC;IAEL,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -20,6 +20,29 @@ const webpackServerConfig = ({ configManager, }) => {
|
|
|
20
20
|
config.optimization.set('moduleIds', 'named');
|
|
21
21
|
// prevent modules from concatenation in single module to easier debug
|
|
22
22
|
config.optimization.set('concatenateModules', false);
|
|
23
|
+
config.plugin('terser').use(terser_webpack_plugin_1.default, [
|
|
24
|
+
{
|
|
25
|
+
extractComments: false,
|
|
26
|
+
terserOptions: {
|
|
27
|
+
ecma: 5,
|
|
28
|
+
mangle: false,
|
|
29
|
+
// сохраняем имена функций, чтобы легче было найти ошибку в трамвае
|
|
30
|
+
keep_fnames: true,
|
|
31
|
+
compress: {
|
|
32
|
+
passes: 2,
|
|
33
|
+
drop_debugger: !debug,
|
|
34
|
+
dead_code: true,
|
|
35
|
+
},
|
|
36
|
+
output: {
|
|
37
|
+
comments: true,
|
|
38
|
+
semicolons: false,
|
|
39
|
+
preserve_annotations: true,
|
|
40
|
+
indent_start: 2,
|
|
41
|
+
beautify: true,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
]);
|
|
23
46
|
}
|
|
24
47
|
else {
|
|
25
48
|
config.plugin('terser').use(terser_webpack_plugin_1.default, [
|
|
@@ -31,6 +54,7 @@ const webpackServerConfig = ({ configManager, }) => {
|
|
|
31
54
|
// сохраняем имена функций, чтобы легче было найти ошибку в трамвае
|
|
32
55
|
keep_fnames: true,
|
|
33
56
|
compress: {
|
|
57
|
+
passes: 2,
|
|
34
58
|
drop_debugger: !debug,
|
|
35
59
|
dead_code: true,
|
|
36
60
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/server/prod.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,0FAAiD;AAKjD,gGAAgE;AAChE,8DAA8B;AAC9B,iFAAiD;AACjD,4EAAkD;AAE3C,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,GAGd,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IAE3C,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,cAAU,EAAC,aAAa,CAAC,CAAC,CAAC;IAExC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElB,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,aAAa,CAAC,uBAAuB,EAAE;QACzC,8DAA8D;QAC9D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/server/prod.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,0FAAiD;AAKjD,gGAAgE;AAChE,8DAA8B;AAC9B,iFAAiD;AACjD,4EAAkD;AAE3C,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,GAGd,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IAE3C,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,cAAU,EAAC,aAAa,CAAC,CAAC,CAAC;IAExC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElB,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,aAAa,CAAC,uBAAuB,EAAE;QACzC,8DAA8D;QAC9D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;YACxC;gBACE,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE;oBACb,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,KAAK;oBACb,mEAAmE;oBACnE,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE;wBACR,MAAM,EAAE,CAAC;wBACT,aAAa,EAAE,CAAC,KAAK;wBACrB,SAAS,EAAE,IAAI;qBAChB;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,KAAK;wBACjB,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;YACxC;gBACE,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE;oBACb,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,KAAK;oBACb,mEAAmE;oBACnE,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE;wBACR,MAAM,EAAE,CAAC;wBACT,aAAa,EAAE,CAAC,KAAK;wBACrB,SAAS,EAAE,IAAI;qBAChB;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;SACF,CAAC,CAAC;KACJ;IAED,4IAA4I;IAC5I,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,2BAAiB,EAAE;QACnD;YACE,UAAU,EAAE,2BAA2B;SACxC;KACF,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE;QACb,MAAM,CAAC,KAAK,CAAC,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,CAAC;KACzC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9EW,QAAA,mBAAmB,uBA8E9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/optimize.ts"],"names":[],"mappings":";;;AACA,0FAAiD;AACjD,wGAAwD;AACxD,sFAAoD;AAIpD,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAEjE,IAAI,uBAAuB,EAAE;QAC3B,8DAA8D;QAC9D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;YACxC;gBACE,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE;oBACb,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,KAAK;wBACjB,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF,CAAC,CAAC;QAEH,OAAO;KACR;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;QACxC;YACE,eAAe,EAAE,KAAK;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE;oBACN,sDAAsD;oBACtD,2EAA2E;oBAC3E,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE,KAAK;iBAChB;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,CAAC;oBACT,aAAa,EAAE,CAAC,KAAK;iBACtB;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,EAAE;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAAwB,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;KAC/E;SAAM;QACL,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,sCAAY,CAAC,CAAC;KAClD;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/optimize.ts"],"names":[],"mappings":";;;AACA,0FAAiD;AACjD,wGAAwD;AACxD,sFAAoD;AAIpD,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAEjE,IAAI,uBAAuB,EAAE;QAC3B,8DAA8D;QAC9D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;YACxC;gBACE,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE;oBACb,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,KAAK;wBACjB,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,IAAI;qBACf;oBACD,QAAQ,EAAE;wBACR,MAAM,EAAE,CAAC;wBACT,aAAa,EAAE,CAAC,KAAK;qBACtB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,OAAO;KACR;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;QACxC;YACE,eAAe,EAAE,KAAK;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE;oBACN,sDAAsD;oBACtD,2EAA2E;oBAC3E,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE,KAAK;iBAChB;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,CAAC;oBACT,aAAa,EAAE,CAAC,KAAK;iBACtB;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,EAAE;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAAwB,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;KAC/E;SAAM;QACL,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,sCAAY,CAAC,CAAC;KAClD;AACH,CAAC,CAAC"}
|
|
@@ -6,8 +6,9 @@ const common_1 = tslib_1.__importDefault(require("../common"));
|
|
|
6
6
|
const filesClient_1 = tslib_1.__importDefault(require("../../blocks/filesClient"));
|
|
7
7
|
const nodeClient_1 = tslib_1.__importDefault(require("../../blocks/nodeClient"));
|
|
8
8
|
const postcssAssets_1 = tslib_1.__importDefault(require("../../blocks/postcssAssets"));
|
|
9
|
+
const ModuleFederationFixRange_1 = require("../../plugins/ModuleFederationFixRange");
|
|
9
10
|
exports.default = (configManager) => (config) => {
|
|
10
|
-
const { name, version } = configManager;
|
|
11
|
+
const { name, version, shared } = configManager;
|
|
11
12
|
config.name('client');
|
|
12
13
|
config.batch((0, common_1.default)(configManager));
|
|
13
14
|
config.target(['web', 'es5']);
|
|
@@ -23,6 +24,11 @@ exports.default = (configManager) => (config) => {
|
|
|
23
24
|
filename: `${name}_stats@${version}.json`,
|
|
24
25
|
},
|
|
25
26
|
]);
|
|
27
|
+
config.plugin('module-federation-validate-duplicates').use(ModuleFederationFixRange_1.ModuleFederationFixRange, [
|
|
28
|
+
{
|
|
29
|
+
flexibleTramvaiVersions: shared.flexibleTramvaiVersions,
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
26
32
|
config.batch((0, filesClient_1.default)(configManager)).batch((0, nodeClient_1.default)(configManager));
|
|
27
33
|
};
|
|
28
34
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/library/webpack/child-app/client/common.ts"],"names":[],"mappings":";;;AACA,kDAAiE;AAIjE,+DAA+B;AAC/B,mFAA6C;AAC7C,iFAAiD;AACjD,uFAAuD;AAGvD,kBAAe,CAAC,aAAiD,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IACvF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/library/webpack/child-app/client/common.ts"],"names":[],"mappings":";;;AACA,kDAAiE;AAIjE,+DAA+B;AAC/B,mFAA6C;AAC7C,iFAAiD;AACjD,uFAAuD;AAGvD,qFAAkF;AAElF,kBAAe,CAAC,aAAiD,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IACvF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEtB,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IAEpC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,MAAM;SACV,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;SAC7B,UAAU,CAAC,MAAM,CAAC;SAClB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;SAC3B,QAAQ,CAAC,iBAAiB,OAAO,KAAK,CAAC;SACvC,aAAa,CAAC,sCAAsC,CAAC,CAAC;IAEzD,MAAM,CAAC,KAAK,CAAC,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,6BAAsB,EAAE;QACxD;YACE,QAAQ,EAAE,GAAG,IAAI,UAAU,OAAO,OAAO;SAC1C;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,mDAAwB,EAAE;QACnF;YACE,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;SACrB;KACrC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,IAAA,qBAAK,EAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC"}
|
|
@@ -13,21 +13,21 @@ const getSharedModules = (configManager) => {
|
|
|
13
13
|
var _a;
|
|
14
14
|
const { rootDir, type, shared: { deps, defaultTramvaiDependencies }, } = configManager;
|
|
15
15
|
const isChild = type === 'child-app';
|
|
16
|
-
let
|
|
16
|
+
let defaultDependenciesList = defaultTramvaiDependencies ? DEFAULT_DEPENDENCIES_LIST : [];
|
|
17
17
|
if (typeof defaultTramvaiDependencies === 'undefined') {
|
|
18
18
|
if (type === 'child-app') {
|
|
19
|
-
|
|
19
|
+
defaultDependenciesList = DEFAULT_DEPENDENCIES_LIST;
|
|
20
20
|
}
|
|
21
21
|
else if (type === 'application') {
|
|
22
22
|
const packageJson = (0, safeRequire_1.safeRequire)(path_1.default.resolve(rootDir, 'package.json'), true);
|
|
23
23
|
// add default dependencies only if child-app is in use to minimize bundle size for apps
|
|
24
24
|
// without child-apps
|
|
25
25
|
if ((_a = packageJson === null || packageJson === void 0 ? void 0 : packageJson.dependencies) === null || _a === void 0 ? void 0 : _a['@tramvai/module-child-app']) {
|
|
26
|
-
|
|
26
|
+
defaultDependenciesList = DEFAULT_DEPENDENCIES_LIST;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
return Object.assign(Object.assign({},
|
|
30
|
+
return Object.assign(Object.assign({}, defaultDependenciesList.concat(deps).reduce((acc, dep) => {
|
|
31
31
|
const { name, singleton = false } = typeof dep === 'string' ? { name: dep } : dep;
|
|
32
32
|
acc[name] = {
|
|
33
33
|
import: name,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type webpack from 'webpack';
|
|
2
|
+
import type { Compiler, NormalModule } from 'webpack';
|
|
3
|
+
type SemverRange = [number, number, number, number];
|
|
4
|
+
interface SharedModuleOptions {
|
|
5
|
+
shareKey: string;
|
|
6
|
+
requiredVersion?: SemverRange;
|
|
7
|
+
importResolved: string;
|
|
8
|
+
singleton?: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface SharedModule extends NormalModule {
|
|
11
|
+
options?: SharedModuleOptions;
|
|
12
|
+
}
|
|
13
|
+
export interface ModuleFederationFixRangeOptions {
|
|
14
|
+
flexibleTramvaiVersions: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class ModuleFederationFixRange implements webpack.WebpackPluginInstance {
|
|
17
|
+
private flexibleTramvaiVersions;
|
|
18
|
+
private sharedModules;
|
|
19
|
+
constructor({ flexibleTramvaiVersions }: ModuleFederationFixRangeOptions);
|
|
20
|
+
apply(compiler: Compiler): void;
|
|
21
|
+
fixVersionRange(module: SharedModule): void;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleFederationFixRange = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const resolve_1 = require("resolve");
|
|
6
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
+
// eslint-disable-next-line no-restricted-imports
|
|
8
|
+
const semver_1 = require("webpack/lib/util/semver");
|
|
9
|
+
const tramvaiVersions_1 = require("../../../utils/tramvaiVersions");
|
|
10
|
+
const PLUGIN_NAME = 'ModuleFederationValidateDuplicates';
|
|
11
|
+
const resolvePackageVersion = (name, basedir) => {
|
|
12
|
+
try {
|
|
13
|
+
const packageJsonPath = (0, resolve_1.sync)(`${name}/package.json`, {
|
|
14
|
+
basedir,
|
|
15
|
+
});
|
|
16
|
+
const packageJson = require(packageJsonPath);
|
|
17
|
+
return packageJson.version;
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.warn(`ModuleFederation: could not infer version for package "${name}"`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
class ModuleFederationFixRange {
|
|
24
|
+
constructor({ flexibleTramvaiVersions }) {
|
|
25
|
+
// { name: { importResolved: { number }} }
|
|
26
|
+
this.sharedModules = new Map();
|
|
27
|
+
this.flexibleTramvaiVersions = flexibleTramvaiVersions !== null && flexibleTramvaiVersions !== void 0 ? flexibleTramvaiVersions : false;
|
|
28
|
+
}
|
|
29
|
+
apply(compiler) {
|
|
30
|
+
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (_, { normalModuleFactory }) => {
|
|
31
|
+
normalModuleFactory.hooks.factorize.intercept({
|
|
32
|
+
register: (tap) => {
|
|
33
|
+
if (tap.name === 'ConsumeSharedPlugin') {
|
|
34
|
+
const originalFn = tap.fn;
|
|
35
|
+
// eslint-disable-next-line no-param-reassign
|
|
36
|
+
tap.fn = (...args) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const module = yield originalFn(...args);
|
|
38
|
+
if (module === null || module === void 0 ? void 0 : module.options) {
|
|
39
|
+
this.fixVersionRange(module);
|
|
40
|
+
}
|
|
41
|
+
return module;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return tap;
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
compiler.hooks.done.tap(PLUGIN_NAME, () => {
|
|
49
|
+
const duplicates = [];
|
|
50
|
+
const criticalDuplicates = [];
|
|
51
|
+
for (const [name, shared] of this.sharedModules) {
|
|
52
|
+
if (shared.size > 1) {
|
|
53
|
+
duplicates.push({
|
|
54
|
+
name,
|
|
55
|
+
paths: [...shared.keys()],
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
for (const [path, versions] of shared) {
|
|
59
|
+
if (versions.size > 1) {
|
|
60
|
+
criticalDuplicates.push({ name, path });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// reset sharedModules info after compilation has ended
|
|
65
|
+
this.sharedModules = new Map();
|
|
66
|
+
if (duplicates.length) {
|
|
67
|
+
console.warn(`⚠️ ModuleFederation: Found duplicates for next shared modules:
|
|
68
|
+
${duplicates
|
|
69
|
+
.map(({ name, paths }) => {
|
|
70
|
+
return `\t${chalk_1.default.yellowBright(name)}: ${paths.join(', ')}`;
|
|
71
|
+
})
|
|
72
|
+
.join('\n')}
|
|
73
|
+
`);
|
|
74
|
+
}
|
|
75
|
+
if (criticalDuplicates.length) {
|
|
76
|
+
console.error(`❗ ModuleFederation: Found duplicates for shared modules with different major versions that are resolved to the same path:
|
|
77
|
+
${criticalDuplicates
|
|
78
|
+
.map(({ name, path }) => {
|
|
79
|
+
return `\t${chalk_1.default.red(name)}: ${path}`;
|
|
80
|
+
})
|
|
81
|
+
.join('\n')}`);
|
|
82
|
+
throw new Error('ModuleFederation: Different major versions have resolved to the same path for shared modules, please review errors above');
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
fixVersionRange(module) {
|
|
87
|
+
const { options, options: { shareKey: name, singleton, importResolved }, context, } = module;
|
|
88
|
+
let { requiredVersion } = options;
|
|
89
|
+
// ignore singletons as the actual version won't change anything
|
|
90
|
+
// and usually it is just a react and co libraries
|
|
91
|
+
if (!requiredVersion && context && !singleton) {
|
|
92
|
+
const version = resolvePackageVersion(name, context);
|
|
93
|
+
if (version) {
|
|
94
|
+
requiredVersion = (0, semver_1.parseRange)(version);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (!requiredVersion) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (requiredVersion && this.flexibleTramvaiVersions) {
|
|
101
|
+
const isTramvai = (0, tramvaiVersions_1.isUnifiedVersion)(name) || (0, tramvaiVersions_1.isDependantLib)(name);
|
|
102
|
+
if (isTramvai && requiredVersion[0] > 2) {
|
|
103
|
+
// 1 is used for `^` range modifier
|
|
104
|
+
// see https://github.com/webpack/webpack/blob/56363993156e06a1230c9759eba277a22e6b6604/lib/util/semver.js#LL235C20-L235C20
|
|
105
|
+
requiredVersion[0] = 1;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// change version in webpack module
|
|
109
|
+
options.requiredVersion = requiredVersion;
|
|
110
|
+
let shared = this.sharedModules.get(name);
|
|
111
|
+
if (!shared) {
|
|
112
|
+
shared = new Map();
|
|
113
|
+
this.sharedModules.set(name, shared);
|
|
114
|
+
}
|
|
115
|
+
let versions = shared.get(importResolved);
|
|
116
|
+
if (!versions) {
|
|
117
|
+
versions = new Set();
|
|
118
|
+
shared.set(importResolved, versions);
|
|
119
|
+
}
|
|
120
|
+
// save major version of the semver array
|
|
121
|
+
versions.add(requiredVersion[1]);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.ModuleFederationFixRange = ModuleFederationFixRange;
|
|
125
|
+
//# sourceMappingURL=ModuleFederationFixRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleFederationFixRange.js","sourceRoot":"","sources":["../../../../src/library/webpack/plugins/ModuleFederationFixRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1225,7 +1225,13 @@
|
|
|
1225
1225
|
"properties": {
|
|
1226
1226
|
"defaultTramvaiDependencies": {
|
|
1227
1227
|
"title": "Should default dependencies list be added to shared list",
|
|
1228
|
-
"description": "It includes the list of commonly used dependencies in the child-apps\nBy default, it is enabled in application in case of",
|
|
1228
|
+
"description": "It includes the list of commonly used dependencies in the child-apps\nBy default, it is enabled in application in case of tramvai/module-child-app is specified in package.json\nand for child-apps",
|
|
1229
|
+
"type": "boolean"
|
|
1230
|
+
},
|
|
1231
|
+
"flexibleTramvaiVersions": {
|
|
1232
|
+
"title": "add caret range specifier for tramvai dependencies",
|
|
1233
|
+
"description": "minimal versions are inferred from package.json",
|
|
1234
|
+
"default": true,
|
|
1229
1235
|
"type": "boolean"
|
|
1230
1236
|
},
|
|
1231
1237
|
"deps": {
|
|
@@ -1746,7 +1752,13 @@
|
|
|
1746
1752
|
"properties": {
|
|
1747
1753
|
"defaultTramvaiDependencies": {
|
|
1748
1754
|
"title": "Should default dependencies list be added to shared list",
|
|
1749
|
-
"description": "It includes the list of commonly used dependencies in the child-apps\nBy default, it is enabled in application in case of",
|
|
1755
|
+
"description": "It includes the list of commonly used dependencies in the child-apps\nBy default, it is enabled in application in case of tramvai/module-child-app is specified in package.json\nand for child-apps",
|
|
1756
|
+
"type": "boolean"
|
|
1757
|
+
},
|
|
1758
|
+
"flexibleTramvaiVersions": {
|
|
1759
|
+
"title": "add caret range specifier for tramvai dependencies",
|
|
1760
|
+
"description": "minimal versions are inferred from package.json",
|
|
1761
|
+
"default": true,
|
|
1750
1762
|
"type": "boolean"
|
|
1751
1763
|
},
|
|
1752
1764
|
"deps": {
|
|
@@ -2267,7 +2279,13 @@
|
|
|
2267
2279
|
"properties": {
|
|
2268
2280
|
"defaultTramvaiDependencies": {
|
|
2269
2281
|
"title": "Should default dependencies list be added to shared list",
|
|
2270
|
-
"description": "It includes the list of commonly used dependencies in the child-apps\nBy default, it is enabled in application in case of",
|
|
2282
|
+
"description": "It includes the list of commonly used dependencies in the child-apps\nBy default, it is enabled in application in case of tramvai/module-child-app is specified in package.json\nand for child-apps",
|
|
2283
|
+
"type": "boolean"
|
|
2284
|
+
},
|
|
2285
|
+
"flexibleTramvaiVersions": {
|
|
2286
|
+
"title": "add caret range specifier for tramvai dependencies",
|
|
2287
|
+
"description": "minimal versions are inferred from package.json",
|
|
2288
|
+
"default": true,
|
|
2271
2289
|
"type": "boolean"
|
|
2272
2290
|
},
|
|
2273
2291
|
"deps": {
|
|
@@ -269,10 +269,16 @@ export interface CliConfigEntry extends ConfigEntry {
|
|
|
269
269
|
/**
|
|
270
270
|
* @title Should default dependencies list be added to shared list
|
|
271
271
|
* @description It includes the list of commonly used dependencies in the child-apps
|
|
272
|
-
* By default, it is enabled in application in case of
|
|
272
|
+
* By default, it is enabled in application in case of tramvai/module-child-app is specified in package.json
|
|
273
273
|
* and for child-apps
|
|
274
274
|
*/
|
|
275
275
|
defaultTramvaiDependencies?: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* @title add caret range specifier for tramvai dependencies
|
|
278
|
+
* @description minimal versions are inferred from package.json
|
|
279
|
+
* @default true
|
|
280
|
+
*/
|
|
281
|
+
flexibleTramvaiVersions: boolean;
|
|
276
282
|
/**
|
|
277
283
|
* @title list of the dependencies that will be shared
|
|
278
284
|
* @default []
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDependantLib = exports.isUnifiedVersion = exports.DEPENDANT_LIBS_MAP = void 0;
|
|
4
|
+
// map of packages that is not in unified versioning
|
|
5
|
+
// but we still want to update it
|
|
6
|
+
// actual version to update will be calculated from the some of the @tramvai/module
|
|
7
|
+
exports.DEPENDANT_LIBS_MAP = new Map([
|
|
8
|
+
['@tinkoff/logger', '@tramvai/module-log'],
|
|
9
|
+
['@tinkoff/dippy', '@tramvai/core'],
|
|
10
|
+
['@tinkoff/router', '@tramvai/module-router'],
|
|
11
|
+
['@tinkoff/url', '@tramvai/module-common'],
|
|
12
|
+
['@tinkoff/errors', '@tramvai/module-common'],
|
|
13
|
+
['@tinkoff/roles', '@tramvai/module-authenticate'],
|
|
14
|
+
['@tinkoff/pubsub', '@tramvai/module-common'],
|
|
15
|
+
['@tinkoff/hook-runner', '@tramvai/module-common'],
|
|
16
|
+
['@tinkoff/htmlpagebuilder', '@tramvai/module-render'],
|
|
17
|
+
['@tinkoff/browser-timings', '@tramvai/module-metrics'],
|
|
18
|
+
['@tinkoff/meta-tags-generate', '@tramvai/module-render'],
|
|
19
|
+
['@tinkoff/pack-polyfills', ''],
|
|
20
|
+
['@tinkoff/browserslist-config', '@tramvai/cli'],
|
|
21
|
+
]);
|
|
22
|
+
const isUnifiedVersion = (name) => {
|
|
23
|
+
return name.startsWith('@tramvai');
|
|
24
|
+
};
|
|
25
|
+
exports.isUnifiedVersion = isUnifiedVersion;
|
|
26
|
+
const isDependantLib = (name) => {
|
|
27
|
+
return exports.DEPENDANT_LIBS_MAP.has(name);
|
|
28
|
+
};
|
|
29
|
+
exports.isDependantLib = isDependantLib;
|
|
30
|
+
//# sourceMappingURL=tramvaiVersions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tramvaiVersions.js","sourceRoot":"","sources":["../../src/utils/tramvaiVersions.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,iCAAiC;AACjC,mFAAmF;AACtE,QAAA,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;IAC1C,CAAC,gBAAgB,EAAE,eAAe,CAAC;IACnC,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IAC7C,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAC1C,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IAC7C,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAClD,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IAC7C,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;IACtD,CAAC,0BAA0B,EAAE,yBAAyB,CAAC;IACvD,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;IACzD,CAAC,yBAAyB,EAAE,EAAE,CAAC;IAC/B,CAAC,8BAA8B,EAAE,cAAc,CAAC;CACjD,CAAC,CAAC;AAEI,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC7C,OAAO,0BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.111.1",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"@discoveryjs/json-ext": "^0.5.7",
|
|
57
57
|
"@fastify/compress": "^6.2.0",
|
|
58
58
|
"@fastify/static": "^6.9.0",
|
|
59
|
-
"@module-federation/node": "^0.
|
|
59
|
+
"@module-federation/node": "^0.15.1",
|
|
60
60
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
|
|
61
61
|
"@sentry/node": "^6.2.5",
|
|
62
62
|
"@svgr/webpack": "^6.5.1",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@tinkoff/utils": "^2.1.3",
|
|
72
72
|
"@tinkoff/webpack-dedupe-plugin": "1.0.5",
|
|
73
73
|
"@tramvai/build": "3.1.3",
|
|
74
|
-
"@tramvai/react": "2.
|
|
74
|
+
"@tramvai/react": "2.111.1",
|
|
75
75
|
"@tramvai/tools-check-versions": "0.4.14",
|
|
76
76
|
"@tramvai/tools-migrate": "0.6.18",
|
|
77
77
|
"ajv": "^6.12.6",
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
"stoppable": "^1.1.0",
|
|
149
149
|
"svgo": "^1.3.2",
|
|
150
150
|
"svgo-loader": "^2.2.2",
|
|
151
|
-
"terser-webpack-plugin": "^5.3.
|
|
151
|
+
"terser-webpack-plugin": "^5.3.9",
|
|
152
152
|
"text-table": "^0.2.0",
|
|
153
153
|
"thread-loader": "^3.0.4",
|
|
154
154
|
"tsconfig-paths-webpack-plugin": "^4.0.1",
|
|
@@ -157,11 +157,11 @@
|
|
|
157
157
|
"v8-compile-cache": "^2.3.0",
|
|
158
158
|
"validate-npm-package-name": "^3.0.0",
|
|
159
159
|
"wait-on": "^5.3.0",
|
|
160
|
-
"webpack": "5.
|
|
160
|
+
"webpack": "5.85.0",
|
|
161
161
|
"webpack-build-notifier": "^2.3.0",
|
|
162
|
-
"webpack-bundle-analyzer": "^4.
|
|
162
|
+
"webpack-bundle-analyzer": "^4.9.0",
|
|
163
163
|
"webpack-chain": "^6.5.1",
|
|
164
|
-
"webpack-dev-middleware": "^6.
|
|
164
|
+
"webpack-dev-middleware": "^6.1.1",
|
|
165
165
|
"webpack-hot-middleware": "^2.25.3",
|
|
166
166
|
"webpack-stats-plugin": "^1.1.1",
|
|
167
167
|
"webpackbar": "^5.0.2",
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"wrap-ansi": "^7.0.0"
|
|
170
170
|
},
|
|
171
171
|
"devDependencies": {
|
|
172
|
-
"@swc/core": "
|
|
172
|
+
"@swc/core": "1.3.62",
|
|
173
173
|
"@tramvai/tools-generate-schema": "0.1.4",
|
|
174
174
|
"@types/compression": "^1.7.2",
|
|
175
175
|
"@types/express": "^4.17.13",
|