@tramvai/cli 2.92.1 → 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 +3 -3
  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.1",
3
+ "version": "2.93.0",
4
4
  "description": "Cli инструмент для сборки и запуска приложений",
5
5
  "files": [
6
6
  "src",
@@ -69,9 +69,9 @@
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.1",
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"