@tramvai/cli 2.92.0 → 2.93.0

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 (42) hide show
  1. package/lib/builder/webpack/tokens.d.ts +3 -0
  2. package/lib/di/tokens/config.d.ts +1 -0
  3. package/lib/library/webpack/application/client/dev.js +1 -1
  4. package/lib/library/webpack/application/client/dev.js.map +1 -1
  5. package/lib/library/webpack/application/server/dev.js +1 -1
  6. package/lib/library/webpack/application/server/dev.js.map +1 -1
  7. package/lib/library/webpack/blocks/dedupe.d.ts +4 -0
  8. package/lib/library/webpack/blocks/dedupe.js +12 -0
  9. package/lib/library/webpack/blocks/dedupe.js.map +1 -0
  10. package/lib/library/webpack/child-app/client/dev.js +1 -1
  11. package/lib/library/webpack/child-app/client/dev.js.map +1 -1
  12. package/lib/library/webpack/child-app/server/dev.js +1 -1
  13. package/lib/library/webpack/child-app/server/dev.js.map +1 -1
  14. package/lib/library/webpack/common/client/prod.js +5 -10
  15. package/lib/library/webpack/common/client/prod.js.map +1 -1
  16. package/lib/library/webpack/common/dev.d.ts +2 -1
  17. package/lib/library/webpack/common/dev.js +5 -1
  18. package/lib/library/webpack/common/dev.js.map +1 -1
  19. package/lib/library/webpack/common/server/prod.js +2 -9
  20. package/lib/library/webpack/common/server/prod.js.map +1 -1
  21. package/lib/library/webpack/module/client/dev.js +1 -1
  22. package/lib/library/webpack/module/client/dev.js.map +1 -1
  23. package/lib/library/webpack/module/server/dev.js +1 -1
  24. package/lib/library/webpack/module/server/dev.js.map +1 -1
  25. package/lib/schema/autogeneratedSchema.json +15 -0
  26. package/lib/typings/configEntry/cli.d.ts +6 -0
  27. package/package.json +4 -4
  28. package/schema.json +15 -0
  29. package/src/library/webpack/application/client/dev.ts +1 -1
  30. package/src/library/webpack/application/server/dev.ts +1 -1
  31. package/src/library/webpack/blocks/dedupe.ts +17 -0
  32. package/src/library/webpack/child-app/client/dev.ts +1 -1
  33. package/src/library/webpack/child-app/server/dev.ts +1 -1
  34. package/src/library/webpack/common/client/prod.ts +5 -7
  35. package/src/library/webpack/common/dev.ts +7 -1
  36. package/src/library/webpack/common/server/prod.ts +2 -9
  37. package/src/library/webpack/module/client/dev.ts +1 -1
  38. package/src/library/webpack/module/server/dev.ts +1 -1
  39. package/src/models/config.spec.ts +4 -0
  40. package/src/schema/autogeneratedSchema.json +15 -0
  41. package/src/schema/tramvai.spec.ts +2 -0
  42. package/src/typings/configEntry/cli.ts +6 -0
@@ -72,6 +72,7 @@ export declare const CLIENT_CONFIG_MANAGER_TOKEN: {
72
72
  };
73
73
  dedupe: {
74
74
  enabled: boolean;
75
+ enabledDev: boolean;
75
76
  strategy: import("@tinkoff/webpack-dedupe-plugin").DeduplicateStrategy;
76
77
  ignore?: string[];
77
78
  };
@@ -185,6 +186,7 @@ export declare const CLIENT_MODERN_CONFIG_MANAGER_TOKEN: {
185
186
  };
186
187
  dedupe: {
187
188
  enabled: boolean;
189
+ enabledDev: boolean;
188
190
  strategy: import("@tinkoff/webpack-dedupe-plugin").DeduplicateStrategy;
189
191
  ignore?: string[];
190
192
  };
@@ -298,6 +300,7 @@ export declare const SERVER_CONFIG_MANAGER_TOKEN: {
298
300
  };
299
301
  dedupe: {
300
302
  enabled: boolean;
303
+ enabledDev: boolean;
301
304
  strategy: import("@tinkoff/webpack-dedupe-plugin").DeduplicateStrategy;
302
305
  ignore?: string[];
303
306
  };
@@ -82,6 +82,7 @@ export declare const CONFIG_MANAGER_TOKEN: {
82
82
  };
83
83
  dedupe: {
84
84
  enabled: boolean;
85
+ enabledDev: boolean;
85
86
  strategy: import("@tinkoff/webpack-dedupe-plugin").DeduplicateStrategy;
86
87
  ignore?: string[];
87
88
  };
@@ -22,7 +22,7 @@ const webpackClientConfig = ({ configManager, showProgress, }) => {
22
22
  var _a, _b;
23
23
  const config = new webpack_chain_1.default();
24
24
  config.batch((0, common_1.default)(configManager));
25
- config.batch((0, dev_1.default)());
25
+ config.batch((0, dev_1.default)(configManager));
26
26
  config.batch((0, dev_2.commonApplicationDev)({
27
27
  entry: path_1.default.resolve(configManager.rootDir, `${configManager.root}/index`),
28
28
  onlyBundles: configManager.onlyBundles,
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/dev.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ const webpackServerConfig = ({ configManager, showProgress, }) => {
16
16
  var _a;
17
17
  const config = new webpack_chain_1.default();
18
18
  config.batch((0, common_1.default)(configManager));
19
- config.batch((0, dev_1.default)());
19
+ config.batch((0, dev_1.default)(configManager));
20
20
  config.batch((0, dev_2.commonApplicationDev)({
21
21
  entry: path_1.default.resolve(configManager.rootDir, `${configManager.root}/index`),
22
22
  onlyBundles: configManager.onlyBundles,
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/server/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/server/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type Config from 'webpack-chain';
2
+ import type { DedupePluginOptions } from '@tinkoff/webpack-dedupe-plugin';
3
+ import type { CliConfigEntry, ConfigManager } from '../../../api';
4
+ export declare const dedupe: (configManager: ConfigManager<CliConfigEntry>, options?: Partial<DedupePluginOptions>) => (config: Config) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dedupe = void 0;
4
+ const webpack_dedupe_plugin_1 = require("@tinkoff/webpack-dedupe-plugin");
5
+ const dedupe = (configManager, options) => (config) => {
6
+ var _a;
7
+ config.plugin('dedupe-plugin').use(webpack_dedupe_plugin_1.DedupePlugin, [
8
+ Object.assign({ strategy: configManager.dedupe.strategy, ignorePackages: (_a = configManager.dedupe.ignore) === null || _a === void 0 ? void 0 : _a.map((ignore) => new RegExp(`^${ignore}`)), showLogs: false }, options),
9
+ ]);
10
+ };
11
+ exports.dedupe = dedupe;
12
+ //# sourceMappingURL=dedupe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/dedupe.ts"],"names":[],"mappings":";;;AACA,0EAA8D;AAIvD,MAAM,MAAM,GACjB,CAAC,aAA4C,EAAE,OAAsC,EAAE,EAAE,CACzF,CAAC,MAAc,EAAE,EAAE;;IACjB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,oCAAY,EAAE;QAC/C,gBACE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EACvC,cAAc,EAAE,MAAA,aAAa,CAAC,MAAM,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,EACtF,QAAQ,EAAE,KAAK,IACZ,OAAO,CACY;KACzB,CAAC,CAAC;AACL,CAAC,CAAC;AAXS,QAAA,MAAM,UAWf"}
@@ -13,7 +13,7 @@ const webpackClientConfig = ({ configManager, showProgress, }) => {
13
13
  var _a, _b;
14
14
  const config = new webpack_chain_1.default();
15
15
  config.batch((0, common_1.default)(configManager));
16
- config.batch((0, dev_1.default)());
16
+ config.batch((0, dev_1.default)(configManager));
17
17
  config.mode('development');
18
18
  if (showProgress) {
19
19
  config.plugin('progress').use(webpackbar_1.default, [
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/child-app/client/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AACpC,8DAA8B;AAC9B,gHAAsE;AAEtE,8DAA8B;AAC9B,mEAAyC;AAEzC,yDAAsD;AAG/C,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,GAAE,CAAC,CAAC;IAE1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,kBAAkB;aACzB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAErC,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE;QACvB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,iBAAO,CAAC,0BAA0B,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,sCAAkB,EAAE;4CAEhD,UAAU,CAAC,OAAO,KACrB,OAAO,EACL,OAAO,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,OAAO,CAAA,KAAK,SAAS;oBAC9C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;oBAC5B,CAAC,mBACM,MAAA,UAAU,CAAC,OAAO,0CAAE,OAAO,CAC/B;SAEV,CAAC,CAAC;QAEH,IAAA,yBAAW,EAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,EAAE;gBACN,qFAAqF;aACtF;SACF,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AArDW,QAAA,mBAAmB,uBAqD9B"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/child-app/client/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AACpC,8DAA8B;AAC9B,gHAAsE;AAEtE,8DAA8B;AAC9B,mEAAyC;AAEzC,yDAAsD;AAG/C,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,EAAC,aAAa,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,kBAAkB;aACzB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAErC,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE;QACvB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,iBAAO,CAAC,0BAA0B,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,sCAAkB,EAAE;4CAEhD,UAAU,CAAC,OAAO,KACrB,OAAO,EACL,OAAO,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,OAAO,CAAA,KAAK,SAAS;oBAC9C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;oBAC5B,CAAC,mBACM,MAAA,UAAU,CAAC,OAAO,0CAAE,OAAO,CAC/B;SAEV,CAAC,CAAC;QAEH,IAAA,yBAAW,EAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,EAAE;gBACN,qFAAqF;aACtF;SACF,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AArDW,QAAA,mBAAmB,uBAqD9B"}
@@ -9,7 +9,7 @@ const dev_1 = tslib_1.__importDefault(require("../../common/dev"));
9
9
  const webpackServerConfig = ({ configManager, showProgress, }) => {
10
10
  const config = new webpack_chain_1.default();
11
11
  config.batch((0, common_1.default)(configManager));
12
- config.batch((0, dev_1.default)());
12
+ config.batch((0, dev_1.default)(configManager));
13
13
  config.mode('development');
14
14
  if (showProgress) {
15
15
  config.plugin('progress').use(webpackbar_1.default, [
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/child-app/server/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AAEpC,8DAA8B;AAC9B,mEAAyC;AAIlC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,GAAE,CAAC,CAAC;IAE1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,kBAAkB;aACzB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/child-app/server/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AAEpC,8DAA8B;AAC9B,mEAAyC;AAIlC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,EAAC,aAAa,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,kBAAkB;aACzB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B"}
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
4
4
  const once_1 = tslib_1.__importDefault(require("@tinkoff/utils/function/once"));
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
6
  const plugin_1 = require("inspectpack/plugin");
7
- const webpack_dedupe_plugin_1 = require("@tinkoff/webpack-dedupe-plugin");
7
+ const dedupe_1 = require("../../blocks/dedupe");
8
8
  const onDedupeInfo = (0, once_1.default)((logInfo) => {
9
9
  if (logInfo.size > 0) {
10
10
  console.warn(`${chalk_1.default.blue('Duplicates were found and merged during build.')}
@@ -14,20 +14,15 @@ For further details refer to doc - https://tramvai.dev/docs/mistakes/duplicate-d
14
14
  }
15
15
  });
16
16
  exports.default = (configManager) => (config) => {
17
- var _a;
18
17
  config.mode('production');
19
18
  config.plugin('define').tap((args) => [
20
19
  Object.assign(Object.assign({}, args[0]), { 'process.env.NODE_ENV': JSON.stringify('production') }),
21
20
  ]);
22
21
  if (configManager.dedupe.enabled) {
23
- config.plugin('dedupe-plugin').use(webpack_dedupe_plugin_1.DedupePlugin, [
24
- {
25
- strategy: configManager.dedupe.strategy,
26
- ignorePackages: (_a = configManager.dedupe.ignore) === null || _a === void 0 ? void 0 : _a.map((ignore) => new RegExp(`^${ignore}`)),
27
- showLogs: !configManager.modern,
28
- onDedupeInfo,
29
- },
30
- ]);
22
+ config.batch((0, dedupe_1.dedupe)(configManager, {
23
+ showLogs: !configManager.modern,
24
+ onDedupeInfo,
25
+ }));
31
26
  }
32
27
  else {
33
28
  config.plugin('duplicates-plugin').use(plugin_1.DuplicatesPlugin, [
@@ -1 +1 @@
1
- {"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/common/client/prod.ts"],"names":[],"mappings":";;;AAAA,gFAAgD;AAEhD,0DAA0B;AAC1B,+CAAsD;AAEtD,0EAA8D;AAI9D,MAAM,YAAY,GAAG,IAAA,cAAI,EAAsC,CAAC,OAAO,EAAE,EAAE;IACzE,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC;;;KAG3E,CAAC,CAAC;KACJ;AACH,CAAC,CAAC,CAAC;AAEH,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;;IAClF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE1B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;KAEvD,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE;QAChC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,oCAAY,EAAE;YAC/C;gBACE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ;gBACvC,cAAc,EAAE,MAAA,aAAa,CAAC,MAAM,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;gBACtF,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM;gBAC/B,YAAY;aACU;SACzB,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,yBAAgB,EAAE;YACvD;gBACE,OAAO,EAAE,IAAI;gBACb,+BAA+B;gBAC/B,+EAA+E;gBAC/E,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE;oBAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;aACF;SACF,CAAC,CAAC;KACJ;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/common/client/prod.ts"],"names":[],"mappings":";;;AAAA,gFAAgD;AAEhD,0DAA0B;AAC1B,+CAAsD;AAItD,gDAA6C;AAE7C,MAAM,YAAY,GAAG,IAAA,cAAI,EAAsC,CAAC,OAAO,EAAE,EAAE;IACzE,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC;;;KAG3E,CAAC,CAAC;KACJ;AACH,CAAC,CAAC,CAAC;AAEH,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE1B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;KAEvD,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE;QAChC,MAAM,CAAC,KAAK,CACV,IAAA,eAAM,EAAC,aAAa,EAAE;YACpB,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM;YAC/B,YAAY;SACb,CAAC,CACH,CAAC;KACH;SAAM;QACL,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,yBAAgB,EAAE;YACvD;gBACE,OAAO,EAAE,IAAI;gBACb,+BAA+B;gBAC/B,+EAA+E;gBAC/E,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE;oBAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;aACF;SACF,CAAC,CAAC;KACJ;AACH,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type Config from 'webpack-chain';
2
- declare const _default: () => (config: Config) => Config;
2
+ import type { CliConfigEntry, ConfigManager } from '../../../api';
3
+ declare const _default: (configManager: ConfigManager<CliConfigEntry>) => (config: Config) => Config;
3
4
  export default _default;
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const case_sensitive_paths_webpack_plugin_1 = tslib_1.__importDefault(require("case-sensitive-paths-webpack-plugin"));
5
5
  const warningsFilter_1 = require("../utils/warningsFilter");
6
- exports.default = () => (config) => {
6
+ const dedupe_1 = require("../blocks/dedupe");
7
+ exports.default = (configManager) => (config) => {
7
8
  config.plugin('case-sensitive-path').use(case_sensitive_paths_webpack_plugin_1.default);
8
9
  config.stats({
9
10
  preset: 'errors-warnings',
@@ -14,6 +15,9 @@ exports.default = () => (config) => {
14
15
  config.set('infrastructureLogging', { level: 'warn' });
15
16
  config.output.pathinfo(false);
16
17
  config.module.set('unsafeCache', true);
18
+ if (configManager.dedupe.enabledDev) {
19
+ config.batch((0, dedupe_1.dedupe)(configManager));
20
+ }
17
21
  return config;
18
22
  };
19
23
  //# sourceMappingURL=dev.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/library/webpack/common/dev.ts"],"names":[],"mappings":";;;AACA,sHAA2E;AAC3E,4DAAyD;AAEzD,kBAAe,GAAG,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IACtC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,6CAAwB,CAAC,CAAC;IAEnE,MAAM,CAAC,KAAK,CAAC;QACX,MAAM,EAAE,iBAAiB;QACzB,2EAA2E;QAC3E,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,+BAAc,CAAC,CAAC;IAE7C,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/library/webpack/common/dev.ts"],"names":[],"mappings":";;;AACA,sHAA2E;AAC3E,4DAAyD;AAEzD,6CAA0C;AAE1C,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,6CAAwB,CAAC,CAAC;IAEnE,MAAM,CAAC,KAAK,CAAC;QACX,MAAM,EAAE,iBAAiB;QACzB,2EAA2E;QAC3E,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,+BAAc,CAAC,CAAC;IAE7C,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAEvC,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,CAAC;KACrC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,20 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const webpack_dedupe_plugin_1 = require("@tinkoff/webpack-dedupe-plugin");
3
+ const dedupe_1 = require("../../blocks/dedupe");
4
4
  exports.default = (configManager) => (config) => {
5
- var _a;
6
5
  config.mode('production');
7
6
  config.plugin('define').tap((args) => [
8
7
  Object.assign(Object.assign({}, args[0]), { 'process.env.NODE_ENV': JSON.stringify('production') }),
9
8
  ]);
10
9
  if (configManager.dedupe.enabled) {
11
- config.plugin('dedupe-plugin').use(webpack_dedupe_plugin_1.DedupePlugin, [
12
- {
13
- strategy: configManager.dedupe.strategy,
14
- showLogs: false,
15
- ignorePackages: (_a = configManager.dedupe.ignore) === null || _a === void 0 ? void 0 : _a.map((ignore) => new RegExp(`^${ignore}`)),
16
- },
17
- ]);
10
+ config.batch((0, dedupe_1.dedupe)(configManager));
18
11
  }
19
12
  };
20
13
  //# sourceMappingURL=prod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/common/server/prod.ts"],"names":[],"mappings":";;AAEA,0EAA8D;AAI9D,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;;IAClF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE1B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;KAEvD,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE;QAChC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,oCAAY,EAAE;YAC/C;gBACE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ;gBACvC,QAAQ,EAAE,KAAK;gBACf,cAAc,EAAE,MAAA,aAAa,CAAC,MAAM,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;aAChE;SACzB,CAAC,CAAC;KACJ;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/common/server/prod.ts"],"names":[],"mappings":";;AAGA,gDAA6C;AAE7C,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE1B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;KAEvD,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE;QAChC,MAAM,CAAC,KAAK,CAAC,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,CAAC;KACrC;AACH,CAAC,CAAC"}
@@ -9,7 +9,7 @@ const dev_1 = tslib_1.__importDefault(require("../../common/dev"));
9
9
  const webpackClientConfig = ({ configManager, showProgress, }) => {
10
10
  const config = new webpack_chain_1.default();
11
11
  config.batch((0, common_1.default)(configManager));
12
- config.batch((0, dev_1.default)());
12
+ config.batch((0, dev_1.default)(configManager));
13
13
  config.mode('development');
14
14
  if (showProgress) {
15
15
  config.plugin('progress').use(webpackbar_1.default, [
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/module/client/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AAGpC,8DAA8B;AAC9B,mEAAyC;AAGlC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,GAAE,CAAC,CAAC;IAE1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,eAAe;aACtB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/module/client/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AAGpC,8DAA8B;AAC9B,mEAAyC;AAGlC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,EAAC,aAAa,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,eAAe;aACtB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B"}
@@ -9,7 +9,7 @@ const dev_1 = tslib_1.__importDefault(require("../../common/dev"));
9
9
  const webpackServerConfig = ({ configManager, showProgress, }) => {
10
10
  const config = new webpack_chain_1.default();
11
11
  config.batch((0, common_1.default)(configManager));
12
- config.batch((0, dev_1.default)());
12
+ config.batch((0, dev_1.default)(configManager));
13
13
  config.mode('development');
14
14
  if (showProgress) {
15
15
  config.plugin('progress').use(webpackbar_1.default, [
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/module/server/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AAGpC,8DAA8B;AAC9B,mEAAyC;AAGlC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,GAAE,CAAC,CAAC;IAE1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,eAAe;aACtB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/module/server/dev.ts"],"names":[],"mappings":";;;;AAAA,0EAAmC;AACnC,oEAAoC;AAGpC,8DAA8B;AAC9B,mEAAyC;AAGlC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,KAAK,CAAC,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,IAAA,aAAS,EAAC,aAAa,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAU,EAAE;YACxC;gBACE,IAAI,EAAE,eAAe;aACtB;SACF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,sBAAsB,EAAE,eAAe;KAE1C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B"}
@@ -818,6 +818,11 @@
818
818
  "default": true,
819
819
  "type": "boolean"
820
820
  },
821
+ "enabledDev": {
822
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
823
+ "default": false,
824
+ "type": "boolean"
825
+ },
821
826
  "strategy": {
822
827
  "title": "Strategy for DedupePlugin",
823
828
  "default": "equality",
@@ -1334,6 +1339,11 @@
1334
1339
  "default": true,
1335
1340
  "type": "boolean"
1336
1341
  },
1342
+ "enabledDev": {
1343
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
1344
+ "default": false,
1345
+ "type": "boolean"
1346
+ },
1337
1347
  "strategy": {
1338
1348
  "title": "Strategy for DedupePlugin",
1339
1349
  "default": "equality",
@@ -1850,6 +1860,11 @@
1850
1860
  "default": true,
1851
1861
  "type": "boolean"
1852
1862
  },
1863
+ "enabledDev": {
1864
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
1865
+ "default": false,
1866
+ "type": "boolean"
1867
+ },
1853
1868
  "strategy": {
1854
1869
  "title": "Strategy for DedupePlugin",
1855
1870
  "default": "equality",
@@ -198,6 +198,12 @@ export interface CliConfigEntry extends ConfigEntry {
198
198
  * @default true
199
199
  */
200
200
  enabled: boolean;
201
+ /**
202
+ * @title Does DedupePlugin should be enabled in development mode
203
+ * Why it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)
204
+ * @default false
205
+ */
206
+ enabledDev: boolean;
201
207
  /**
202
208
  * @title Strategy for DedupePlugin
203
209
  * @default "equality"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "2.92.0",
3
+ "version": "2.93.0",
4
4
  "description": "Cli инструмент для сборки и запуска приложений",
5
5
  "files": [
6
6
  "src",
@@ -62,16 +62,16 @@
62
62
  "@svgr/webpack": "^6.5.1",
63
63
  "@tinkoff/browserslist-config": "0.2.4",
64
64
  "@tinkoff/dippy": "0.8.15",
65
- "@tinkoff/is-modern-lib": "2.0.7",
65
+ "@tinkoff/is-modern-lib": "2.0.8",
66
66
  "@tinkoff/logger": "0.10.60",
67
67
  "@tinkoff/minicss-class-generator": "0.2.5",
68
68
  "@tinkoff/package-manager-wrapper": "0.1.8",
69
69
  "@tinkoff/request-core": "^0.9.2",
70
70
  "@tinkoff/request-plugin-protocol-http": "^0.11.6",
71
71
  "@tinkoff/utils": "^2.1.3",
72
- "@tinkoff/webpack-dedupe-plugin": "1.0.4",
72
+ "@tinkoff/webpack-dedupe-plugin": "1.0.5",
73
73
  "@tramvai/build": "3.1.3",
74
- "@tramvai/react": "2.92.0",
74
+ "@tramvai/react": "2.93.0",
75
75
  "@tramvai/tools-check-versions": "0.4.11",
76
76
  "@tramvai/tools-migrate": "0.6.14",
77
77
  "ajv": "^6.12.6",
package/schema.json CHANGED
@@ -839,6 +839,11 @@
839
839
  "default": true,
840
840
  "type": "boolean"
841
841
  },
842
+ "enabledDev": {
843
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
844
+ "default": false,
845
+ "type": "boolean"
846
+ },
842
847
  "strategy": {
843
848
  "title": "Strategy for DedupePlugin",
844
849
  "default": "equality",
@@ -1363,6 +1368,11 @@
1363
1368
  "default": true,
1364
1369
  "type": "boolean"
1365
1370
  },
1371
+ "enabledDev": {
1372
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
1373
+ "default": false,
1374
+ "type": "boolean"
1375
+ },
1366
1376
  "strategy": {
1367
1377
  "title": "Strategy for DedupePlugin",
1368
1378
  "default": "equality",
@@ -1887,6 +1897,11 @@
1887
1897
  "default": true,
1888
1898
  "type": "boolean"
1889
1899
  },
1900
+ "enabledDev": {
1901
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
1902
+ "default": false,
1903
+ "type": "boolean"
1904
+ },
1890
1905
  "strategy": {
1891
1906
  "title": "Strategy for DedupePlugin",
1892
1907
  "default": "equality",
@@ -34,7 +34,7 @@ export const webpackClientConfig = ({
34
34
  const config = new Config();
35
35
 
36
36
  config.batch(common(configManager));
37
- config.batch(commonDev());
37
+ config.batch(commonDev(configManager));
38
38
  config.batch(
39
39
  commonApplicationDev({
40
40
  entry: path.resolve(configManager.rootDir, `${configManager.root}/index`),
@@ -24,7 +24,7 @@ export const webpackServerConfig = ({
24
24
  const config = new Config();
25
25
 
26
26
  config.batch(common(configManager));
27
- config.batch(commonDev());
27
+ config.batch(commonDev(configManager));
28
28
  config.batch(
29
29
  commonApplicationDev({
30
30
  entry: path.resolve(configManager.rootDir, `${configManager.root}/index`),
@@ -0,0 +1,17 @@
1
+ import type Config from 'webpack-chain';
2
+ import { DedupePlugin } from '@tinkoff/webpack-dedupe-plugin';
3
+ import type { DedupePluginOptions } from '@tinkoff/webpack-dedupe-plugin';
4
+ import type { CliConfigEntry, ConfigManager } from '../../../api';
5
+
6
+ export const dedupe =
7
+ (configManager: ConfigManager<CliConfigEntry>, options?: Partial<DedupePluginOptions>) =>
8
+ (config: Config) => {
9
+ config.plugin('dedupe-plugin').use(DedupePlugin, [
10
+ {
11
+ strategy: configManager.dedupe.strategy,
12
+ ignorePackages: configManager.dedupe.ignore?.map((ignore) => new RegExp(`^${ignore}`)),
13
+ showLogs: false,
14
+ ...options,
15
+ } as DedupePluginOptions,
16
+ ]);
17
+ };
@@ -19,7 +19,7 @@ export const webpackClientConfig = ({
19
19
  const config = new Config();
20
20
 
21
21
  config.batch(common(configManager));
22
- config.batch(commonDev());
22
+ config.batch(commonDev(configManager));
23
23
 
24
24
  config.mode('development');
25
25
 
@@ -16,7 +16,7 @@ export const webpackServerConfig = ({
16
16
  const config = new Config();
17
17
 
18
18
  config.batch(common(configManager));
19
- config.batch(commonDev());
19
+ config.batch(commonDev(configManager));
20
20
 
21
21
  config.mode('development');
22
22
 
@@ -3,9 +3,9 @@ import type Config from 'webpack-chain';
3
3
  import chalk from 'chalk';
4
4
  import { DuplicatesPlugin } from 'inspectpack/plugin';
5
5
  import type { DedupePluginOptions } from '@tinkoff/webpack-dedupe-plugin';
6
- import { DedupePlugin } from '@tinkoff/webpack-dedupe-plugin';
7
6
  import type { ConfigManager } from '../../../../config/configManager';
8
7
  import type { CliConfigEntry } from '../../../../typings/configEntry/cli';
8
+ import { dedupe } from '../../blocks/dedupe';
9
9
 
10
10
  const onDedupeInfo = once<DedupePluginOptions['onDedupeInfo']>((logInfo) => {
11
11
  if (logInfo.size > 0) {
@@ -27,14 +27,12 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
27
27
  ]);
28
28
 
29
29
  if (configManager.dedupe.enabled) {
30
- config.plugin('dedupe-plugin').use(DedupePlugin, [
31
- {
32
- strategy: configManager.dedupe.strategy,
33
- ignorePackages: configManager.dedupe.ignore?.map((ignore) => new RegExp(`^${ignore}`)),
30
+ config.batch(
31
+ dedupe(configManager, {
34
32
  showLogs: !configManager.modern,
35
33
  onDedupeInfo,
36
- } as DedupePluginOptions,
37
- ]);
34
+ })
35
+ );
38
36
  } else {
39
37
  config.plugin('duplicates-plugin').use(DuplicatesPlugin, [
40
38
  {
@@ -1,8 +1,10 @@
1
1
  import type Config from 'webpack-chain';
2
2
  import CaseSensitivePathsPlugin from 'case-sensitive-paths-webpack-plugin';
3
3
  import { ignoreWarnings } from '../utils/warningsFilter';
4
+ import type { CliConfigEntry, ConfigManager } from '../../../api';
5
+ import { dedupe } from '../blocks/dedupe';
4
6
 
5
- export default () => (config: Config) => {
7
+ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config) => {
6
8
  config.plugin('case-sensitive-path').use(CaseSensitivePathsPlugin);
7
9
 
8
10
  config.stats({
@@ -19,5 +21,9 @@ export default () => (config: Config) => {
19
21
 
20
22
  config.module.set('unsafeCache', true);
21
23
 
24
+ if (configManager.dedupe.enabledDev) {
25
+ config.batch(dedupe(configManager));
26
+ }
27
+
22
28
  return config;
23
29
  };
@@ -1,8 +1,7 @@
1
1
  import type Config from 'webpack-chain';
2
- import type { DedupePluginOptions } from '@tinkoff/webpack-dedupe-plugin';
3
- import { DedupePlugin } from '@tinkoff/webpack-dedupe-plugin';
4
2
  import type { ConfigManager } from '../../../../config/configManager';
5
3
  import type { CliConfigEntry } from '../../../../typings/configEntry/cli';
4
+ import { dedupe } from '../../blocks/dedupe';
6
5
 
7
6
  export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config) => {
8
7
  config.mode('production');
@@ -15,12 +14,6 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
15
14
  ]);
16
15
 
17
16
  if (configManager.dedupe.enabled) {
18
- config.plugin('dedupe-plugin').use(DedupePlugin, [
19
- {
20
- strategy: configManager.dedupe.strategy,
21
- showLogs: false,
22
- ignorePackages: configManager.dedupe.ignore?.map((ignore) => new RegExp(`^${ignore}`)),
23
- } as DedupePluginOptions,
24
- ]);
17
+ config.batch(dedupe(configManager));
25
18
  }
26
19
  };
@@ -16,7 +16,7 @@ export const webpackClientConfig = ({
16
16
  const config = new Config();
17
17
 
18
18
  config.batch(common(configManager));
19
- config.batch(commonDev());
19
+ config.batch(commonDev(configManager));
20
20
 
21
21
  config.mode('development');
22
22
 
@@ -16,7 +16,7 @@ export const webpackServerConfig = ({
16
16
  const config = new Config();
17
17
 
18
18
  config.batch(common(configManager));
19
- config.batch(commonDev());
19
+ config.batch(commonDev(configManager));
20
20
 
21
21
  config.mode('development');
22
22
 
@@ -28,6 +28,7 @@ it('should populate defaults for config', () => {
28
28
  "cssMinimize": "css-minimizer",
29
29
  "dedupe": {
30
30
  "enabled": true,
31
+ "enabledDev": false,
31
32
  "strategy": "equality",
32
33
  },
33
34
  "define": {
@@ -94,6 +95,7 @@ it('should populate defaults for config', () => {
94
95
  "cssMinimize": "css-minimizer",
95
96
  "dedupe": {
96
97
  "enabled": true,
98
+ "enabledDev": false,
97
99
  "strategy": "equality",
98
100
  },
99
101
  "define": {
@@ -225,6 +227,7 @@ it('should populate defaults for overridable options', () => {
225
227
  "cssMinimize": "css-minimizer",
226
228
  "dedupe": {
227
229
  "enabled": true,
230
+ "enabledDev": false,
228
231
  "strategy": "semver",
229
232
  },
230
233
  "define": {
@@ -305,6 +308,7 @@ it('should populate defaults for overridable options', () => {
305
308
  "cssMinimize": "css-minimizer",
306
309
  "dedupe": {
307
310
  "enabled": true,
311
+ "enabledDev": false,
308
312
  "strategy": "equality",
309
313
  },
310
314
  "define": {
@@ -818,6 +818,11 @@
818
818
  "default": true,
819
819
  "type": "boolean"
820
820
  },
821
+ "enabledDev": {
822
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
823
+ "default": false,
824
+ "type": "boolean"
825
+ },
821
826
  "strategy": {
822
827
  "title": "Strategy for DedupePlugin",
823
828
  "default": "equality",
@@ -1334,6 +1339,11 @@
1334
1339
  "default": true,
1335
1340
  "type": "boolean"
1336
1341
  },
1342
+ "enabledDev": {
1343
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
1344
+ "default": false,
1345
+ "type": "boolean"
1346
+ },
1337
1347
  "strategy": {
1338
1348
  "title": "Strategy for DedupePlugin",
1339
1349
  "default": "equality",
@@ -1850,6 +1860,11 @@
1850
1860
  "default": true,
1851
1861
  "type": "boolean"
1852
1862
  },
1863
+ "enabledDev": {
1864
+ "title": "Does DedupePlugin should be enabled in development mode\nWhy it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)",
1865
+ "default": false,
1866
+ "type": "boolean"
1867
+ },
1853
1868
  "strategy": {
1854
1869
  "title": "Strategy for DedupePlugin",
1855
1870
  "default": "equality",
@@ -51,6 +51,7 @@ describe('JSON schema для tramvai.json', () => {
51
51
  "cssMinimize": "css-minimizer",
52
52
  "dedupe": {
53
53
  "enabled": true,
54
+ "enabledDev": false,
54
55
  "strategy": "equality",
55
56
  },
56
57
  "define": {
@@ -117,6 +118,7 @@ describe('JSON schema для tramvai.json', () => {
117
118
  "cssMinimize": "css-minimizer",
118
119
  "dedupe": {
119
120
  "enabled": true,
121
+ "enabledDev": false,
120
122
  "strategy": "equality",
121
123
  },
122
124
  "define": {
@@ -213,6 +213,12 @@ export interface CliConfigEntry extends ConfigEntry {
213
213
  * @default true
214
214
  */
215
215
  enabled: boolean;
216
+ /**
217
+ * @title Does DedupePlugin should be enabled in development mode
218
+ * Why it might be useful see [issue](https://github.com/Tinkoff/tramvai/issues/11)
219
+ * @default false
220
+ */
221
+ enabledDev: boolean;
216
222
  /**
217
223
  * @title Strategy for DedupePlugin
218
224
  * @default "equality"