@tramvai/cli 2.123.3 → 2.124.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/build/application.js +2 -1
- package/lib/api/build/application.js.map +1 -1
- package/lib/api/build/index.d.ts +1 -0
- package/lib/api/build/index.js.map +1 -1
- package/lib/builder/webpack/index.js +4 -2
- package/lib/builder/webpack/index.js.map +1 -1
- package/lib/builder/webpack/providers/build/client.js +0 -38
- package/lib/builder/webpack/providers/build/client.js.map +1 -1
- package/lib/builder/webpack/providers/build/clientShared.d.ts +2 -0
- package/lib/builder/webpack/providers/build/clientShared.js +51 -0
- package/lib/builder/webpack/providers/build/clientShared.js.map +1 -0
- package/lib/commands/build/command.js +11 -0
- package/lib/commands/build/command.js.map +1 -1
- package/lib/typings/build/Builder.d.ts +1 -0
- package/package.json +2 -2
- package/src/api/build/application.ts +2 -1
- package/src/api/build/index.ts +1 -0
- package/src/builder/webpack/index.ts +4 -2
- package/src/builder/webpack/providers/build/client.ts +1 -41
- package/src/builder/webpack/providers/build/clientShared.ts +49 -0
- package/src/commands/build/command.ts +11 -0
- package/src/typings/build/Builder.ts +1 -0
|
@@ -7,7 +7,7 @@ const shared_1 = require("./providers/shared");
|
|
|
7
7
|
const di_1 = require("../../utils/di");
|
|
8
8
|
const buildApplication = (di) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
9
9
|
const options = di.get(tokens_1.COMMAND_PARAMETERS_TOKEN);
|
|
10
|
-
const { buildType = 'all' } = options;
|
|
10
|
+
const { buildType = 'all', onlyModern } = options;
|
|
11
11
|
const shouldBuildClient = buildType === 'client' || buildType === 'all';
|
|
12
12
|
const shouldBuildServer = buildType === 'server' || buildType === 'all';
|
|
13
13
|
(0, di_1.registerProviders)(di, shared_1.sharedProviders);
|
|
@@ -17,6 +17,7 @@ const buildApplication = (di) => tslib_1.__awaiter(void 0, void 0, void 0, funct
|
|
|
17
17
|
options: {
|
|
18
18
|
shouldBuildClient,
|
|
19
19
|
shouldBuildServer,
|
|
20
|
+
onlyModern,
|
|
20
21
|
},
|
|
21
22
|
});
|
|
22
23
|
const builderBuild = yield builder.build({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/api/build/application.ts"],"names":[],"mappings":";;;;AAEA,4CAIyB;AACzB,+CAAqD;AACrD,uCAAmD;AAE5C,MAAM,gBAAgB,GAAG,CAAO,EAAa,EAAU,EAAE;IAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,iCAAkC,CAAC,CAAC;IAC3D,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/api/build/application.ts"],"names":[],"mappings":";;;;AAEA,4CAIyB;AACzB,+CAAqD;AACrD,uCAAmD;AAE5C,MAAM,gBAAgB,GAAG,CAAO,EAAa,EAAU,EAAE;IAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,iCAAkC,CAAC,CAAC;IAC3D,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,iBAAiB,GAAG,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,CAAC;IACxE,MAAM,iBAAiB,GAAG,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,CAAC;IAExE,IAAA,sBAAiB,EAAC,EAAE,EAAE,wBAAe,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,6BAAoB,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,EAAE,CAAC,GAAG,CAAC,uCAA8B,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE;QAC5D,OAAO,EAAE;YACP,iBAAiB;YACjB,iBAAiB;YACjB,UAAU;SACX;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;QACvC,MAAM,EAAE,aAAa,CAAC,MAAM;KAC7B,CAAC,CAAC;IAEH,uBACE,OAAO,IACJ,YAAY,EACf;AACJ,CAAC,CAAA,CAAC;AA5BW,QAAA,gBAAgB,oBA4B3B"}
|
package/lib/api/build/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { WithConfig } from '../shared/types/withConfig';
|
|
|
4
4
|
import type { Builder } from '../../typings/build/Builder';
|
|
5
5
|
export type Params = WithConfig<{
|
|
6
6
|
buildType?: 'server' | 'client' | 'all' | 'none';
|
|
7
|
+
onlyModern?: boolean;
|
|
7
8
|
debug?: boolean;
|
|
8
9
|
profile?: boolean;
|
|
9
10
|
modern?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/build/index.ts"],"names":[],"mappings":";;AAEA,gEAA6D;AAE7D,+CAAiD;AACjD,qCAAuC;AACvC,4CAAqD;AACrD,uCAAyC;AACzC,2CAA4C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/build/index.ts"],"names":[],"mappings":";;AAEA,gEAA6D;AAE7D,+CAAiD;AACjD,qCAAuC;AACvC,4CAAqD;AACrD,uCAAyC;AACzC,2CAA4C;AA8B5C,kBAAe,IAAA,6BAAa,EAAC;IAC3B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,CAAC,EAAE,EAAU,EAAE;QACtB,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,2BAAkB,CAAC,CAAC;QAE/C,QAAQ,WAAW,CAAC,IAAI,EAAE;YACxB,KAAK,aAAa;gBAChB,OAAO,IAAA,8BAAgB,EAAC,EAAE,CAAC,CAAC;YAC9B,KAAK,QAAQ;gBACX,OAAO,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC;YACzB,KAAK,WAAW;gBACd,OAAO,IAAA,yBAAa,EAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,SAAS;gBACZ,OAAO,IAAA,sBAAY,EAAC,EAAE,CAAC,CAAC;SAC3B;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -15,6 +15,7 @@ const server_2 = require("./providers/start/server");
|
|
|
15
15
|
const tokens_1 = require("./tokens");
|
|
16
16
|
const resolveDone_1 = require("./utils/resolveDone");
|
|
17
17
|
const di_1 = require("../../utils/di");
|
|
18
|
+
const clientShared_1 = require("./providers/build/clientShared");
|
|
18
19
|
const client_3 = require("./providers/build/client");
|
|
19
20
|
const clientModern_1 = require("./providers/build/clientModern");
|
|
20
21
|
const server_3 = require("./providers/build/server");
|
|
@@ -28,7 +29,7 @@ exports.webpackProviders = [
|
|
|
28
29
|
useFactory: ({ di }) => {
|
|
29
30
|
return {
|
|
30
31
|
name: BUILDER_NAME,
|
|
31
|
-
createBuilder({ options: { shouldBuildClient, shouldBuildServer } }) {
|
|
32
|
+
createBuilder({ options: { shouldBuildClient, shouldBuildServer, onlyModern } }) {
|
|
32
33
|
(0, di_1.registerProviders)(di, [
|
|
33
34
|
...shared_1.sharedProviders,
|
|
34
35
|
...(shouldBuildClient ? client_1.clientProviders : []),
|
|
@@ -68,7 +69,8 @@ exports.webpackProviders = [
|
|
|
68
69
|
build({ modern }) {
|
|
69
70
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
71
|
(0, di_1.registerProviders)(di, [
|
|
71
|
-
...(shouldBuildClient ?
|
|
72
|
+
...(shouldBuildClient ? clientShared_1.buildClientSharedProviders : []),
|
|
73
|
+
...(shouldBuildClient && !onlyModern ? client_3.buildClientProviders : []),
|
|
72
74
|
...(shouldBuildClient && modern ? clientModern_1.buildClientModernProviders : []),
|
|
73
75
|
...(shouldBuildServer ? server_3.buildServerProviders : []),
|
|
74
76
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/builder/webpack/index.ts"],"names":[],"mappings":";;;;AAAA,+BAAiC;AAEjC,0CAAmD;AACnD,qDAAgE;AAEhE,yDAAsD;AACtD,+CAAqD;AACrD,+CAAqD;AACrD,+CAAqD;AACrD,qDAAgE;AAChE,qDAAgE;AAChE,qDAAgE;AAChE,qCASkB;AAClB,qDAAkD;AAClD,uCAAmD;AACnD,qDAAgE;AAChE,iEAA4E;AAC5E,qDAAgE;AAChE,4CAAuD;AACvD,iEAAuF;AACvF,uDAAoE;AAEpE,MAAM,YAAY,GAAG,SAAS,CAAC;AAElB,QAAA,gBAAgB,GAAe;IAC1C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,+BAAqB;QAC9B,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACrB,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/builder/webpack/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildClientProviders = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const dippy_1 = require("@tinkoff/dippy");
|
|
6
|
-
const rimraf_1 = tslib_1.__importDefault(require("rimraf"));
|
|
7
6
|
const webpack_1 = tslib_1.__importDefault(require("webpack"));
|
|
8
7
|
const tokens_1 = require("../../../../di/tokens");
|
|
9
8
|
const toWebpackConfig_1 = require("../../../../library/webpack/utils/toWebpackConfig");
|
|
10
|
-
const npmRequire_1 = require("../../../../utils/npmRequire");
|
|
11
9
|
const tokens_2 = require("../../tokens");
|
|
12
10
|
const closeWebpack_1 = require("../../utils/closeWebpack");
|
|
13
11
|
const runWebpack_1 = require("../../utils/runWebpack");
|
|
@@ -33,42 +31,6 @@ exports.buildClientProviders = [
|
|
|
33
31
|
webpackConfig: tokens_2.WEBPACK_CLIENT_CONFIG_TOKEN,
|
|
34
32
|
},
|
|
35
33
|
}),
|
|
36
|
-
(0, dippy_1.provide)({
|
|
37
|
-
provide: tokens_2.INIT_HANDLER_TOKEN,
|
|
38
|
-
multi: true,
|
|
39
|
-
useFactory: ({ configManager }) => {
|
|
40
|
-
return function clearBuildDir() {
|
|
41
|
-
return rimraf_1.default.sync(`${configManager.buildPath}/**`, {});
|
|
42
|
-
};
|
|
43
|
-
},
|
|
44
|
-
deps: {
|
|
45
|
-
configManager: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
|
|
46
|
-
},
|
|
47
|
-
}),
|
|
48
|
-
(0, dippy_1.provide)({
|
|
49
|
-
provide: tokens_2.INIT_HANDLER_TOKEN,
|
|
50
|
-
multi: true,
|
|
51
|
-
useFactory: ({ configManager, rootDir, packageManager }) => {
|
|
52
|
-
return function prepareImageOptimization() {
|
|
53
|
-
var _a;
|
|
54
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
if ((_a = configManager.imageOptimization) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
56
|
-
yield (0, npmRequire_1.npmRequire)({
|
|
57
|
-
cliRootDir: rootDir,
|
|
58
|
-
packageManager,
|
|
59
|
-
packageName: 'image-webpack-loader',
|
|
60
|
-
description: 'Устанавливаем зависимости для опции imageOptimization',
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
},
|
|
66
|
-
deps: {
|
|
67
|
-
configManager: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
|
|
68
|
-
rootDir: tokens_1.CLI_ROOT_DIR_TOKEN,
|
|
69
|
-
packageManager: tokens_1.CLI_PACKAGE_MANAGER,
|
|
70
|
-
},
|
|
71
|
-
}),
|
|
72
34
|
(0, dippy_1.provide)({
|
|
73
35
|
provide: tokens_2.PROCESS_HANDLER_TOKEN,
|
|
74
36
|
multi: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/client.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/client.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,8DAA8B;AAC9B,kDAA6D;AAC7D,uFAAoF;AACpF,yCAMsB;AACtB,2DAAwD;AACxD,uDAAoD;AAEvC,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;gBACnB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,IAAA,iBAAO,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;SAC3C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,uBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,2BAAY,EAAC,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildClientSharedProviders = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const dippy_1 = require("@tinkoff/dippy");
|
|
6
|
+
const dippy_2 = require("@tinkoff/dippy");
|
|
7
|
+
const rimraf_1 = tslib_1.__importDefault(require("rimraf"));
|
|
8
|
+
const tokens_1 = require("../../../../di/tokens");
|
|
9
|
+
const npmRequire_1 = require("../../../../utils/npmRequire");
|
|
10
|
+
const tokens_2 = require("../../tokens");
|
|
11
|
+
exports.buildClientSharedProviders = [
|
|
12
|
+
(0, dippy_2.provide)({
|
|
13
|
+
provide: tokens_2.INIT_HANDLER_TOKEN,
|
|
14
|
+
multi: true,
|
|
15
|
+
useFactory: ({ configManager, modernConfigManager }) => {
|
|
16
|
+
return function clearBuildDir() {
|
|
17
|
+
return rimraf_1.default.sync(`${(configManager || modernConfigManager).buildPath}/**`, {});
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
deps: {
|
|
21
|
+
configManager: (0, dippy_1.optional)(tokens_2.CLIENT_CONFIG_MANAGER_TOKEN),
|
|
22
|
+
modernConfigManager: (0, dippy_1.optional)(tokens_2.CLIENT_MODERN_CONFIG_MANAGER_TOKEN),
|
|
23
|
+
},
|
|
24
|
+
}),
|
|
25
|
+
(0, dippy_2.provide)({
|
|
26
|
+
provide: tokens_2.INIT_HANDLER_TOKEN,
|
|
27
|
+
multi: true,
|
|
28
|
+
useFactory: ({ configManager, modernConfigManager, rootDir, packageManager }) => {
|
|
29
|
+
return function prepareImageOptimization() {
|
|
30
|
+
var _a;
|
|
31
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
if ((_a = (configManager || modernConfigManager).imageOptimization) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
33
|
+
yield (0, npmRequire_1.npmRequire)({
|
|
34
|
+
cliRootDir: rootDir,
|
|
35
|
+
packageManager,
|
|
36
|
+
packageName: 'image-webpack-loader',
|
|
37
|
+
description: 'Устанавливаем зависимости для опции imageOptimization',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
deps: {
|
|
44
|
+
configManager: (0, dippy_1.optional)(tokens_2.CLIENT_CONFIG_MANAGER_TOKEN),
|
|
45
|
+
modernConfigManager: (0, dippy_1.optional)(tokens_2.CLIENT_MODERN_CONFIG_MANAGER_TOKEN),
|
|
46
|
+
rootDir: tokens_1.CLI_ROOT_DIR_TOKEN,
|
|
47
|
+
packageManager: tokens_1.CLI_PACKAGE_MANAGER,
|
|
48
|
+
},
|
|
49
|
+
}),
|
|
50
|
+
];
|
|
51
|
+
//# sourceMappingURL=clientShared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientShared.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/clientShared.ts"],"names":[],"mappings":";;;;AACA,0CAA0C;AAC1C,0CAAyC;AACzC,4DAA4B;AAC5B,kDAAgF;AAChF,6DAA0D;AAC1D,yCAIsB;AAET,QAAA,0BAA0B,GAAe;IACpD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE;YACrD,OAAO,SAAS,aAAa;gBAC3B,OAAO,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,IAAA,gBAAQ,EAAC,oCAA2B,CAAC;YACpD,mBAAmB,EAAE,IAAA,gBAAQ,EAAC,2CAAkC,CAAC;SAClE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;YAC9E,OAAO,SAAe,wBAAwB;;;oBAC5C,IAAI,MAAA,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC,iBAAiB,0CAAE,OAAO,EAAE;wBACrE,MAAM,IAAA,uBAAU,EAAC;4BACf,UAAU,EAAE,OAAO;4BACnB,cAAc;4BACd,WAAW,EAAE,sBAAsB;4BACnC,WAAW,EAAE,uDAAuD;yBACrE,CAAC,CAAC;qBACJ;;aACF,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,IAAA,gBAAQ,EAAC,oCAA2B,CAAC;YACpD,mBAAmB,EAAE,IAAA,gBAAQ,EAAC,2CAAkC,CAAC;YACjE,OAAO,EAAE,2BAAkB;YAC3B,cAAc,EAAE,4BAAmB;SACpC;KACF,CAAC;CACH,CAAC"}
|
|
@@ -51,6 +51,17 @@ class BuildCommand extends command_1.CLICommand {
|
|
|
51
51
|
transformer: (value) => value !== 'false',
|
|
52
52
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
53
53
|
},
|
|
54
|
+
{
|
|
55
|
+
name: '--modern',
|
|
56
|
+
value: '[modern]',
|
|
57
|
+
description: 'modern compilation code with es2015+',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: '--onlyModern',
|
|
61
|
+
value: '[onlyModern]',
|
|
62
|
+
transformer: (value) => value !== 'false',
|
|
63
|
+
description: 'Emit only modern build from client compilation',
|
|
64
|
+
},
|
|
54
65
|
];
|
|
55
66
|
this.alias = 'b';
|
|
56
67
|
this.validators = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/build/command.ts"],"names":[],"mappings":";;AAAA,kDAAkD;AAClD,qEAAwE;AACxE,mFAAgF;AAChF,mFAAgF;AAChF,2GAAwG;AAExG,yFAAsF;AAMtF,MAAM,YAAa,SAAQ,oBAAkB;IAA7C;;QACE,SAAI,GAAG,OAAO,CAAC;QAEf,gBAAW,GAAG,uEAAuE,CAAC;QAEtF,YAAO,GAAG,gBAAgB,CAAC;QAE3B,YAAO,GAAG;YACR;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,gCAAgC;gBAC7C,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACjD,WAAW,EACT,+GAA+G;aAClH;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,0EAA0E;aACxF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,yCAAyC;aACvD;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,uCAAuC;aACrD;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,wDAAwD;aACtE;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACjD,WAAW,EAAE,2DAA2D;aACzE;SACF,CAAC;QAEF,UAAK,GAAG,GAAG,CAAC;QAEZ,eAAU,GAAG;YACX,qCAAiB;YACjB,6BAAgB;YAChB,6DAA6B;YAC7B,qCAAiB;YACjB,2CAAoB;SACrB,CAAC;IAMJ,CAAC;IAJC,MAAM,CAAC,UAAkB;QACvB,uCAAuC;QACvC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,kBAAe,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/build/command.ts"],"names":[],"mappings":";;AAAA,kDAAkD;AAClD,qEAAwE;AACxE,mFAAgF;AAChF,mFAAgF;AAChF,2GAAwG;AAExG,yFAAsF;AAMtF,MAAM,YAAa,SAAQ,oBAAkB;IAA7C;;QACE,SAAI,GAAG,OAAO,CAAC;QAEf,gBAAW,GAAG,uEAAuE,CAAC;QAEtF,YAAO,GAAG,gBAAgB,CAAC;QAE3B,YAAO,GAAG;YACR;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,gCAAgC;gBAC7C,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACjD,WAAW,EACT,+GAA+G;aAClH;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,0EAA0E;aACxF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,yCAAyC;aACvD;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,uCAAuC;aACrD;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,wDAAwD;aACtE;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACjD,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,sCAAsC;aACpD;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACjD,WAAW,EAAE,gDAAgD;aAC9D;SACF,CAAC;QAEF,UAAK,GAAG,GAAG,CAAC;QAEZ,eAAU,GAAG;YACX,qCAAiB;YACjB,6BAAgB;YAChB,6DAA6B;YAC7B,qCAAiB;YACjB,2CAAoB;SACrB,CAAC;IAMJ,CAAC;IAJC,MAAM,CAAC,UAAkB;QACvB,uCAAuC;QACvC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,kBAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.124.0",
|
|
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.
|
|
74
|
+
"@tramvai/react": "2.124.0",
|
|
75
75
|
"@tramvai/tools-check-versions": "0.4.15",
|
|
76
76
|
"@tramvai/tools-migrate": "0.6.19",
|
|
77
77
|
"ajv": "^6.12.6",
|
|
@@ -10,7 +10,7 @@ import { registerProviders } from '../../utils/di';
|
|
|
10
10
|
|
|
11
11
|
export const buildApplication = async (di: Container): Result => {
|
|
12
12
|
const options = di.get(COMMAND_PARAMETERS_TOKEN as Params);
|
|
13
|
-
const { buildType = 'all' } = options;
|
|
13
|
+
const { buildType = 'all', onlyModern } = options;
|
|
14
14
|
|
|
15
15
|
const shouldBuildClient = buildType === 'client' || buildType === 'all';
|
|
16
16
|
const shouldBuildServer = buildType === 'server' || buildType === 'all';
|
|
@@ -24,6 +24,7 @@ export const buildApplication = async (di: Container): Result => {
|
|
|
24
24
|
options: {
|
|
25
25
|
shouldBuildClient,
|
|
26
26
|
shouldBuildServer,
|
|
27
|
+
onlyModern,
|
|
27
28
|
},
|
|
28
29
|
});
|
|
29
30
|
|
package/src/api/build/index.ts
CHANGED
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
} from './tokens';
|
|
23
23
|
import { resolveDone } from './utils/resolveDone';
|
|
24
24
|
import { registerProviders } from '../../utils/di';
|
|
25
|
+
import { buildClientSharedProviders } from './providers/build/clientShared';
|
|
25
26
|
import { buildClientProviders } from './providers/build/client';
|
|
26
27
|
import { buildClientModernProviders } from './providers/build/clientModern';
|
|
27
28
|
import { buildServerProviders } from './providers/build/server';
|
|
@@ -37,7 +38,7 @@ export const webpackProviders: Provider[] = [
|
|
|
37
38
|
useFactory: ({ di }) => {
|
|
38
39
|
return {
|
|
39
40
|
name: BUILDER_NAME,
|
|
40
|
-
createBuilder({ options: { shouldBuildClient, shouldBuildServer } }) {
|
|
41
|
+
createBuilder({ options: { shouldBuildClient, shouldBuildServer, onlyModern } }) {
|
|
41
42
|
registerProviders(di, [
|
|
42
43
|
...sharedProviders,
|
|
43
44
|
...(shouldBuildClient ? clientProviders : []),
|
|
@@ -84,7 +85,8 @@ export const webpackProviders: Provider[] = [
|
|
|
84
85
|
},
|
|
85
86
|
async build({ modern }) {
|
|
86
87
|
registerProviders(di, [
|
|
87
|
-
...(shouldBuildClient ?
|
|
88
|
+
...(shouldBuildClient ? buildClientSharedProviders : []),
|
|
89
|
+
...(shouldBuildClient && !onlyModern ? buildClientProviders : []),
|
|
88
90
|
...(shouldBuildClient && modern ? buildClientModernProviders : []),
|
|
89
91
|
...(shouldBuildServer ? buildServerProviders : []),
|
|
90
92
|
]);
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import type { Provider } from '@tinkoff/dippy';
|
|
2
2
|
import { provide } from '@tinkoff/dippy';
|
|
3
|
-
import rimraf from 'rimraf';
|
|
4
3
|
import webpack from 'webpack';
|
|
5
|
-
import {
|
|
6
|
-
CLI_PACKAGE_MANAGER,
|
|
7
|
-
CLI_ROOT_DIR_TOKEN,
|
|
8
|
-
CONFIG_MANAGER_TOKEN,
|
|
9
|
-
} from '../../../../di/tokens';
|
|
4
|
+
import { CONFIG_MANAGER_TOKEN } from '../../../../di/tokens';
|
|
10
5
|
import { toWebpackConfig } from '../../../../library/webpack/utils/toWebpackConfig';
|
|
11
|
-
import { npmRequire } from '../../../../utils/npmRequire';
|
|
12
6
|
import {
|
|
13
7
|
CLIENT_CONFIG_MANAGER_TOKEN,
|
|
14
8
|
CLOSE_HANDLER_TOKEN,
|
|
15
|
-
INIT_HANDLER_TOKEN,
|
|
16
9
|
PROCESS_HANDLER_TOKEN,
|
|
17
10
|
WEBPACK_CLIENT_COMPILER_TOKEN,
|
|
18
11
|
WEBPACK_CLIENT_CONFIG_TOKEN,
|
|
@@ -42,39 +35,6 @@ export const buildClientProviders: Provider[] = [
|
|
|
42
35
|
webpackConfig: WEBPACK_CLIENT_CONFIG_TOKEN,
|
|
43
36
|
},
|
|
44
37
|
}),
|
|
45
|
-
provide({
|
|
46
|
-
provide: INIT_HANDLER_TOKEN,
|
|
47
|
-
multi: true,
|
|
48
|
-
useFactory: ({ configManager }) => {
|
|
49
|
-
return function clearBuildDir() {
|
|
50
|
-
return rimraf.sync(`${configManager.buildPath}/**`, {});
|
|
51
|
-
};
|
|
52
|
-
},
|
|
53
|
-
deps: {
|
|
54
|
-
configManager: CLIENT_CONFIG_MANAGER_TOKEN,
|
|
55
|
-
},
|
|
56
|
-
}),
|
|
57
|
-
provide({
|
|
58
|
-
provide: INIT_HANDLER_TOKEN,
|
|
59
|
-
multi: true,
|
|
60
|
-
useFactory: ({ configManager, rootDir, packageManager }) => {
|
|
61
|
-
return async function prepareImageOptimization() {
|
|
62
|
-
if (configManager.imageOptimization?.enabled) {
|
|
63
|
-
await npmRequire({
|
|
64
|
-
cliRootDir: rootDir,
|
|
65
|
-
packageManager,
|
|
66
|
-
packageName: 'image-webpack-loader',
|
|
67
|
-
description: 'Устанавливаем зависимости для опции imageOptimization',
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
},
|
|
72
|
-
deps: {
|
|
73
|
-
configManager: CLIENT_CONFIG_MANAGER_TOKEN,
|
|
74
|
-
rootDir: CLI_ROOT_DIR_TOKEN,
|
|
75
|
-
packageManager: CLI_PACKAGE_MANAGER,
|
|
76
|
-
},
|
|
77
|
-
}),
|
|
78
38
|
provide({
|
|
79
39
|
provide: PROCESS_HANDLER_TOKEN,
|
|
80
40
|
multi: true,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Provider } from '@tinkoff/dippy';
|
|
2
|
+
import { optional } from '@tinkoff/dippy';
|
|
3
|
+
import { provide } from '@tinkoff/dippy';
|
|
4
|
+
import rimraf from 'rimraf';
|
|
5
|
+
import { CLI_PACKAGE_MANAGER, CLI_ROOT_DIR_TOKEN } from '../../../../di/tokens';
|
|
6
|
+
import { npmRequire } from '../../../../utils/npmRequire';
|
|
7
|
+
import {
|
|
8
|
+
CLIENT_CONFIG_MANAGER_TOKEN,
|
|
9
|
+
CLIENT_MODERN_CONFIG_MANAGER_TOKEN,
|
|
10
|
+
INIT_HANDLER_TOKEN,
|
|
11
|
+
} from '../../tokens';
|
|
12
|
+
|
|
13
|
+
export const buildClientSharedProviders: Provider[] = [
|
|
14
|
+
provide({
|
|
15
|
+
provide: INIT_HANDLER_TOKEN,
|
|
16
|
+
multi: true,
|
|
17
|
+
useFactory: ({ configManager, modernConfigManager }) => {
|
|
18
|
+
return function clearBuildDir() {
|
|
19
|
+
return rimraf.sync(`${(configManager || modernConfigManager).buildPath}/**`, {});
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
deps: {
|
|
23
|
+
configManager: optional(CLIENT_CONFIG_MANAGER_TOKEN),
|
|
24
|
+
modernConfigManager: optional(CLIENT_MODERN_CONFIG_MANAGER_TOKEN),
|
|
25
|
+
},
|
|
26
|
+
}),
|
|
27
|
+
provide({
|
|
28
|
+
provide: INIT_HANDLER_TOKEN,
|
|
29
|
+
multi: true,
|
|
30
|
+
useFactory: ({ configManager, modernConfigManager, rootDir, packageManager }) => {
|
|
31
|
+
return async function prepareImageOptimization() {
|
|
32
|
+
if ((configManager || modernConfigManager).imageOptimization?.enabled) {
|
|
33
|
+
await npmRequire({
|
|
34
|
+
cliRootDir: rootDir,
|
|
35
|
+
packageManager,
|
|
36
|
+
packageName: 'image-webpack-loader',
|
|
37
|
+
description: 'Устанавливаем зависимости для опции imageOptimization',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
deps: {
|
|
43
|
+
configManager: optional(CLIENT_CONFIG_MANAGER_TOKEN),
|
|
44
|
+
modernConfigManager: optional(CLIENT_MODERN_CONFIG_MANAGER_TOKEN),
|
|
45
|
+
rootDir: CLI_ROOT_DIR_TOKEN,
|
|
46
|
+
packageManager: CLI_PACKAGE_MANAGER,
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
];
|
|
@@ -57,6 +57,17 @@ class BuildCommand extends CLICommand<Params> {
|
|
|
57
57
|
transformer: (value: string) => value !== 'false',
|
|
58
58
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
59
59
|
},
|
|
60
|
+
{
|
|
61
|
+
name: '--modern',
|
|
62
|
+
value: '[modern]',
|
|
63
|
+
description: 'modern compilation code with es2015+',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: '--onlyModern',
|
|
67
|
+
value: '[onlyModern]',
|
|
68
|
+
transformer: (value: string) => value !== 'false',
|
|
69
|
+
description: 'Emit only modern build from client compilation',
|
|
70
|
+
},
|
|
60
71
|
];
|
|
61
72
|
|
|
62
73
|
alias = 'b';
|