@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.
Files changed (41) hide show
  1. package/lib/builder/webpack/tokens.d.ts +3 -0
  2. package/lib/commands/update/dependantLibs.d.ts +0 -1
  3. package/lib/commands/update/dependantLibs.js +3 -24
  4. package/lib/commands/update/dependantLibs.js.map +1 -1
  5. package/lib/commands/update/updatePackageJson.js +3 -5
  6. package/lib/commands/update/updatePackageJson.js.map +1 -1
  7. package/lib/di/tokens/config.d.ts +1 -0
  8. package/lib/library/webpack/application/client/common.js +7 -1
  9. package/lib/library/webpack/application/client/common.js.map +1 -1
  10. package/lib/library/webpack/application/server/prod.js +24 -0
  11. package/lib/library/webpack/application/server/prod.js.map +1 -1
  12. package/lib/library/webpack/blocks/optimize.js +4 -0
  13. package/lib/library/webpack/blocks/optimize.js.map +1 -1
  14. package/lib/library/webpack/child-app/client/common.js +7 -1
  15. package/lib/library/webpack/child-app/client/common.js.map +1 -1
  16. package/lib/library/webpack/child-app/moduleFederationShared.js +4 -4
  17. package/lib/library/webpack/plugins/ModuleFederationFixRange.d.ts +23 -0
  18. package/lib/library/webpack/plugins/ModuleFederationFixRange.js +125 -0
  19. package/lib/library/webpack/plugins/ModuleFederationFixRange.js.map +1 -0
  20. package/lib/schema/autogeneratedSchema.json +21 -3
  21. package/lib/typings/configEntry/cli.d.ts +7 -1
  22. package/lib/utils/tramvaiVersions.d.ts +3 -0
  23. package/lib/utils/tramvaiVersions.js +30 -0
  24. package/lib/utils/tramvaiVersions.js.map +1 -0
  25. package/package.json +8 -8
  26. package/schema.json +21 -3
  27. package/src/commands/update/dependantLibs.ts +1 -23
  28. package/src/commands/update/updatePackageJson.ts +2 -5
  29. package/src/library/swc/__integration__/__snapshots__/swc.build.test.ts.snap +149 -196
  30. package/src/library/swc/__integration__/__snapshots__/swc.start.test.ts.snap +30 -20
  31. package/src/library/webpack/application/client/common.ts +9 -1
  32. package/src/library/webpack/application/server/prod.ts +25 -0
  33. package/src/library/webpack/blocks/optimize.ts +4 -0
  34. package/src/library/webpack/child-app/client/common.ts +9 -1
  35. package/src/library/webpack/child-app/moduleFederationShared.ts +4 -4
  36. package/src/library/webpack/plugins/ModuleFederationFixRange.ts +174 -0
  37. package/src/models/config.spec.ts +4 -0
  38. package/src/schema/autogeneratedSchema.json +21 -3
  39. package/src/schema/tramvai.spec.ts +2 -0
  40. package/src/typings/configEntry/cli.ts +7 -1
  41. 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,2 +1 @@
1
- export declare const isDependantLib: (name: string) => boolean;
2
1
  export declare const getLibPackageVersion: (name: string, unifiedVersion: string) => Promise<string | undefined>;
@@ -1,33 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLibPackageVersion = exports.isDependantLib = void 0;
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
- // map of packages that is not in unified versioning
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;AAE1C,oDAAoD;AACpD,iCAAiC;AACjC,mFAAmF;AACnF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,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,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC7C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,oBAAoB,GAAG,CAClC,IAAY,EACZ,cAAsB,EACO,EAAE;IAC/B,MAAM,aAAa,GAAG,kBAAkB,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"}
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 isUnifiedVersion = (name) => {
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, dependantLibs_1.isDependantLib)(dep)) {
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":"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"}
1
+ {"version":3,"file":"updatePackageJson.js","sourceRoot":"","sources":["../../../src/commands/update/updatePackageJson.ts"],"names":[],"mappings":"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"}
@@ -114,6 +114,7 @@ export declare const CONFIG_MANAGER_TOKEN: {
114
114
  };
115
115
  shared: {
116
116
  defaultTramvaiDependencies?: boolean;
117
+ flexibleTramvaiVersions: boolean;
117
118
  deps: (string | {
118
119
  name: string;
119
120
  singleton: boolean;
@@ -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":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/common.ts"],"names":[],"mappings":"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"}
@@ -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;KACtD;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,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;AArDW,QAAA,mBAAmB,uBAqD9B"}
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"}
@@ -24,6 +24,10 @@ exports.default = (configManager) => (config) => {
24
24
  indent_start: 2,
25
25
  beautify: true,
26
26
  },
27
+ compress: {
28
+ passes: 2,
29
+ drop_debugger: !debug,
30
+ },
27
31
  },
28
32
  },
29
33
  ]);
@@ -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;IACxC,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,KAAK,CAAC,IAAA,qBAAK,EAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,CAAC;AACtE,CAAC,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 defaultDependenicesList = defaultTramvaiDependencies ? DEFAULT_DEPENDENCIES_LIST : [];
16
+ let defaultDependenciesList = defaultTramvaiDependencies ? DEFAULT_DEPENDENCIES_LIST : [];
17
17
  if (typeof defaultTramvaiDependencies === 'undefined') {
18
18
  if (type === 'child-app') {
19
- defaultDependenicesList = DEFAULT_DEPENDENCIES_LIST;
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
- defaultDependenicesList = DEFAULT_DEPENDENCIES_LIST;
26
+ defaultDependenciesList = DEFAULT_DEPENDENCIES_LIST;
27
27
  }
28
28
  }
29
29
  }
30
- return Object.assign(Object.assign({}, defaultDependenicesList.concat(deps).reduce((acc, dep) => {
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 @tramvai/module-child-app is specified in package.json
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,3 @@
1
+ export declare const DEPENDANT_LIBS_MAP: Map<string, string>;
2
+ export declare const isUnifiedVersion: (name: string) => boolean;
3
+ export declare const isDependantLib: (name: string) => boolean;
@@ -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.110.0",
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.11.1",
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.110.0",
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.7",
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.76.0",
160
+ "webpack": "5.85.0",
161
161
  "webpack-build-notifier": "^2.3.0",
162
- "webpack-bundle-analyzer": "^4.8.0",
162
+ "webpack-bundle-analyzer": "^4.9.0",
163
163
  "webpack-chain": "^6.5.1",
164
- "webpack-dev-middleware": "^6.0.1",
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": "^1.3.36",
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",