@tramvai/cli 2.117.2 → 2.118.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 (43) hide show
  1. package/lib/api/start/providers/child-app/shared.js +0 -13
  2. package/lib/api/start/providers/child-app/shared.js.map +1 -1
  3. package/lib/api/start/providers/module/shared.js +0 -13
  4. package/lib/api/start/providers/module/shared.js.map +1 -1
  5. package/lib/builder/webpack/devServer/{client.d.ts → setup.d.ts} +1 -3
  6. package/lib/builder/webpack/devServer/{client.js → setup.js} +2 -2
  7. package/lib/builder/webpack/devServer/setup.js.map +1 -0
  8. package/lib/builder/webpack/providers/shared.js +14 -2
  9. package/lib/builder/webpack/providers/shared.js.map +1 -1
  10. package/lib/builder/webpack/providers/start/client.js +0 -13
  11. package/lib/builder/webpack/providers/start/client.js.map +1 -1
  12. package/lib/builder/webpack/providers/start/shared.js +13 -0
  13. package/lib/builder/webpack/providers/start/shared.js.map +1 -1
  14. package/lib/library/babel/index.d.ts +8 -0
  15. package/lib/library/babel/index.js +8 -0
  16. package/lib/library/babel/index.js.map +1 -1
  17. package/lib/library/swc/index.js +2 -3
  18. package/lib/library/swc/index.js.map +1 -1
  19. package/lib/library/typescript/index.d.ts +4 -0
  20. package/lib/library/webpack/blocks/js.js +2 -7
  21. package/lib/library/webpack/blocks/js.js.map +1 -1
  22. package/lib/library/webpack/blocks/ts.js +2 -7
  23. package/lib/library/webpack/blocks/ts.js.map +1 -1
  24. package/lib/library/webpack/utils/threadLoader.d.ts +6 -0
  25. package/lib/library/webpack/utils/threadLoader.js +54 -0
  26. package/lib/library/webpack/utils/threadLoader.js.map +1 -0
  27. package/package.json +2 -2
  28. package/src/api/start/providers/child-app/shared.ts +0 -13
  29. package/src/api/start/providers/module/shared.ts +0 -13
  30. package/src/builder/webpack/devServer/{client.ts → setup.ts} +0 -3
  31. package/src/builder/webpack/providers/shared.ts +14 -2
  32. package/src/builder/webpack/providers/start/client.ts +3 -21
  33. package/src/builder/webpack/providers/start/shared.ts +15 -1
  34. package/src/library/babel/index.ts +9 -0
  35. package/src/library/swc/index.ts +2 -3
  36. package/src/library/webpack/blocks/js.ts +2 -9
  37. package/src/library/webpack/blocks/ts.ts +2 -9
  38. package/src/library/webpack/utils/threadLoader.ts +67 -0
  39. package/lib/builder/webpack/devServer/client.js.map +0 -1
  40. package/lib/library/webpack/utils/workersPool.d.ts +0 -4
  41. package/lib/library/webpack/utils/workersPool.js +0 -50
  42. package/lib/library/webpack/utils/workersPool.js.map +0 -1
  43. package/src/library/webpack/utils/workersPool.ts +0 -58
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const dippy_1 = require("@tinkoff/dippy");
6
6
  const tokens_1 = require("../../tokens");
7
7
  const tokens_2 = require("../../../../di/tokens");
8
- const workersPool_1 = require("../../../../library/webpack/utils/workersPool");
9
8
  const stopServer_1 = require("../../utils/stopServer");
10
9
  const createServer_1 = require("../../utils/createServer");
11
10
  const listenServer_1 = require("../../utils/listenServer");
@@ -52,17 +51,5 @@ exports.sharedProviders = [
52
51
  staticServer: tokens_2.STATIC_SERVER_TOKEN,
53
52
  },
54
53
  }),
55
- (0, dippy_1.provide)({
56
- provide: tokens_1.CLOSE_HANDLER_TOKEN,
57
- multi: true,
58
- useFactory: ({ configManager }) => {
59
- return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
60
- yield (0, workersPool_1.closeWorkerPoolTranspiler)(configManager);
61
- });
62
- },
63
- deps: {
64
- configManager: tokens_2.CONFIG_MANAGER_TOKEN,
65
- },
66
- }),
67
54
  ];
68
55
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/child-app/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAE/B,+EAA0F;AAC1F,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,oEAAmG;AACnG,qEAAkE;AAErD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAkC,kCACjD,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,0CAA0B,EAAE,CAAC,IACxF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,UAAU,EAAE,2BAAY;KACzB,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,OAAO,SAAe,kBAAkB;;oBACtC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;oBAErC,MAAM,IAAA,2BAAY,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;aAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;YACjC,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,OAAO,GAAG,EAAE;gBACV,OAAO,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,GAAS,EAAE;gBAChB,MAAM,IAAA,uCAAyB,EAAC,aAAa,CAAC,CAAC;YACjD,CAAC,CAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;CACM,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/child-app/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAE/B,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,oEAAmG;AACnG,qEAAkE;AAErD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAkC,kCACjD,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,0CAA0B,EAAE,CAAC,IACxF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,UAAU,EAAE,2BAAY;KACzB,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,OAAO,SAAe,kBAAkB;;oBACtC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;oBAErC,MAAM,IAAA,2BAAY,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;aAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;YACjC,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,OAAO,GAAG,EAAE;gBACV,OAAO,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;CACM,CAAC"}
@@ -6,7 +6,6 @@ const dippy_1 = require("@tinkoff/dippy");
6
6
  const tokens_1 = require("../../tokens");
7
7
  const tokens_2 = require("../../../../di/tokens");
8
8
  const configManager_1 = require("../../../../config/configManager");
9
- const workersPool_1 = require("../../../../library/webpack/utils/workersPool");
10
9
  const stopServer_1 = require("../../utils/stopServer");
11
10
  const createServer_1 = require("../../utils/createServer");
12
11
  const listenServer_1 = require("../../utils/listenServer");
@@ -52,17 +51,5 @@ exports.sharedProviders = [
52
51
  staticServer: tokens_2.STATIC_SERVER_TOKEN,
53
52
  },
54
53
  }),
55
- (0, dippy_1.provide)({
56
- provide: tokens_1.CLOSE_HANDLER_TOKEN,
57
- multi: true,
58
- useFactory: ({ configManager }) => {
59
- return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
60
- (0, workersPool_1.closeWorkerPoolTranspiler)(configManager);
61
- });
62
- },
63
- deps: {
64
- configManager: tokens_2.CONFIG_MANAGER_TOKEN,
65
- },
66
- }),
67
54
  ];
68
55
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/module/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAC/B,oEAAmG;AACnG,+EAA0F;AAC1F,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,qEAAkE;AAGrD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAgC,kCAC/C,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,0CAA0B,EAAE,CAAC,IACxF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,UAAU,EAAE,2BAAY;KACzB,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,OAAO,SAAe,kBAAkB;;oBACtC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;oBAErC,MAAM,IAAA,2BAAY,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;aAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;YACjC,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,OAAO,GAAG,EAAE;gBACV,OAAO,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,GAAS,EAAE;gBAChB,IAAA,uCAAyB,EAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;CACM,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/module/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAC/B,oEAAmG;AACnG,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,qEAAkE;AAGrD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAgC,kCAC/C,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,0CAA0B,EAAE,CAAC,IACxF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,UAAU,EAAE,2BAAY;KACzB,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,OAAO,SAAe,kBAAkB;;oBACtC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;oBAErC,MAAM,IAAA,2BAAY,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;aAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;YACjC,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,OAAO,GAAG,EAAE;gBACV,OAAO,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;CACM,CAAC"}
@@ -1,13 +1,11 @@
1
1
  import type { MultiCompiler } from 'webpack';
2
- import type Config from 'webpack-chain';
3
2
  import type { Container } from '@tinkoff/dippy';
4
3
  import type { ConfigManager } from '../../../config/configManager';
5
4
  import type { ApplicationConfigEntry } from '../../../typings/configEntry/application';
6
5
  import type { STATIC_SERVER_TOKEN } from '../../../di/tokens';
7
- export declare const createDevServer: ({ di, compiler, configManager, clientConfig, staticServer, }: {
6
+ export declare const createDevServer: ({ di, compiler, configManager, staticServer, }: {
8
7
  di: Container;
9
8
  compiler: MultiCompiler;
10
9
  configManager: ConfigManager<ApplicationConfigEntry>;
11
- clientConfig: Config | null;
12
10
  staticServer: typeof STATIC_SERVER_TOKEN;
13
11
  }) => () => Promise<void>;
@@ -34,7 +34,7 @@ const getHotModulePrefix = (configManager) => {
34
34
  }
35
35
  throw new Error(`${configManager.type} is not supported`);
36
36
  };
37
- const createDevServer = ({ di, compiler, configManager, clientConfig, staticServer, }) => {
37
+ const createDevServer = ({ di, compiler, configManager, staticServer, }) => {
38
38
  return function devServer() {
39
39
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
40
  const app = (0, express_1.default)();
@@ -69,4 +69,4 @@ const createDevServer = ({ di, compiler, configManager, clientConfig, staticServ
69
69
  };
70
70
  };
71
71
  exports.createDevServer = createDevServer;
72
- //# sourceMappingURL=client.js.map
72
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/builder/webpack/devServer/setup.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const dippy_1 = require("@tinkoff/dippy");
6
6
  const events_1 = require("events");
7
7
  const tokens_1 = require("../../../di/tokens");
8
- const workersPool_1 = require("../../../library/webpack/utils/workersPool");
8
+ const threadLoader_1 = require("../../../library/webpack/utils/threadLoader");
9
9
  const tokens_2 = require("../tokens");
10
10
  const calculateBuildTime_1 = require("../utils/calculateBuildTime");
11
11
  const webpackEvents_1 = require("../utils/webpackEvents");
@@ -61,12 +61,24 @@ exports.sharedProviders = [
61
61
  serverCompiler: { token: tokens_2.WEBPACK_SERVER_COMPILER_TOKEN, optional: true },
62
62
  },
63
63
  }),
64
+ (0, dippy_1.provide)({
65
+ provide: tokens_2.INIT_HANDLER_TOKEN,
66
+ multi: true,
67
+ useFactory: ({ configManager }) => {
68
+ return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
69
+ yield (0, threadLoader_1.warmupWorkerPool)(configManager);
70
+ });
71
+ },
72
+ deps: {
73
+ configManager: tokens_1.CONFIG_MANAGER_TOKEN,
74
+ },
75
+ }),
64
76
  (0, dippy_1.provide)({
65
77
  provide: tokens_2.CLOSE_HANDLER_TOKEN,
66
78
  multi: true,
67
79
  useFactory: ({ configManager }) => {
68
80
  return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
69
- yield (0, workersPool_1.closeWorkerPoolTranspiler)(configManager);
81
+ yield (0, threadLoader_1.closeWorkerPool)(configManager);
70
82
  });
71
83
  },
72
84
  deps: {
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/builder/webpack/providers/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/builder/webpack/providers/shared.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ exports.startClientProviders = void 0;
4
4
  const dippy_1 = require("@tinkoff/dippy");
5
5
  const tokens_1 = require("../../../../di/tokens");
6
6
  const tokens_2 = require("../../tokens");
7
- const client_1 = require("../../devServer/client");
8
7
  exports.startClientProviders = [
9
8
  (0, dippy_1.provide)({
10
9
  provide: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
@@ -17,17 +16,5 @@ exports.startClientProviders = [
17
16
  configManager: tokens_1.CONFIG_MANAGER_TOKEN,
18
17
  },
19
18
  }),
20
- (0, dippy_1.provide)({
21
- provide: tokens_2.PROCESS_HANDLER_TOKEN,
22
- multi: true,
23
- useFactory: client_1.createDevServer,
24
- deps: {
25
- di: dippy_1.DI_TOKEN,
26
- compiler: tokens_2.WEBPACK_COMPILER_TOKEN,
27
- configManager: tokens_1.CONFIG_MANAGER_TOKEN,
28
- clientConfig: { token: tokens_2.WEBPACK_CLIENT_CONFIG_TOKEN, optional: true },
29
- staticServer: tokens_1.STATIC_SERVER_TOKEN,
30
- },
31
- }),
32
19
  ];
33
20
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/start/client.ts"],"names":[],"mappings":";;;AACA,0CAAmD;AACnD,kDAAkF;AAClF,yCAKsB;AACtB,mDAAyD;AAE5C,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,oCAA2B;QACpC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,aAAa,CAAC,YAAY,CAAC;gBAChC,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,wBAAe;QAC3B,IAAI,EAAE;YACJ,EAAE,EAAE,gBAAQ;YACZ,QAAQ,EAAE,+BAAsB;YAChC,aAAa,EAAE,6BAAoB;YACnC,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/start/client.ts"],"names":[],"mappings":";;;AACA,0CAAyC;AACzC,kDAA6D;AAC7D,yCAA2D;AAE9C,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,oCAA2B;QACpC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,aAAa,CAAC,YAAY,CAAC;gBAChC,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;CACH,CAAC"}
@@ -6,6 +6,8 @@ const dippy_1 = require("@tinkoff/dippy");
6
6
  const webpack_1 = tslib_1.__importDefault(require("webpack"));
7
7
  const toWebpackConfig_1 = require("../../../../library/webpack/utils/toWebpackConfig");
8
8
  const tokens_1 = require("../../tokens");
9
+ const setup_1 = require("../../devServer/setup");
10
+ const tokens_2 = require("../../../../di/tokens");
9
11
  exports.startSharedProviders = [
10
12
  (0, dippy_1.provide)({
11
13
  provide: tokens_1.WEBPACK_COMPILER_TOKEN,
@@ -46,5 +48,16 @@ exports.startSharedProviders = [
46
48
  serverConfig: { token: tokens_1.WEBPACK_SERVER_CONFIG_TOKEN, optional: true },
47
49
  },
48
50
  }),
51
+ (0, dippy_1.provide)({
52
+ provide: tokens_1.PROCESS_HANDLER_TOKEN,
53
+ multi: true,
54
+ useFactory: setup_1.createDevServer,
55
+ deps: {
56
+ di: dippy_1.DI_TOKEN,
57
+ compiler: tokens_1.WEBPACK_COMPILER_TOKEN,
58
+ configManager: tokens_2.CONFIG_MANAGER_TOKEN,
59
+ staticServer: tokens_2.STATIC_SERVER_TOKEN,
60
+ },
61
+ }),
49
62
  ];
50
63
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/start/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,8DAA8B;AAC9B,uFAAoF;AACpF,yCAMsB;AAET,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,+BAAsB;QAC/B,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,iCAAe,CAAC,CAAC;YAElF,OAAO,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;YACzC,IAAI,YAAY,EAAE;gBAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC9B;QACH,CAAC;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,+BAAsB;YAChC,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,GAKb,EAAE,EAAE;YACH,IAAI,YAAY,EAAE;gBAChB,IAAI,YAAY,EAAE;oBAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAC9B;gBAED,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC9B;QACH,CAAC;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,+BAAsB;YAChC,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/start/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAmD;AACnD,8DAA8B;AAC9B,uFAAoF;AACpF,yCAOsB;AACtB,iDAAwD;AACxD,kDAAkF;AAErE,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,+BAAsB;QAC/B,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,iCAAe,CAAC,CAAC;YAElF,OAAO,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;YACzC,IAAI,YAAY,EAAE;gBAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC9B;QACH,CAAC;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,+BAAsB;YAChC,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,GAKb,EAAE,EAAE;YACH,IAAI,YAAY,EAAE;gBAChB,IAAI,YAAY,EAAE;oBAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAC9B;gBAED,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC9B;QACH,CAAC;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,+BAAsB;YAChC,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,uBAAe;QAC3B,IAAI,EAAE;YACJ,EAAE,EAAE,gBAAQ;YACZ,QAAQ,EAAE,+BAAsB;YAChC,aAAa,EAAE,6BAAoB;YACnC,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;CACH,CAAC"}
@@ -3,6 +3,10 @@ export declare const babelConfigFactory: ({ env, target, modern, isServer, modul
3
3
  cwd: string;
4
4
  compact: boolean;
5
5
  sourceType: "unambiguous";
6
+ assumptions: {
7
+ arrayLikeIsIterable: boolean;
8
+ iterableIsArray: boolean;
9
+ };
6
10
  presets: import("@babel/core").PluginItem[];
7
11
  plugins: (string | (string | {
8
12
  useESModules: boolean;
@@ -25,6 +29,10 @@ export declare const babelConfigFactory: ({ env, target, modern, isServer, modul
25
29
  cwd?: undefined;
26
30
  compact?: undefined;
27
31
  sourceType: "unambiguous";
32
+ assumptions: {
33
+ arrayLikeIsIterable: boolean;
34
+ iterableIsArray: boolean;
35
+ };
28
36
  presets: import("@babel/core").PluginItem[];
29
37
  plugins: (string | (string | {
30
38
  useESModules: boolean;
@@ -57,6 +57,14 @@ markCreateTokenAsPure = true, typescript = false, loader = true, removeTypeofWin
57
57
  // unambiguos - режим когда бабель попытается предугадать тип компилируемого файла и уже на этой
58
58
  // основе добавлять соответствующие импорты
59
59
  sourceType: 'unambiguous',
60
+ // Это необходимо для того, чтобы деструктуризация array-like сущностей, например, Set
61
+ // не приводила к невалидному коду при сборке для старых браузеров:
62
+ // [...new Set()] => [].concat(new Set())
63
+ // https://babeljs.io/docs/assumptions#arraylikeisiterable
64
+ assumptions: {
65
+ arrayLikeIsIterable: true,
66
+ iterableIsArray: false,
67
+ },
60
68
  presets: [
61
69
  [
62
70
  '@babel/preset-env',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/babel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/babel/index.ts"],"names":[],"mappings":"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"}
@@ -30,9 +30,7 @@ Having swc config may conflict with @tramvai/cli configuration`);
30
30
  }
31
31
  }
32
32
  const resolveWasmFile = (pluginName, type) => {
33
- return (0, resolve_1.sync)(`${TRAMVAI_SWC_TARGET_PATH}/${type}/${pluginName}.wasm`, {
34
- basedir: rootDir,
35
- });
33
+ return (0, resolve_1.sync)(`${TRAMVAI_SWC_TARGET_PATH}/${type}/${pluginName}.wasm`);
36
34
  };
37
35
  const resolveTramvaiSwcPlugin = (pluginName) => {
38
36
  try {
@@ -90,6 +88,7 @@ Having swc config may conflict with @tramvai/cli configuration`);
90
88
  decorators: true,
91
89
  tsx: true,
92
90
  jsx: true,
91
+ exportDefaultFrom: true,
93
92
  },
94
93
  transform: {
95
94
  legacyDecorator: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/swc/index.ts"],"names":[],"mappings":";;;;AAAA,4EAA8C;AAC9C,wDAAwB;AACxB,2BAAgC;AAChC,wEAAwC;AACxC,+FAAsD;AACtD,qCAA0C;AAC1C,4EAA0C;AAI1C,MAAM,uBAAuB,GAAG,6CAA6C,CAAC;AAE9E,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,CAAC,CAAC;AAC1F,IAAI,eAAe,GAAG,KAAK,CAAC;AAErB,MAAM,aAAa,GAAG,CAAC,MAAwB,EAAc,EAAE;;IACpE,MAAM,EACJ,GAAG,GAAG,aAAa,EACnB,MAAM,EACN,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,KAAK,EAClB,GAAG,GAAG,KAAK,EACX,kBAAkB,EAClB,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,GACxB,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,eAAe,EAAE;QACpB,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE;YACxC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC5C,OAAO,CAAC,IAAI,CACV,4CAA4C,KAAK,yDAAyD,CAC3G,CAAC;gBAEF,eAAe,GAAG,IAAI,CAAC;aACxB;SACF;QAED,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAElD,IAAI,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE;YACzB,OAAO,CAAC,IAAI,CACV,mDAAmD,SAAS;+DACL,CACxD,CAAC;YAEF,eAAe,GAAG,IAAI,CAAC;SACxB;KACF;IAED,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,IAAyB,EAAE,EAAE;QACxE,OAAO,IAAA,cAAO,EAAC,GAAG,uBAAuB,IAAI,IAAI,IAAI,UAAU,OAAO,EAAE;YACtE,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,EAAE;QACrD,IAAI;YACF,OAAO,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,IAAI;gBACF,OAAO,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC/C;YAAC,OAAO,EAAE,EAAE;gBACX,MAAM,IAAI,KAAK,CACb,mCAAmC,UAAU,qBAAqB,OAAO,aAAa,CACvF,CAAC;aACH;SACF;IACH,CAAC,CAAC;IACF,SAAS,aAAa;QACpB,IAAI;YACF,IAAA,cAAO,EAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,IAAI,YAAY,GAAG,MAAM,CAAC;IAE1B,IAAI,CAAC,MAAM,EAAE;QACX,IAAI,QAAQ,EAAE;YACZ,YAAY,GAAG,MAAM,CAAC;SACvB;aAAM,IAAI,MAAM,EAAE;YACjB,YAAY,GAAG,QAAQ,CAAC;SACzB;KACF;IAED,MAAM,qBAAqB,GAAG,sBAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE/D,oGAAoG;IACpG,MAAM,iBAAiB,GACrB,MAAA,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,YAAY,CAAC,mCAAI,6BAAU,CAAC,YAAY,CAAC,mCAAI,6BAAU,CAAC,QAAQ,CAAC;IAE3F,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,iBAAiB,EAAE;QAC9C,eAAe,EAAE,IAAI;QACrB,GAAG,EAAE,YAAY;KAClB,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE;YACH,OAAO;YACP,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,OAAO;SACd;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,IAAI,KAAK;SACvB;QACD,QAAQ,EAAE,SAAS;QACnB,GAAG,EAAE;YACH,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE;gBACN,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;gBAChD,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;aACV;YACD,SAAS,EAAE;gBACT,eAAe,EAAE,IAAI;gBACrB,KAAK,EAAE;oBACL,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBAClD,WAAW,EAAE,GAAG,KAAK,aAAa;oBAClC,OAAO,EAAE,GAAG,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,QAAQ;iBACnD;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE;wBACP,kFAAkF;wBAClF,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,kBAAkB;4BACzB,CAAC,CAAC;gCACE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;6BAC1C;4BACH,CAAC,CAAC,EAAE;qBACP;iBACF;aACF;YACD,YAAY,EAAE;gBACZ,SAAS,EAAE,IAAA,wBAAY,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACtD,OAAO,EAAE;oBACP,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC;oBAClD,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;oBAC/C,QAAQ,IAAI,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,EAAE,EAAE,CAAC;oBACtE,OAAO,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;iBACpF,CAAC,MAAM,CAAC,OAAO,CAAyC;aAC1D;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAvIW,QAAA,aAAa,iBAuIxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/swc/index.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,10 @@ declare const _default: (options: Options) => {
33
33
  cwd?: string;
34
34
  compact?: boolean;
35
35
  sourceType: "unambiguous";
36
+ assumptions: {
37
+ arrayLikeIsIterable: boolean;
38
+ iterableIsArray: boolean;
39
+ };
36
40
  };
37
41
  };
38
42
  export default _default;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const is_modern_lib_1 = require("@tinkoff/is-modern-lib");
4
- const workersPool_1 = require("../utils/workersPool");
4
+ const threadLoader_1 = require("../utils/threadLoader");
5
5
  const transpiler_1 = require("../utils/transpiler");
6
6
  // eslint-disable-next-line import/no-default-export
7
7
  exports.default = (configManager) => (config) => {
@@ -9,12 +9,7 @@ exports.default = (configManager) => (config) => {
9
9
  const rule = config.module
10
10
  .rule('js')
11
11
  .test(/\.[cm]?js[x]?$/)
12
- // TODO: разобраться почему на винде все плохо с thread-loader
13
- .when(process.platform !== 'win32' && !configManager.debug, (cfg) => cfg
14
- .use('thread')
15
- .loader('thread-loader')
16
- .options((0, workersPool_1.createWorkerPoolTranspiler)(configManager))
17
- .end());
12
+ .batch((0, threadLoader_1.applyThreadLoader)(configManager));
18
13
  rule
19
14
  .oneOf('project')
20
15
  .exclude.add(/node_modules/)
@@ -1 +1 @@
1
- {"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/js.ts"],"names":[],"mappings":";;AACA,0DAA0D;AAC1D,sDAAkE;AAElE,oDAA+E;AAG/E,oDAAoD;AACpD,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAElD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM;SACvB,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC,gBAAgB,CAAC;QACvB,8DAA8D;SAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAClE,GAAG;SACA,GAAG,CAAC,QAAQ,CAAC;SACb,MAAM,CAAC,eAAe,CAAC;SACvB,OAAO,CAAC,IAAA,wCAA0B,EAAC,aAAa,CAAC,CAAC;SAClD,GAAG,EAAE,CACT,CAAC;IAEJ,IAAI;SACD,KAAK,CAAC,SAAS,CAAC;SAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;SAC3B,GAAG,EAAE;SACL,GAAG,CAAC,YAAY,CAAC;SACjB,KAAK,CAAC,IAAA,gCAAmB,EAAC,aAAa,EAAE,IAAA,gCAAmB,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjF,IAAI;SACD,KAAK,CAAC,aAAa,CAAC;SACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgB,CAAC,CAAC;SACzE,KAAK,CAAC;QACL,qEAAqE;QACrE,6CAA6C;QAC7C,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;KACnC,CAAC;SACD,GAAG,CAAC,YAAY,CAAC;SACjB,KAAK,CAAC,IAAA,gCAAmB,EAAC,aAAa,EAAE,IAAA,gCAAmB,EAAC,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC"}
1
+ {"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/js.ts"],"names":[],"mappings":";;AACA,0DAA0D;AAC1D,wDAA0D;AAE1D,oDAA+E;AAG/E,oDAAoD;AACpD,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAElD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM;SACvB,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC,gBAAgB,CAAC;SACtB,KAAK,CAAC,IAAA,gCAAiB,EAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,IAAI;SACD,KAAK,CAAC,SAAS,CAAC;SAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;SAC3B,GAAG,EAAE;SACL,GAAG,CAAC,YAAY,CAAC;SACjB,KAAK,CAAC,IAAA,gCAAmB,EAAC,aAAa,EAAE,IAAA,gCAAmB,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjF,IAAI;SACD,KAAK,CAAC,aAAa,CAAC;SACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgB,CAAC,CAAC;SACzE,KAAK,CAAC;QACL,qEAAqE;QACrE,6CAA6C;QAC7C,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;KACnC,CAAC;SACD,GAAG,CAAC,YAAY,CAAC;SACjB,KAAK,CAAC,IAAA,gCAAmB,EAAC,aAAa,EAAE,IAAA,gCAAmB,EAAC,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const workersPool_1 = require("../utils/workersPool");
3
+ const threadLoader_1 = require("../utils/threadLoader");
4
4
  const transpiler_1 = require("../utils/transpiler");
5
5
  exports.default = (configManager) => (config) => {
6
6
  const transpilerConfig = (0, transpiler_1.getTranspilerConfig)(configManager, { typescript: true });
@@ -9,12 +9,7 @@ exports.default = (configManager) => (config) => {
9
9
  .test(/\.ts[x]?$/)
10
10
  .exclude.add(/node_modules/)
11
11
  .end()
12
- // TODO: разобраться почему на винде все плохо с thread-loader
13
- .when(process.platform !== 'win32', (cfg) => cfg
14
- .use('thread')
15
- .loader('thread-loader')
16
- .options((0, workersPool_1.createWorkerPoolTranspiler)(configManager))
17
- .end())
12
+ .batch((0, threadLoader_1.applyThreadLoader)(configManager))
18
13
  .oneOf('project')
19
14
  .use('transpiler')
20
15
  .batch((0, transpiler_1.addTranspilerLoader)(configManager, transpilerConfig));
@@ -1 +1 @@
1
- {"version":3,"file":"ts.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/ts.ts"],"names":[],"mappings":";;AACA,sDAAkE;AAElE,oDAA+E;AAG/E,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAElF,MAAM,CAAC,MAAM;SACV,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC,WAAW,CAAC;SACjB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;SAC3B,GAAG,EAAE;QACN,8DAA8D;SAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG;SACA,GAAG,CAAC,QAAQ,CAAC;SACb,MAAM,CAAC,eAAe,CAAC;SACvB,OAAO,CAAC,IAAA,wCAA0B,EAAC,aAAa,CAAC,CAAC;SAClD,GAAG,EAAE,CACT;SACA,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,YAAY,CAAC;SACjB,KAAK,CAAC,IAAA,gCAAmB,EAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC"}
1
+ {"version":3,"file":"ts.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/ts.ts"],"names":[],"mappings":";;AACA,wDAA0D;AAE1D,oDAA+E;AAG/E,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAElF,MAAM,CAAC,MAAM;SACV,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC,WAAW,CAAC;SACjB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;SAC3B,GAAG,EAAE;SACL,KAAK,CAAC,IAAA,gCAAiB,EAAC,aAAa,CAAC,CAAC;SACvC,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,YAAY,CAAC;SACjB,KAAK,CAAC,IAAA,gCAAmB,EAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type Config from 'webpack-chain';
2
+ import type { ConfigManager } from '../../../config/configManager';
3
+ import type { CliConfigEntry } from '../../../typings/configEntry/cli';
4
+ export declare const warmupWorkerPool: (configManager: ConfigManager<CliConfigEntry>) => void;
5
+ export declare const closeWorkerPool: (configManager: ConfigManager<CliConfigEntry>) => void;
6
+ export declare const applyThreadLoader: (configManager: ConfigManager<CliConfigEntry>) => (config: Config.Rule) => void;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyThreadLoader = exports.closeWorkerPool = exports.warmupWorkerPool = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const threadLoader = tslib_1.__importStar(require("thread-loader"));
6
+ const workerPools_1 = require("thread-loader/dist/workerPools");
7
+ const getCustomConfig = (configManager) => {
8
+ const { threadLoader: additionalConfig } = configManager;
9
+ return additionalConfig || {};
10
+ };
11
+ const createWorkerPoolConfig = (configManager) => {
12
+ return Object.assign(Object.assign({ poolTimeout: configManager.env === 'development' ? Infinity : undefined,
13
+ // poolRespawn need to be true to allow cli benchmarks use pool across runs
14
+ // as thread-loader has shared global state
15
+ poolRespawn: configManager.env === 'development' }, getCustomConfig(configManager)), { name: 'tramvai-worker-pool' });
16
+ };
17
+ const isApplicable = (configManager) => {
18
+ return (
19
+ // TODO: check that there is still issue with windows systems and thread-loader
20
+ process.platform !== 'win32' &&
21
+ // swc has inbuilt threads support, see https://swc.rs/blog/perf-swc-vs-babel#real-world-benchmark
22
+ configManager.experiments.transpilation.loader !== 'swc');
23
+ };
24
+ const createWorkerPool = (configManager) => {
25
+ if (!isApplicable(configManager)) {
26
+ return;
27
+ }
28
+ return createWorkerPoolConfig(configManager);
29
+ };
30
+ const warmupWorkerPool = (configManager) => {
31
+ if (!isApplicable(configManager)) {
32
+ return;
33
+ }
34
+ const config = createWorkerPoolConfig(configManager);
35
+ threadLoader.warmup(config, [
36
+ 'babel-loader',
37
+ '@babel/preset-env',
38
+ '@babel/preset-typescript',
39
+ '@babel/preset-react',
40
+ '@babel/plugin-transform-runtime',
41
+ 'babel-plugin-lodash',
42
+ ]);
43
+ };
44
+ exports.warmupWorkerPool = warmupWorkerPool;
45
+ const closeWorkerPool = (configManager) => {
46
+ var _a;
47
+ (_a = (0, workerPools_1.getPool)(createWorkerPoolConfig(configManager))) === null || _a === void 0 ? void 0 : _a.disposeWorkers();
48
+ };
49
+ exports.closeWorkerPool = closeWorkerPool;
50
+ const applyThreadLoader = (configManager) => (config) => {
51
+ config.when(isApplicable(configManager), (cfg) => cfg.use('thread').loader('thread-loader').options(createWorkerPool(configManager)));
52
+ };
53
+ exports.applyThreadLoader = applyThreadLoader;
54
+ //# sourceMappingURL=threadLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadLoader.js","sourceRoot":"","sources":["../../../../src/library/webpack/utils/threadLoader.ts"],"names":[],"mappings":";;;;AAAA,oEAA8C;AAC9C,gEAAyD;AAKzD,MAAM,eAAe,GAAG,CAAC,aAA4C,EAAO,EAAE;IAC5E,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,aAAa,CAAC;IAEzD,OAAO,gBAAgB,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,aAA4C,EAAE,EAAE;IAC9E,qCACE,WAAW,EAAE,aAAa,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACvE,2EAA2E;QAC3E,2CAA2C;QAC3C,WAAW,EAAE,aAAa,CAAC,GAAG,KAAK,aAAa,IAC7C,eAAe,CAAC,aAAa,CAAC,KACjC,IAAI,EAAE,qBAAqB,IAC3B;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,aAA4C,EAAE,EAAE;IACpE,OAAO;IACL,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,kGAAkG;QAClG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK,CACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,aAA4C,EAAE,EAAE;IACxE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;QAChC,OAAO;KACR;IAED,OAAO,sBAAsB,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,aAA4C,EAAE,EAAE;IAC/E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;QAChC,OAAO;KACR;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAErD,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;QAC1B,cAAc;QACd,mBAAmB;QACnB,0BAA0B;QAC1B,qBAAqB;QACrB,iCAAiC;QACjC,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B;AAEK,MAAM,eAAe,GAAG,CAAC,aAA4C,EAAE,EAAE;;IAC9E,MAAA,IAAA,qBAAO,EAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,0CAAE,cAAc,EAAE,CAAC;AACnE,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,iBAAiB,GAC5B,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAmB,EAAE,EAAE;IACxE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CACnF,CAAC;AACJ,CAAC,CAAC;AALS,QAAA,iBAAiB,qBAK1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "2.117.2",
3
+ "version": "2.118.1",
4
4
  "description": "Cli инструмент для сборки и запуска приложений",
5
5
  "files": [
6
6
  "src",
@@ -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.117.2",
74
+ "@tramvai/react": "2.118.1",
75
75
  "@tramvai/tools-check-versions": "0.4.14",
76
76
  "@tramvai/tools-migrate": "0.6.18",
77
77
  "ajv": "^6.12.6",
@@ -8,7 +8,6 @@ import {
8
8
  STATIC_SERVER_TOKEN,
9
9
  } from '../../../../di/tokens';
10
10
  import type { ChildAppConfigEntry } from '../../../../typings/configEntry/child-app';
11
- import { closeWorkerPoolTranspiler } from '../../../../library/webpack/utils/workersPool';
12
11
  import { stopServer } from '../../utils/stopServer';
13
12
  import { createServer } from '../../utils/createServer';
14
13
  import { listenServer } from '../../utils/listenServer';
@@ -61,16 +60,4 @@ export const sharedProviders: readonly Provider[] = [
61
60
  staticServer: STATIC_SERVER_TOKEN,
62
61
  },
63
62
  }),
64
- provide({
65
- provide: CLOSE_HANDLER_TOKEN,
66
- multi: true,
67
- useFactory: ({ configManager }) => {
68
- return async () => {
69
- await closeWorkerPoolTranspiler(configManager);
70
- };
71
- },
72
- deps: {
73
- configManager: CONFIG_MANAGER_TOKEN,
74
- },
75
- }),
76
63
  ] as const;
@@ -8,7 +8,6 @@ import {
8
8
  STATIC_SERVER_TOKEN,
9
9
  } from '../../../../di/tokens';
10
10
  import { createConfigManager, DEFAULT_STATIC_MODULE_PORT } from '../../../../config/configManager';
11
- import { closeWorkerPoolTranspiler } from '../../../../library/webpack/utils/workersPool';
12
11
  import { stopServer } from '../../utils/stopServer';
13
12
  import { createServer } from '../../utils/createServer';
14
13
  import { listenServer } from '../../utils/listenServer';
@@ -61,16 +60,4 @@ export const sharedProviders: readonly Provider[] = [
61
60
  staticServer: STATIC_SERVER_TOKEN,
62
61
  },
63
62
  }),
64
- provide({
65
- provide: CLOSE_HANDLER_TOKEN,
66
- multi: true,
67
- useFactory: ({ configManager }) => {
68
- return async () => {
69
- closeWorkerPoolTranspiler(configManager);
70
- };
71
- },
72
- deps: {
73
- configManager: CONFIG_MANAGER_TOKEN,
74
- },
75
- }),
76
63
  ] as const;
@@ -1,6 +1,5 @@
1
1
  import express from 'express';
2
2
  import type { MultiCompiler } from 'webpack';
3
- import type Config from 'webpack-chain';
4
3
  import webpackDevMiddleware from 'webpack-dev-middleware';
5
4
  import webpackHotMiddleware from 'webpack-hot-middleware';
6
5
  import type { Container } from '@tinkoff/dippy';
@@ -49,13 +48,11 @@ export const createDevServer = ({
49
48
  di,
50
49
  compiler,
51
50
  configManager,
52
- clientConfig,
53
51
  staticServer,
54
52
  }: {
55
53
  di: Container;
56
54
  compiler: MultiCompiler;
57
55
  configManager: ConfigManager<ApplicationConfigEntry>;
58
- clientConfig: Config | null;
59
56
  staticServer: typeof STATIC_SERVER_TOKEN;
60
57
  }) => {
61
58
  return async function devServer() {
@@ -2,7 +2,7 @@ import type { Provider } from '@tinkoff/dippy';
2
2
  import { provide } from '@tinkoff/dippy';
3
3
  import { EventEmitter } from 'events';
4
4
  import { CONFIG_MANAGER_TOKEN, WITH_BUILD_STATS_TOKEN } from '../../../di/tokens';
5
- import { closeWorkerPoolTranspiler } from '../../../library/webpack/utils/workersPool';
5
+ import { closeWorkerPool, warmupWorkerPool } from '../../../library/webpack/utils/threadLoader';
6
6
  import {
7
7
  CLOSE_HANDLER_TOKEN,
8
8
  EVENT_EMITTER_TOKEN,
@@ -69,12 +69,24 @@ export const sharedProviders: Provider[] = [
69
69
  serverCompiler: { token: WEBPACK_SERVER_COMPILER_TOKEN, optional: true },
70
70
  },
71
71
  }),
72
+ provide({
73
+ provide: INIT_HANDLER_TOKEN,
74
+ multi: true,
75
+ useFactory: ({ configManager }) => {
76
+ return async () => {
77
+ await warmupWorkerPool(configManager);
78
+ };
79
+ },
80
+ deps: {
81
+ configManager: CONFIG_MANAGER_TOKEN,
82
+ },
83
+ }),
72
84
  provide({
73
85
  provide: CLOSE_HANDLER_TOKEN,
74
86
  multi: true,
75
87
  useFactory: ({ configManager }) => {
76
88
  return async () => {
77
- await closeWorkerPoolTranspiler(configManager);
89
+ await closeWorkerPool(configManager);
78
90
  };
79
91
  },
80
92
  deps: {
@@ -1,13 +1,7 @@
1
1
  import type { Provider } from '@tinkoff/dippy';
2
- import { DI_TOKEN, provide } from '@tinkoff/dippy';
3
- import { CONFIG_MANAGER_TOKEN, STATIC_SERVER_TOKEN } from '../../../../di/tokens';
4
- import {
5
- CLIENT_CONFIG_MANAGER_TOKEN,
6
- PROCESS_HANDLER_TOKEN,
7
- WEBPACK_CLIENT_CONFIG_TOKEN,
8
- WEBPACK_COMPILER_TOKEN,
9
- } from '../../tokens';
10
- import { createDevServer } from '../../devServer/client';
2
+ import { provide } from '@tinkoff/dippy';
3
+ import { CONFIG_MANAGER_TOKEN } from '../../../../di/tokens';
4
+ import { CLIENT_CONFIG_MANAGER_TOKEN } from '../../tokens';
11
5
 
12
6
  export const startClientProviders: Provider[] = [
13
7
  provide({
@@ -21,16 +15,4 @@ export const startClientProviders: Provider[] = [
21
15
  configManager: CONFIG_MANAGER_TOKEN,
22
16
  },
23
17
  }),
24
- provide({
25
- provide: PROCESS_HANDLER_TOKEN,
26
- multi: true,
27
- useFactory: createDevServer,
28
- deps: {
29
- di: DI_TOKEN,
30
- compiler: WEBPACK_COMPILER_TOKEN,
31
- configManager: CONFIG_MANAGER_TOKEN,
32
- clientConfig: { token: WEBPACK_CLIENT_CONFIG_TOKEN, optional: true },
33
- staticServer: STATIC_SERVER_TOKEN,
34
- },
35
- }),
36
18
  ];
@@ -1,14 +1,17 @@
1
1
  import type { Provider } from '@tinkoff/dippy';
2
- import { provide } from '@tinkoff/dippy';
2
+ import { DI_TOKEN, provide } from '@tinkoff/dippy';
3
3
  import webpack from 'webpack';
4
4
  import { toWebpackConfig } from '../../../../library/webpack/utils/toWebpackConfig';
5
5
  import {
6
+ PROCESS_HANDLER_TOKEN,
6
7
  WEBPACK_CLIENT_COMPILER_TOKEN,
7
8
  WEBPACK_CLIENT_CONFIG_TOKEN,
8
9
  WEBPACK_COMPILER_TOKEN,
9
10
  WEBPACK_SERVER_COMPILER_TOKEN,
10
11
  WEBPACK_SERVER_CONFIG_TOKEN,
11
12
  } from '../../tokens';
13
+ import { createDevServer } from '../../devServer/setup';
14
+ import { CONFIG_MANAGER_TOKEN, STATIC_SERVER_TOKEN } from '../../../../di/tokens';
12
15
 
13
16
  export const startSharedProviders: Provider[] = [
14
17
  provide({
@@ -60,4 +63,15 @@ export const startSharedProviders: Provider[] = [
60
63
  serverConfig: { token: WEBPACK_SERVER_CONFIG_TOKEN, optional: true },
61
64
  },
62
65
  }),
66
+ provide({
67
+ provide: PROCESS_HANDLER_TOKEN,
68
+ multi: true,
69
+ useFactory: createDevServer,
70
+ deps: {
71
+ di: DI_TOKEN,
72
+ compiler: WEBPACK_COMPILER_TOKEN,
73
+ configManager: CONFIG_MANAGER_TOKEN,
74
+ staticServer: STATIC_SERVER_TOKEN,
75
+ },
76
+ }),
63
77
  ];
@@ -78,6 +78,15 @@ export const babelConfigFactory = ({
78
78
  // основе добавлять соответствующие импорты
79
79
  sourceType: 'unambiguous' as const,
80
80
 
81
+ // Это необходимо для того, чтобы деструктуризация array-like сущностей, например, Set
82
+ // не приводила к невалидному коду при сборке для старых браузеров:
83
+ // [...new Set()] => [].concat(new Set())
84
+ // https://babeljs.io/docs/assumptions#arraylikeisiterable
85
+ assumptions: {
86
+ arrayLikeIsIterable: true,
87
+ iterableIsArray: false,
88
+ },
89
+
81
90
  presets: [
82
91
  [
83
92
  '@babel/preset-env',
@@ -51,9 +51,7 @@ Having swc config may conflict with @tramvai/cli configuration`
51
51
  }
52
52
 
53
53
  const resolveWasmFile = (pluginName: string, type: 'debug' | 'release') => {
54
- return resolve(`${TRAMVAI_SWC_TARGET_PATH}/${type}/${pluginName}.wasm`, {
55
- basedir: rootDir,
56
- });
54
+ return resolve(`${TRAMVAI_SWC_TARGET_PATH}/${type}/${pluginName}.wasm`);
57
55
  };
58
56
 
59
57
  const resolveTramvaiSwcPlugin = (pluginName: string) => {
@@ -117,6 +115,7 @@ Having swc config may conflict with @tramvai/cli configuration`
117
115
  decorators: true,
118
116
  tsx: true,
119
117
  jsx: true,
118
+ exportDefaultFrom: true,
120
119
  },
121
120
  transform: {
122
121
  legacyDecorator: true,
@@ -1,6 +1,6 @@
1
1
  import type Config from 'webpack-chain';
2
2
  import { modernLibsFilter } from '@tinkoff/is-modern-lib';
3
- import { createWorkerPoolTranspiler } from '../utils/workersPool';
3
+ import { applyThreadLoader } from '../utils/threadLoader';
4
4
  import type { ConfigManager } from '../../../config/configManager';
5
5
  import { getTranspilerConfig, addTranspilerLoader } from '../utils/transpiler';
6
6
  import type { CliConfigEntry } from '../../../typings/configEntry/cli';
@@ -12,14 +12,7 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
12
12
  const rule = config.module
13
13
  .rule('js')
14
14
  .test(/\.[cm]?js[x]?$/)
15
- // TODO: разобраться почему на винде все плохо с thread-loader
16
- .when(process.platform !== 'win32' && !configManager.debug, (cfg) =>
17
- cfg
18
- .use('thread')
19
- .loader('thread-loader')
20
- .options(createWorkerPoolTranspiler(configManager))
21
- .end()
22
- );
15
+ .batch(applyThreadLoader(configManager));
23
16
 
24
17
  rule
25
18
  .oneOf('project')
@@ -1,5 +1,5 @@
1
1
  import type Config from 'webpack-chain';
2
- import { createWorkerPoolTranspiler } from '../utils/workersPool';
2
+ import { applyThreadLoader } from '../utils/threadLoader';
3
3
  import type { ConfigManager } from '../../../config/configManager';
4
4
  import { addTranspilerLoader, getTranspilerConfig } from '../utils/transpiler';
5
5
  import type { CliConfigEntry } from '../../../typings/configEntry/cli';
@@ -12,14 +12,7 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
12
12
  .test(/\.ts[x]?$/)
13
13
  .exclude.add(/node_modules/)
14
14
  .end()
15
- // TODO: разобраться почему на винде все плохо с thread-loader
16
- .when(process.platform !== 'win32', (cfg) =>
17
- cfg
18
- .use('thread')
19
- .loader('thread-loader')
20
- .options(createWorkerPoolTranspiler(configManager))
21
- .end()
22
- )
15
+ .batch(applyThreadLoader(configManager))
23
16
  .oneOf('project')
24
17
  .use('transpiler')
25
18
  .batch(addTranspilerLoader(configManager, transpilerConfig));
@@ -0,0 +1,67 @@
1
+ import * as threadLoader from 'thread-loader';
2
+ import { getPool } from 'thread-loader/dist/workerPools';
3
+ import type Config from 'webpack-chain';
4
+ import type { ConfigManager } from '../../../config/configManager';
5
+ import type { CliConfigEntry } from '../../../typings/configEntry/cli';
6
+
7
+ const getCustomConfig = (configManager: ConfigManager<CliConfigEntry>): any => {
8
+ const { threadLoader: additionalConfig } = configManager;
9
+
10
+ return additionalConfig || {};
11
+ };
12
+
13
+ const createWorkerPoolConfig = (configManager: ConfigManager<CliConfigEntry>) => {
14
+ return {
15
+ poolTimeout: configManager.env === 'development' ? Infinity : undefined,
16
+ // poolRespawn need to be true to allow cli benchmarks use pool across runs
17
+ // as thread-loader has shared global state
18
+ poolRespawn: configManager.env === 'development',
19
+ ...getCustomConfig(configManager),
20
+ name: 'tramvai-worker-pool',
21
+ };
22
+ };
23
+
24
+ const isApplicable = (configManager: ConfigManager<CliConfigEntry>) => {
25
+ return (
26
+ // TODO: check that there is still issue with windows systems and thread-loader
27
+ process.platform !== 'win32' &&
28
+ // swc has inbuilt threads support, see https://swc.rs/blog/perf-swc-vs-babel#real-world-benchmark
29
+ configManager.experiments.transpilation.loader !== 'swc'
30
+ );
31
+ };
32
+
33
+ const createWorkerPool = (configManager: ConfigManager<CliConfigEntry>) => {
34
+ if (!isApplicable(configManager)) {
35
+ return;
36
+ }
37
+
38
+ return createWorkerPoolConfig(configManager);
39
+ };
40
+
41
+ export const warmupWorkerPool = (configManager: ConfigManager<CliConfigEntry>) => {
42
+ if (!isApplicable(configManager)) {
43
+ return;
44
+ }
45
+
46
+ const config = createWorkerPoolConfig(configManager);
47
+
48
+ threadLoader.warmup(config, [
49
+ 'babel-loader',
50
+ '@babel/preset-env',
51
+ '@babel/preset-typescript',
52
+ '@babel/preset-react',
53
+ '@babel/plugin-transform-runtime',
54
+ 'babel-plugin-lodash',
55
+ ]);
56
+ };
57
+
58
+ export const closeWorkerPool = (configManager: ConfigManager<CliConfigEntry>) => {
59
+ getPool(createWorkerPoolConfig(configManager))?.disposeWorkers();
60
+ };
61
+
62
+ export const applyThreadLoader =
63
+ (configManager: ConfigManager<CliConfigEntry>) => (config: Config.Rule) => {
64
+ config.when(isApplicable(configManager), (cfg) =>
65
+ cfg.use('thread').loader('thread-loader').options(createWorkerPool(configManager))
66
+ );
67
+ };
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/builder/webpack/devServer/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { ConfigManager } from '../../../config/configManager';
2
- import type { CliConfigEntry } from '../../../typings/configEntry/cli';
3
- export declare const createWorkerPoolTranspiler: (configManager: ConfigManager<CliConfigEntry>) => any;
4
- export declare const closeWorkerPoolTranspiler: (configManager: ConfigManager<CliConfigEntry>) => void;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.closeWorkerPoolTranspiler = exports.createWorkerPoolTranspiler = void 0;
4
- const tslib_1 = require("tslib");
5
- const threadLoader = tslib_1.__importStar(require("thread-loader"));
6
- const workerPools_1 = require("thread-loader/dist/workerPools");
7
- const os_1 = tslib_1.__importDefault(require("os"));
8
- // fork https://github.com/webpack-contrib/thread-loader/blob/76535bfaafd70bd1ec50e66541d2ad8a64175880/src/workerPools.js#L6
9
- function getCpuNumber() {
10
- return (os_1.default.cpus() || { length: 1 }).length;
11
- }
12
- function calculateNumberOfWorkers() {
13
- const cpus = getCpuNumber();
14
- // мы обычно запускаем 2 процесса, один для сервера, один для клиента и мы можем выходить за лимиты
15
- return Math.max(1, cpus / 2 - 1);
16
- }
17
- const getCustomConfig = (configManager) => {
18
- const { threadLoader: additionalConfig } = configManager;
19
- return additionalConfig || {};
20
- };
21
- const createTranspilerConfig = (configManager) => {
22
- return Object.assign({ name: 'transpiler', poolTimeout: configManager.env === 'development' ? Infinity : undefined, workers: calculateNumberOfWorkers() }, getCustomConfig(configManager));
23
- };
24
- const createWorkerPoolTranspiler = (configManager) => {
25
- const config = createTranspilerConfig(configManager);
26
- if (!exports.createWorkerPoolTranspiler.warmup) {
27
- if (configManager.experiments.transpilation.loader === 'swc') {
28
- threadLoader.warmup(config, ['swc-loader', '@swc/core']);
29
- }
30
- else {
31
- threadLoader.warmup(config, [
32
- 'babel-loader',
33
- '@babel/preset-env',
34
- '@babel/preset-typescript',
35
- '@babel/preset-react',
36
- '@babel/plugin-transform-runtime',
37
- 'babel-plugin-lodash',
38
- ]);
39
- }
40
- exports.createWorkerPoolTranspiler.warmup = true;
41
- }
42
- return config;
43
- };
44
- exports.createWorkerPoolTranspiler = createWorkerPoolTranspiler;
45
- const closeWorkerPoolTranspiler = (configManager) => {
46
- var _a;
47
- (_a = (0, workerPools_1.getPool)(createTranspilerConfig(configManager))) === null || _a === void 0 ? void 0 : _a.disposeWorkers();
48
- };
49
- exports.closeWorkerPoolTranspiler = closeWorkerPoolTranspiler;
50
- //# sourceMappingURL=workersPool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workersPool.js","sourceRoot":"","sources":["../../../../src/library/webpack/utils/workersPool.ts"],"names":[],"mappings":";;;;AAAA,oEAA8C;AAC9C,gEAAyD;AACzD,oDAAoB;AAIpB,4HAA4H;AAC5H,SAAS,YAAY;IACnB,OAAO,CAAC,YAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAE5B,mGAAmG;IACnG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,aAA4C,EAAO,EAAE;IAC5E,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,aAAa,CAAC;IAEzD,OAAO,gBAAgB,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,aAA4C,EAAE,EAAE;IAC9E,uBACE,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,aAAa,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACvE,OAAO,EAAE,wBAAwB,EAAE,IAChC,eAAe,CAAC,aAAa,CAAC,EACjC;AACJ,CAAC,CAAC;AAEK,MAAM,0BAA0B,GAAG,CAAC,aAA4C,EAAE,EAAE;IACzF,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,CAAE,kCAAkC,CAAC,MAAM,EAAE;QAC/C,IAAI,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5D,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;SAC1D;aAAM;YACL,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1B,cAAc;gBACd,mBAAmB;gBACnB,0BAA0B;gBAC1B,qBAAqB;gBACrB,iCAAiC;gBACjC,qBAAqB;aACtB,CAAC,CAAC;SACJ;QACA,kCAAkC,CAAC,MAAM,GAAG,IAAI,CAAC;KACnD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AApBW,QAAA,0BAA0B,8BAoBrC;AAEK,MAAM,yBAAyB,GAAG,CAAC,aAA4C,EAAE,EAAE;;IACxF,MAAA,IAAA,qBAAO,EAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,0CAAE,cAAc,EAAE,CAAC;AACnE,CAAC,CAAC;AAFW,QAAA,yBAAyB,6BAEpC"}
@@ -1,58 +0,0 @@
1
- import * as threadLoader from 'thread-loader';
2
- import { getPool } from 'thread-loader/dist/workerPools';
3
- import os from 'os';
4
- import type { ConfigManager } from '../../../config/configManager';
5
- import type { CliConfigEntry } from '../../../typings/configEntry/cli';
6
-
7
- // fork https://github.com/webpack-contrib/thread-loader/blob/76535bfaafd70bd1ec50e66541d2ad8a64175880/src/workerPools.js#L6
8
- function getCpuNumber() {
9
- return (os.cpus() || { length: 1 }).length;
10
- }
11
-
12
- function calculateNumberOfWorkers() {
13
- const cpus = getCpuNumber();
14
-
15
- // мы обычно запускаем 2 процесса, один для сервера, один для клиента и мы можем выходить за лимиты
16
- return Math.max(1, cpus / 2 - 1);
17
- }
18
-
19
- const getCustomConfig = (configManager: ConfigManager<CliConfigEntry>): any => {
20
- const { threadLoader: additionalConfig } = configManager;
21
-
22
- return additionalConfig || {};
23
- };
24
-
25
- const createTranspilerConfig = (configManager: ConfigManager<CliConfigEntry>) => {
26
- return {
27
- name: 'transpiler',
28
- poolTimeout: configManager.env === 'development' ? Infinity : undefined,
29
- workers: calculateNumberOfWorkers(),
30
- ...getCustomConfig(configManager),
31
- };
32
- };
33
-
34
- export const createWorkerPoolTranspiler = (configManager: ConfigManager<CliConfigEntry>) => {
35
- const config = createTranspilerConfig(configManager);
36
-
37
- if (!(createWorkerPoolTranspiler as any).warmup) {
38
- if (configManager.experiments.transpilation.loader === 'swc') {
39
- threadLoader.warmup(config, ['swc-loader', '@swc/core']);
40
- } else {
41
- threadLoader.warmup(config, [
42
- 'babel-loader',
43
- '@babel/preset-env',
44
- '@babel/preset-typescript',
45
- '@babel/preset-react',
46
- '@babel/plugin-transform-runtime',
47
- 'babel-plugin-lodash',
48
- ]);
49
- }
50
- (createWorkerPoolTranspiler as any).warmup = true;
51
- }
52
-
53
- return config;
54
- };
55
-
56
- export const closeWorkerPoolTranspiler = (configManager: ConfigManager<CliConfigEntry>) => {
57
- getPool(createTranspilerConfig(configManager))?.disposeWorkers();
58
- };