@tramvai/cli 2.117.0 → 2.117.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/start/providers/child-app/shared.js +0 -13
- package/lib/api/start/providers/child-app/shared.js.map +1 -1
- package/lib/api/start/providers/module/shared.js +0 -13
- package/lib/api/start/providers/module/shared.js.map +1 -1
- package/lib/builder/webpack/devServer/{client.d.ts → setup.d.ts} +1 -3
- package/lib/builder/webpack/devServer/{client.js → setup.js} +2 -2
- package/lib/builder/webpack/devServer/setup.js.map +1 -0
- package/lib/builder/webpack/providers/shared.js +14 -2
- package/lib/builder/webpack/providers/shared.js.map +1 -1
- package/lib/builder/webpack/providers/start/client.js +0 -13
- package/lib/builder/webpack/providers/start/client.js.map +1 -1
- package/lib/builder/webpack/providers/start/shared.js +13 -0
- package/lib/builder/webpack/providers/start/shared.js.map +1 -1
- package/lib/library/swc/index.js +2 -3
- package/lib/library/swc/index.js.map +1 -1
- package/lib/library/webpack/blocks/js.js +2 -7
- package/lib/library/webpack/blocks/js.js.map +1 -1
- package/lib/library/webpack/blocks/ts.js +2 -7
- package/lib/library/webpack/blocks/ts.js.map +1 -1
- package/lib/library/webpack/utils/threadLoader.d.ts +6 -0
- package/lib/library/webpack/utils/threadLoader.js +54 -0
- package/lib/library/webpack/utils/threadLoader.js.map +1 -0
- package/package.json +2 -2
- package/src/api/start/providers/child-app/shared.ts +0 -13
- package/src/api/start/providers/module/shared.ts +0 -13
- package/src/builder/webpack/devServer/{client.ts → setup.ts} +0 -3
- package/src/builder/webpack/providers/shared.ts +14 -2
- package/src/builder/webpack/providers/start/client.ts +3 -21
- package/src/builder/webpack/providers/start/shared.ts +15 -1
- package/src/library/swc/index.ts +2 -3
- package/src/library/webpack/blocks/js.ts +2 -9
- package/src/library/webpack/blocks/ts.ts +2 -9
- package/src/library/webpack/utils/threadLoader.ts +67 -0
- package/lib/builder/webpack/devServer/client.js.map +0 -1
- package/lib/library/webpack/utils/workersPool.d.ts +0 -4
- package/lib/library/webpack/utils/workersPool.js +0 -50
- package/lib/library/webpack/utils/workersPool.js.map +0 -1
- 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
|
|
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
|
|
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,
|
|
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,
|
|
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=
|
|
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
|
|
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,
|
|
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":";;;;AACA,0CAAyC;AACzC,mCAAsC;AACtC,+CAAkF;AAClF,
|
|
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,
|
|
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,
|
|
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"}
|
package/lib/library/swc/index.js
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/swc/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
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,
|
|
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.
|
|
3
|
+
"version": "2.117.4",
|
|
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.
|
|
74
|
+
"@tramvai/react": "2.117.4",
|
|
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 {
|
|
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
|
|
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 {
|
|
3
|
-
import { CONFIG_MANAGER_TOKEN
|
|
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
|
];
|
package/src/library/swc/index.ts
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
};
|