@tramvai/cli 5.53.81 → 5.53.94
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/README.md +1 -1
- package/lib/api/analyze/index.d.ts.map +1 -1
- package/lib/api/analyze/index.js +1 -13
- package/lib/api/analyze/index.js.map +1 -1
- package/lib/api/benchmark/build.d.ts +1 -6
- package/lib/api/benchmark/build.d.ts.map +1 -1
- package/lib/api/benchmark/build.js +59 -23
- package/lib/api/benchmark/build.js.map +1 -1
- package/lib/api/benchmark/const.d.ts +2 -0
- package/lib/api/benchmark/const.d.ts.map +1 -0
- package/lib/api/benchmark/const.js +5 -0
- package/lib/api/benchmark/const.js.map +1 -0
- package/lib/api/benchmark/index.d.ts +4 -6
- package/lib/api/benchmark/index.d.ts.map +1 -1
- package/lib/api/benchmark/index.js.map +1 -1
- package/lib/api/benchmark/start.d.ts +1 -7
- package/lib/api/benchmark/start.d.ts.map +1 -1
- package/lib/api/benchmark/start.js +56 -49
- package/lib/api/benchmark/start.js.map +1 -1
- package/lib/api/benchmark/types.d.ts +76 -12
- package/lib/api/benchmark/types.d.ts.map +1 -1
- package/lib/api/benchmark/utils/compilationUtils.d.ts +4 -0
- package/lib/api/benchmark/utils/compilationUtils.d.ts.map +1 -0
- package/lib/api/benchmark/utils/compilationUtils.js +157 -0
- package/lib/api/benchmark/utils/compilationUtils.js.map +1 -0
- package/lib/api/benchmark/utils/stats.d.ts +2 -7
- package/lib/api/benchmark/utils/stats.d.ts.map +1 -1
- package/lib/api/benchmark/utils/stats.js +36 -22
- package/lib/api/benchmark/utils/stats.js.map +1 -1
- package/lib/api/build/index.d.ts +1 -0
- package/lib/api/build/index.d.ts.map +1 -1
- package/lib/api/build/index.js.map +1 -1
- package/lib/api/index.js +1 -1
- package/lib/api/index.js.map +1 -1
- package/lib/api/start/index.d.ts +1 -0
- package/lib/api/start/index.d.ts.map +1 -1
- package/lib/api/start/index.js.map +1 -1
- package/lib/builder/webpack/analyzePlugins/rsdoctor.d.ts +5 -5
- package/lib/builder/webpack/analyzePlugins/rsdoctor.d.ts.map +1 -1
- package/lib/builder/webpack/analyzePlugins/rsdoctor.js +7 -9
- package/lib/builder/webpack/analyzePlugins/rsdoctor.js.map +1 -1
- package/lib/builder/webpack/index.d.ts.map +1 -1
- package/lib/builder/webpack/index.js +14 -12
- package/lib/builder/webpack/index.js.map +1 -1
- package/lib/builder/webpack/providers/build/client.d.ts.map +1 -1
- package/lib/builder/webpack/providers/build/client.js +3 -2
- package/lib/builder/webpack/providers/build/client.js.map +1 -1
- package/lib/builder/webpack/providers/build/server.d.ts.map +1 -1
- package/lib/builder/webpack/providers/build/server.js +3 -2
- package/lib/builder/webpack/providers/build/server.js.map +1 -1
- package/lib/builder/webpack/providers/shared.d.ts.map +1 -1
- package/lib/builder/webpack/providers/shared.js +39 -5
- package/lib/builder/webpack/providers/shared.js.map +1 -1
- package/lib/builder/webpack/providers/start/shared.d.ts.map +1 -1
- package/lib/builder/webpack/providers/start/shared.js +6 -2
- package/lib/builder/webpack/providers/start/shared.js.map +1 -1
- package/lib/builder/webpack/tokens.d.ts +8 -16
- package/lib/builder/webpack/tokens.d.ts.map +1 -1
- package/lib/cli/index.d.ts.map +1 -1
- package/lib/cli/index.js +12 -12
- package/lib/cli/index.js.map +1 -1
- package/lib/commands/analyze/command.d.ts +1 -1
- package/lib/commands/analyze/command.d.ts.map +1 -1
- package/lib/commands/benchmark/benchmark.d.ts +3 -1
- package/lib/commands/benchmark/benchmark.d.ts.map +1 -1
- package/lib/commands/benchmark/benchmark.js +130 -31
- package/lib/commands/benchmark/benchmark.js.map +1 -1
- package/lib/commands/benchmark/command.d.ts +9 -0
- package/lib/commands/benchmark/command.d.ts.map +1 -1
- package/lib/commands/benchmark/command.js +12 -0
- package/lib/commands/benchmark/command.js.map +1 -1
- package/lib/commands/build/command.d.ts.map +1 -1
- package/lib/commands/build/command.js +5 -0
- package/lib/commands/build/command.js.map +1 -1
- package/lib/commands/start/command.d.ts.map +1 -1
- package/lib/commands/start/command.js +5 -0
- package/lib/commands/start/command.js.map +1 -1
- package/lib/config/configManager.d.ts +2 -0
- package/lib/config/configManager.d.ts.map +1 -1
- package/lib/config/configManager.js +2 -0
- package/lib/config/configManager.js.map +1 -1
- package/lib/di/tokens/config.d.ts +4 -8
- package/lib/di/tokens/config.d.ts.map +1 -1
- package/lib/library/webpack/blocks/js.d.ts.map +1 -1
- package/lib/library/webpack/blocks/js.js +57 -11
- package/lib/library/webpack/blocks/js.js.map +1 -1
- package/lib/library/webpack/common/main.d.ts.map +1 -1
- package/lib/library/webpack/common/main.js +7 -0
- package/lib/library/webpack/common/main.js.map +1 -1
- package/lib/library/webpack/utils/rsdoctor.d.ts +2 -0
- package/lib/library/webpack/utils/rsdoctor.d.ts.map +1 -0
- package/lib/library/webpack/utils/rsdoctor.js +27 -0
- package/lib/library/webpack/utils/rsdoctor.js.map +1 -0
- package/lib/library/webpack/utils/threadLoader.d.ts.map +1 -1
- package/lib/library/webpack/utils/threadLoader.js +3 -3
- package/lib/library/webpack/utils/threadLoader.js.map +1 -1
- package/lib/schema/autogeneratedSchema.json +228 -120
- package/lib/typings/build/Builder.d.ts +6 -2
- package/lib/typings/build/Builder.d.ts.map +1 -1
- package/lib/typings/configEntry/cli.d.ts +5 -0
- package/lib/typings/configEntry/cli.d.ts.map +1 -1
- package/package.json +16 -17
- package/schema.json +228 -120
- package/src/api/analyze/index.ts +3 -16
- package/src/api/benchmark/__integration__/start.test.ts +10 -12
- package/src/api/benchmark/build.ts +75 -30
- package/src/api/benchmark/const.ts +1 -0
- package/src/api/benchmark/index.ts +4 -6
- package/src/api/benchmark/start.ts +69 -65
- package/src/api/benchmark/types.ts +82 -14
- package/src/api/benchmark/utils/compilationUtils.ts +213 -0
- package/src/api/benchmark/utils/stats.ts +45 -28
- package/src/api/build/index.ts +1 -0
- package/src/api/index.ts +1 -1
- package/src/api/start/index.ts +1 -0
- package/src/builder/webpack/analyzePlugins/rsdoctor.ts +11 -14
- package/src/builder/webpack/index.ts +16 -21
- package/src/builder/webpack/providers/build/client.ts +7 -2
- package/src/builder/webpack/providers/build/server.ts +7 -2
- package/src/builder/webpack/providers/shared.ts +53 -5
- package/src/builder/webpack/providers/start/shared.ts +7 -2
- package/src/cli/index.ts +3 -2
- package/src/commands/analyze/command.ts +1 -1
- package/src/commands/benchmark/benchmark.ts +168 -33
- package/src/commands/benchmark/command.ts +12 -0
- package/src/commands/build/command.ts +6 -0
- package/src/commands/new/templates/shared/package.json.hbs +1 -1
- package/src/commands/start/command.ts +6 -0
- package/src/config/configManager.ts +4 -0
- package/src/library/webpack/blocks/js.ts +61 -12
- package/src/library/webpack/common/main.ts +8 -0
- package/src/library/webpack/utils/rsdoctor.ts +26 -0
- package/src/library/webpack/utils/threadLoader.ts +1 -0
- package/src/models/config.spec.ts +4 -0
- package/src/schema/autogeneratedSchema.json +228 -120
- package/src/schema/tramvai.spec.ts +2 -0
- package/src/typings/build/Builder.ts +7 -2
- package/src/typings/configEntry/cli.ts +6 -0
- package/lib/api/analyze/providers/shared.d.ts +0 -3
- package/lib/api/analyze/providers/shared.d.ts.map +0 -1
- package/lib/api/analyze/providers/shared.js +0 -23
- package/lib/api/analyze/providers/shared.js.map +0 -1
- package/lib/builder/webpack/providers/analyze/shared.d.ts +0 -3
- package/lib/builder/webpack/providers/analyze/shared.d.ts.map +0 -1
- package/lib/builder/webpack/providers/analyze/shared.js +0 -141
- package/lib/builder/webpack/providers/analyze/shared.js.map +0 -1
- package/src/api/analyze/providers/shared.ts +0 -26
- package/src/api/benchmark/utils/stats.spec.ts +0 -36
- package/src/builder/webpack/providers/analyze/shared.ts +0 -160
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.analyzeSharedProviders = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const dippy_1 = require("@tinkoff/dippy");
|
|
6
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const rimraf_1 = tslib_1.__importDefault(require("rimraf"));
|
|
8
|
-
const webpack_1 = tslib_1.__importDefault(require("webpack"));
|
|
9
|
-
const tokens_1 = require("../../../../di/tokens");
|
|
10
|
-
const toWebpackConfig_1 = require("../../../../library/webpack/utils/toWebpackConfig");
|
|
11
|
-
const npmRequire_1 = require("../../../../utils/npmRequire");
|
|
12
|
-
const bundle_1 = require("../../analyzePlugins/bundle");
|
|
13
|
-
const statoscope_1 = require("../../analyzePlugins/statoscope");
|
|
14
|
-
const whyBundled_1 = require("../../analyzePlugins/whyBundled");
|
|
15
|
-
const rsdoctor_1 = require("../../analyzePlugins/rsdoctor");
|
|
16
|
-
const tokens_2 = require("../../tokens");
|
|
17
|
-
const runWebpack_1 = require("../../utils/runWebpack");
|
|
18
|
-
const pluginMap = {
|
|
19
|
-
bundle: bundle_1.BundleAnalyzePlugin,
|
|
20
|
-
whybundled: whyBundled_1.WhyBundledAnalyzePlugin,
|
|
21
|
-
statoscope: statoscope_1.StatoscopeAnalyzePlugin,
|
|
22
|
-
rsdoctor: rsdoctor_1.RsdoctorAnalyzePlugin,
|
|
23
|
-
};
|
|
24
|
-
exports.analyzeSharedProviders = [
|
|
25
|
-
(0, dippy_1.provide)({
|
|
26
|
-
provide: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
27
|
-
useFactory: ({ pluginName }) => {
|
|
28
|
-
const PluginClass = pluginMap[pluginName];
|
|
29
|
-
if (!PluginClass) {
|
|
30
|
-
throw new Error('Set correct plugin option');
|
|
31
|
-
}
|
|
32
|
-
return new PluginClass();
|
|
33
|
-
},
|
|
34
|
-
deps: {
|
|
35
|
-
pluginName: tokens_2.WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
|
|
36
|
-
},
|
|
37
|
-
}),
|
|
38
|
-
(0, dippy_1.provide)({
|
|
39
|
-
provide: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
|
|
40
|
-
useFactory: ({ configManager }) => {
|
|
41
|
-
return configManager.withSettings({
|
|
42
|
-
buildType: 'client',
|
|
43
|
-
});
|
|
44
|
-
},
|
|
45
|
-
deps: {
|
|
46
|
-
configManager: tokens_1.CONFIG_MANAGER_TOKEN,
|
|
47
|
-
},
|
|
48
|
-
}),
|
|
49
|
-
(0, dippy_1.provide)({
|
|
50
|
-
provide: tokens_2.WEBPACK_CLIENT_COMPILER_TOKEN,
|
|
51
|
-
useFactory: ({ webpackConfig, analyzePlugin }) => {
|
|
52
|
-
return (0, webpack_1.default)((0, toWebpackConfig_1.toWebpackConfig)(analyzePlugin.patchConfig(webpackConfig)));
|
|
53
|
-
},
|
|
54
|
-
deps: {
|
|
55
|
-
webpackConfig: tokens_2.WEBPACK_CLIENT_CONFIG_TOKEN,
|
|
56
|
-
analyzePlugin: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
57
|
-
},
|
|
58
|
-
}),
|
|
59
|
-
(0, dippy_1.provide)({
|
|
60
|
-
provide: tokens_2.INIT_HANDLER_TOKEN,
|
|
61
|
-
multi: true,
|
|
62
|
-
useFactory: ({ configManager }) => {
|
|
63
|
-
return function clearBuildDir() {
|
|
64
|
-
return rimraf_1.default.sync(`${configManager.buildPath}/**`, {});
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
deps: {
|
|
68
|
-
configManager: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
|
|
69
|
-
},
|
|
70
|
-
}),
|
|
71
|
-
(0, dippy_1.provide)({
|
|
72
|
-
provide: tokens_2.INIT_HANDLER_TOKEN,
|
|
73
|
-
multi: true,
|
|
74
|
-
useFactory: ({ configManager, rootDir, packageManager }) => {
|
|
75
|
-
return async function prepareImageOptimization() {
|
|
76
|
-
if (configManager.imageOptimization?.enabled) {
|
|
77
|
-
await (0, npmRequire_1.npmRequire)({
|
|
78
|
-
cliRootDir: rootDir,
|
|
79
|
-
packageManager,
|
|
80
|
-
packageName: 'image-webpack-loader',
|
|
81
|
-
description: 'Устанавливаем зависимости для опции imageOptimization',
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
},
|
|
86
|
-
deps: {
|
|
87
|
-
configManager: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
|
|
88
|
-
rootDir: tokens_1.CLI_ROOT_DIR_TOKEN,
|
|
89
|
-
packageManager: tokens_1.CLI_PACKAGE_MANAGER,
|
|
90
|
-
},
|
|
91
|
-
}),
|
|
92
|
-
(0, dippy_1.provide)({
|
|
93
|
-
provide: tokens_2.INIT_HANDLER_TOKEN,
|
|
94
|
-
multi: true,
|
|
95
|
-
useFactory: ({ analyzePlugin, rootDir, packageManager }) => {
|
|
96
|
-
const { requireDeps } = analyzePlugin;
|
|
97
|
-
return async () => {
|
|
98
|
-
if (requireDeps) {
|
|
99
|
-
await (0, npmRequire_1.npmRequireList)({
|
|
100
|
-
cliRootDir: rootDir,
|
|
101
|
-
packageManager,
|
|
102
|
-
dependencies: requireDeps,
|
|
103
|
-
description: 'Install dependencies for the analyze command',
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
},
|
|
108
|
-
deps: {
|
|
109
|
-
analyzePlugin: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
110
|
-
rootDir: tokens_1.CLI_ROOT_DIR_TOKEN,
|
|
111
|
-
packageManager: tokens_1.CLI_PACKAGE_MANAGER,
|
|
112
|
-
},
|
|
113
|
-
}),
|
|
114
|
-
(0, dippy_1.provide)({
|
|
115
|
-
provide: tokens_2.PROCESS_HANDLER_TOKEN,
|
|
116
|
-
multi: true,
|
|
117
|
-
useFactory: ({ webpackCompiler, configManager }) => {
|
|
118
|
-
return function webpackBuild() {
|
|
119
|
-
console.log(chalk_1.default.green('Starting build with analyze tool'));
|
|
120
|
-
return (0, runWebpack_1.runWebpack)(webpackCompiler, { verboseWebpack: configManager.verboseWebpack });
|
|
121
|
-
};
|
|
122
|
-
},
|
|
123
|
-
deps: {
|
|
124
|
-
webpackCompiler: tokens_2.WEBPACK_CLIENT_COMPILER_TOKEN,
|
|
125
|
-
configManager: tokens_1.CONFIG_MANAGER_TOKEN,
|
|
126
|
-
},
|
|
127
|
-
}),
|
|
128
|
-
(0, dippy_1.provide)({
|
|
129
|
-
provide: tokens_2.CLOSE_HANDLER_TOKEN,
|
|
130
|
-
multi: true,
|
|
131
|
-
useFactory: ({ analyzePlugin }) => {
|
|
132
|
-
return () => {
|
|
133
|
-
return analyzePlugin.afterBuild();
|
|
134
|
-
};
|
|
135
|
-
},
|
|
136
|
-
deps: {
|
|
137
|
-
analyzePlugin: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
138
|
-
},
|
|
139
|
-
}),
|
|
140
|
-
];
|
|
141
|
-
//# sourceMappingURL=shared.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/analyze/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,0DAA0B;AAC1B,4DAA4B;AAC5B,8DAA8B;AAC9B,kDAI+B;AAC/B,uFAAoF;AACpF,6DAA0E;AAC1E,wDAAkE;AAClE,gEAA0E;AAC1E,gEAA0E;AAC1E,4DAAsE;AACtE,yCASsB;AAEtB,uDAAoD;AAMpD,MAAM,SAAS,GAAwC;IACrD,MAAM,EAAE,4BAAmB;IAC3B,UAAU,EAAE,oCAAuB;IACnC,UAAU,EAAE,oCAAuB;IACnC,QAAQ,EAAE,gCAAqB;CAChC,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,qCAA4B;QACrC,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YAE1C,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,OAAO,IAAI,WAAW,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,0CAAiC;SAC9C;KACF,CAAC;IACF,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,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE;YAC/C,OAAO,IAAA,iBAAO,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;YAC1C,aAAa,EAAE,qCAA4B;SAC5C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,SAAS,aAAa;gBAC3B,OAAO,gBAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;SAC3C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;YACzD,OAAO,KAAK,UAAU,wBAAwB;gBAC5C,IAAI,aAAa,CAAC,iBAAiB,EAAE,OAAO,EAAE;oBAC5C,MAAM,IAAA,uBAAU,EAAC;wBACf,UAAU,EAAE,OAAO;wBACnB,cAAc;wBACd,WAAW,EAAE,sBAAsB;wBACnC,WAAW,EAAE,uDAAuD;qBACrE,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;YAC1C,OAAO,EAAE,2BAAkB;YAC3B,cAAc,EAAE,4BAAmB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;YACzD,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;YAEtC,OAAO,KAAK,IAAI,EAAE;gBAChB,IAAI,WAAW,EAAE;oBACf,MAAM,IAAA,2BAAc,EAAC;wBACnB,UAAU,EAAE,OAAO;wBACnB,cAAc;wBACd,YAAY,EAAE,WAAW;wBACzB,WAAW,EAAE,8CAA8C;qBAC5D,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,qCAA4B;YAC3C,OAAO,EAAE,2BAAkB;YAC3B,cAAc,EAAE,4BAAmB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE;YACjD,OAAO,SAAS,YAAY;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAA,uBAAU,EAAC,eAAe,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;YACvF,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;YAC9C,aAAa,EAAE,6BAAoB;SACpC;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,GAAG,EAAE;gBACV,OAAO,aAAa,CAAC,UAAU,EAAE,CAAC;YACpC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,qCAA4B;SAC5C;KACF,CAAC;CACH,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { Provider } from '@tinkoff/dippy';
|
|
2
|
-
import { provide } from '@tinkoff/dippy';
|
|
3
|
-
import {
|
|
4
|
-
CONFIG_MANAGER_TOKEN,
|
|
5
|
-
COMMAND_PARAMETERS_TOKEN,
|
|
6
|
-
CONFIG_ENTRY_TOKEN,
|
|
7
|
-
} from '../../../di/tokens';
|
|
8
|
-
import { createConfigManager } from '../../../config/configManager';
|
|
9
|
-
import type { CliConfigEntry } from '../../../typings/configEntry/cli';
|
|
10
|
-
|
|
11
|
-
export const sharedProviders: readonly Provider[] = [
|
|
12
|
-
provide({
|
|
13
|
-
provide: CONFIG_MANAGER_TOKEN,
|
|
14
|
-
useFactory: ({ configEntry, parameters }) => {
|
|
15
|
-
return createConfigManager(configEntry as CliConfigEntry, {
|
|
16
|
-
...parameters,
|
|
17
|
-
env: 'production',
|
|
18
|
-
buildType: 'client',
|
|
19
|
-
});
|
|
20
|
-
},
|
|
21
|
-
deps: {
|
|
22
|
-
configEntry: CONFIG_ENTRY_TOKEN,
|
|
23
|
-
parameters: COMMAND_PARAMETERS_TOKEN,
|
|
24
|
-
},
|
|
25
|
-
}),
|
|
26
|
-
];
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { getSamplesStats } from './stats';
|
|
2
|
-
|
|
3
|
-
describe('getSamplesStats', () => {
|
|
4
|
-
it('base case', () => {
|
|
5
|
-
const samples = [1, 1, 1, 1, 1];
|
|
6
|
-
|
|
7
|
-
expect(getSamplesStats(samples)).toEqual({
|
|
8
|
-
samples,
|
|
9
|
-
mean: 1,
|
|
10
|
-
std: 0,
|
|
11
|
-
variance: 0,
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('case 1', () => {
|
|
16
|
-
const samples = [1, 2, 3, 4, 5, 6, 7];
|
|
17
|
-
|
|
18
|
-
expect(getSamplesStats(samples)).toEqual({
|
|
19
|
-
samples,
|
|
20
|
-
mean: 4,
|
|
21
|
-
std: 2,
|
|
22
|
-
variance: 50,
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('case 2', () => {
|
|
27
|
-
const samples = [100, 105, 103, 95, 102, 109, 98];
|
|
28
|
-
|
|
29
|
-
expect(getSamplesStats(samples)).toEqual({
|
|
30
|
-
samples,
|
|
31
|
-
mean: 101.71428571428571,
|
|
32
|
-
std: 4.266624149448022,
|
|
33
|
-
variance: 4.194714753670809,
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
});
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import type { Provider } from '@tinkoff/dippy';
|
|
2
|
-
import { provide } from '@tinkoff/dippy';
|
|
3
|
-
import chalk from 'chalk';
|
|
4
|
-
import rimraf from 'rimraf';
|
|
5
|
-
import webpack from 'webpack';
|
|
6
|
-
import {
|
|
7
|
-
CLI_PACKAGE_MANAGER,
|
|
8
|
-
CLI_ROOT_DIR_TOKEN,
|
|
9
|
-
CONFIG_MANAGER_TOKEN,
|
|
10
|
-
} from '../../../../di/tokens';
|
|
11
|
-
import { toWebpackConfig } from '../../../../library/webpack/utils/toWebpackConfig';
|
|
12
|
-
import { npmRequire, npmRequireList } from '../../../../utils/npmRequire';
|
|
13
|
-
import { BundleAnalyzePlugin } from '../../analyzePlugins/bundle';
|
|
14
|
-
import { StatoscopeAnalyzePlugin } from '../../analyzePlugins/statoscope';
|
|
15
|
-
import { WhyBundledAnalyzePlugin } from '../../analyzePlugins/whyBundled';
|
|
16
|
-
import { RsdoctorAnalyzePlugin } from '../../analyzePlugins/rsdoctor';
|
|
17
|
-
import {
|
|
18
|
-
CLIENT_CONFIG_MANAGER_TOKEN,
|
|
19
|
-
INIT_HANDLER_TOKEN,
|
|
20
|
-
CLOSE_HANDLER_TOKEN,
|
|
21
|
-
PROCESS_HANDLER_TOKEN,
|
|
22
|
-
WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
|
|
23
|
-
WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
24
|
-
WEBPACK_CLIENT_COMPILER_TOKEN,
|
|
25
|
-
WEBPACK_CLIENT_CONFIG_TOKEN,
|
|
26
|
-
} from '../../tokens';
|
|
27
|
-
import type { AnalyzePlugin } from '../../types';
|
|
28
|
-
import { runWebpack } from '../../utils/runWebpack';
|
|
29
|
-
|
|
30
|
-
interface Type<T> extends Function {
|
|
31
|
-
new (...args: any[]): T;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const pluginMap: Record<string, Type<AnalyzePlugin>> = {
|
|
35
|
-
bundle: BundleAnalyzePlugin,
|
|
36
|
-
whybundled: WhyBundledAnalyzePlugin,
|
|
37
|
-
statoscope: StatoscopeAnalyzePlugin,
|
|
38
|
-
rsdoctor: RsdoctorAnalyzePlugin,
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export const analyzeSharedProviders: Provider[] = [
|
|
42
|
-
provide({
|
|
43
|
-
provide: WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
44
|
-
useFactory: ({ pluginName }) => {
|
|
45
|
-
const PluginClass = pluginMap[pluginName];
|
|
46
|
-
|
|
47
|
-
if (!PluginClass) {
|
|
48
|
-
throw new Error('Set correct plugin option');
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return new PluginClass();
|
|
52
|
-
},
|
|
53
|
-
deps: {
|
|
54
|
-
pluginName: WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
|
|
55
|
-
},
|
|
56
|
-
}),
|
|
57
|
-
provide({
|
|
58
|
-
provide: CLIENT_CONFIG_MANAGER_TOKEN,
|
|
59
|
-
useFactory: ({ configManager }) => {
|
|
60
|
-
return configManager.withSettings({
|
|
61
|
-
buildType: 'client',
|
|
62
|
-
});
|
|
63
|
-
},
|
|
64
|
-
deps: {
|
|
65
|
-
configManager: CONFIG_MANAGER_TOKEN,
|
|
66
|
-
},
|
|
67
|
-
}),
|
|
68
|
-
provide({
|
|
69
|
-
provide: WEBPACK_CLIENT_COMPILER_TOKEN,
|
|
70
|
-
useFactory: ({ webpackConfig, analyzePlugin }) => {
|
|
71
|
-
return webpack(toWebpackConfig(analyzePlugin.patchConfig(webpackConfig)));
|
|
72
|
-
},
|
|
73
|
-
deps: {
|
|
74
|
-
webpackConfig: WEBPACK_CLIENT_CONFIG_TOKEN,
|
|
75
|
-
analyzePlugin: WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
76
|
-
},
|
|
77
|
-
}),
|
|
78
|
-
provide({
|
|
79
|
-
provide: INIT_HANDLER_TOKEN,
|
|
80
|
-
multi: true,
|
|
81
|
-
useFactory: ({ configManager }) => {
|
|
82
|
-
return function clearBuildDir() {
|
|
83
|
-
return rimraf.sync(`${configManager.buildPath}/**`, {});
|
|
84
|
-
};
|
|
85
|
-
},
|
|
86
|
-
deps: {
|
|
87
|
-
configManager: CLIENT_CONFIG_MANAGER_TOKEN,
|
|
88
|
-
},
|
|
89
|
-
}),
|
|
90
|
-
provide({
|
|
91
|
-
provide: INIT_HANDLER_TOKEN,
|
|
92
|
-
multi: true,
|
|
93
|
-
useFactory: ({ configManager, rootDir, packageManager }) => {
|
|
94
|
-
return async function prepareImageOptimization() {
|
|
95
|
-
if (configManager.imageOptimization?.enabled) {
|
|
96
|
-
await npmRequire({
|
|
97
|
-
cliRootDir: rootDir,
|
|
98
|
-
packageManager,
|
|
99
|
-
packageName: 'image-webpack-loader',
|
|
100
|
-
description: 'Устанавливаем зависимости для опции imageOptimization',
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
},
|
|
105
|
-
deps: {
|
|
106
|
-
configManager: CLIENT_CONFIG_MANAGER_TOKEN,
|
|
107
|
-
rootDir: CLI_ROOT_DIR_TOKEN,
|
|
108
|
-
packageManager: CLI_PACKAGE_MANAGER,
|
|
109
|
-
},
|
|
110
|
-
}),
|
|
111
|
-
provide({
|
|
112
|
-
provide: INIT_HANDLER_TOKEN,
|
|
113
|
-
multi: true,
|
|
114
|
-
useFactory: ({ analyzePlugin, rootDir, packageManager }) => {
|
|
115
|
-
const { requireDeps } = analyzePlugin;
|
|
116
|
-
|
|
117
|
-
return async () => {
|
|
118
|
-
if (requireDeps) {
|
|
119
|
-
await npmRequireList({
|
|
120
|
-
cliRootDir: rootDir,
|
|
121
|
-
packageManager,
|
|
122
|
-
dependencies: requireDeps,
|
|
123
|
-
description: 'Install dependencies for the analyze command',
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
},
|
|
128
|
-
deps: {
|
|
129
|
-
analyzePlugin: WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
130
|
-
rootDir: CLI_ROOT_DIR_TOKEN,
|
|
131
|
-
packageManager: CLI_PACKAGE_MANAGER,
|
|
132
|
-
},
|
|
133
|
-
}),
|
|
134
|
-
provide({
|
|
135
|
-
provide: PROCESS_HANDLER_TOKEN,
|
|
136
|
-
multi: true,
|
|
137
|
-
useFactory: ({ webpackCompiler, configManager }) => {
|
|
138
|
-
return function webpackBuild() {
|
|
139
|
-
console.log(chalk.green('Starting build with analyze tool'));
|
|
140
|
-
return runWebpack(webpackCompiler, { verboseWebpack: configManager.verboseWebpack });
|
|
141
|
-
};
|
|
142
|
-
},
|
|
143
|
-
deps: {
|
|
144
|
-
webpackCompiler: WEBPACK_CLIENT_COMPILER_TOKEN,
|
|
145
|
-
configManager: CONFIG_MANAGER_TOKEN,
|
|
146
|
-
},
|
|
147
|
-
}),
|
|
148
|
-
provide({
|
|
149
|
-
provide: CLOSE_HANDLER_TOKEN,
|
|
150
|
-
multi: true,
|
|
151
|
-
useFactory: ({ analyzePlugin }) => {
|
|
152
|
-
return () => {
|
|
153
|
-
return analyzePlugin.afterBuild();
|
|
154
|
-
};
|
|
155
|
-
},
|
|
156
|
-
deps: {
|
|
157
|
-
analyzePlugin: WEBPACK_ANALYZE_PLUGIN_TOKEN,
|
|
158
|
-
},
|
|
159
|
-
}),
|
|
160
|
-
];
|