@tramvai/cli 4.41.55 → 4.41.79
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/bin/platform.js +26 -1
- package/bin/spawn.js +19 -7
- package/lib/builder/webpack/devServer/server.d.ts.map +1 -1
- package/lib/builder/webpack/devServer/server.js +65 -34
- package/lib/builder/webpack/devServer/server.js.map +1 -1
- package/lib/commands/add/add.d.ts +2 -2
- package/lib/commands/add/add.d.ts.map +1 -1
- package/lib/commands/add/add.js +2 -2
- package/lib/commands/add/add.js.map +1 -1
- package/lib/commands/add/checkPackageValidator.d.ts +1 -1
- package/lib/commands/add/checkPackageValidator.d.ts.map +1 -1
- package/lib/commands/add/checkPackageValidator.js +7 -2
- package/lib/commands/add/checkPackageValidator.js.map +1 -1
- package/lib/commands/add/command.d.ts +1 -1
- package/lib/commands/add/command.d.ts.map +1 -1
- package/lib/commands/add/command.js +1 -1
- package/lib/commands/add/command.js.map +1 -1
- package/lib/library/webpack/application/client/prod/optimization/splitChunks.d.ts.map +1 -1
- package/lib/library/webpack/application/client/prod/optimization/splitChunks.js +52 -1
- package/lib/library/webpack/application/client/prod/optimization/splitChunks.js.map +1 -1
- package/lib/schema/autogeneratedSchema.json +20 -15
- package/lib/typings/configEntry/application.d.ts +5 -0
- package/lib/typings/configEntry/application.d.ts.map +1 -1
- package/lib/utils/npmRequire.js +1 -1
- package/lib/utils/npmRequire.js.map +1 -1
- package/package.json +5 -4
- package/schema.json +20 -15
- package/src/builder/webpack/devServer/server.ts +38 -2
- package/src/commands/add/add.ts +3 -3
- package/src/commands/add/checkPackageValidator.ts +6 -2
- package/src/commands/add/command.ts +1 -1
- package/src/library/webpack/application/client/prod/optimization/splitChunks.ts +66 -2
- package/src/models/config.spec.ts +2 -0
- package/src/schema/autogeneratedSchema.json +20 -15
- package/src/schema/tramvai.spec.ts +1 -0
- package/src/typings/configEntry/application.ts +5 -0
- package/src/utils/npmRequire.ts +1 -1
package/bin/platform.js
CHANGED
|
@@ -2,4 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
process.title = 'tramvai';
|
|
4
4
|
|
|
5
|
-
require('
|
|
5
|
+
const path = require('node:path');
|
|
6
|
+
const chokidar = require('chokidar');
|
|
7
|
+
const chalk = require('chalk');
|
|
8
|
+
|
|
9
|
+
let abortController;
|
|
10
|
+
|
|
11
|
+
function run() {
|
|
12
|
+
return require('./spawn')('../lib/cli/bin-init');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
abortController = run();
|
|
16
|
+
|
|
17
|
+
const watchedFileName = 'tramvai.json';
|
|
18
|
+
function onConfigChange() {
|
|
19
|
+
console.log(chalk.yellow(`${watchedFileName} changed, restart process...`));
|
|
20
|
+
|
|
21
|
+
abortController.abort();
|
|
22
|
+
abortController = run();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
try {
|
|
26
|
+
const tramvaiJsonPath = path.resolve(process.cwd(), watchedFileName);
|
|
27
|
+
chokidar.watch(tramvaiJsonPath).on('change', onConfigChange);
|
|
28
|
+
} catch (err) {
|
|
29
|
+
console.error(`Something went wrong while watching for changes in ${watchedFileName}: ${err}`);
|
|
30
|
+
}
|
package/bin/spawn.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
const {
|
|
1
|
+
const { spawn: cpSpawn } = require('child_process');
|
|
2
|
+
const exit = require('exit');
|
|
2
3
|
|
|
3
4
|
const args = process.argv.slice(2);
|
|
4
5
|
const maxMemory = process.env.MAX_USED_MEMORY || '3000';
|
|
@@ -12,7 +13,10 @@ const paramsIndex = args.findIndex((x) => !x.startsWith('-'));
|
|
|
12
13
|
const nodeArgs = paramsIndex > 0 ? args.slice(0, paramsIndex) : [];
|
|
13
14
|
|
|
14
15
|
module.exports = function spawn(executePath) {
|
|
15
|
-
const
|
|
16
|
+
const controller = new AbortController();
|
|
17
|
+
const { signal } = controller;
|
|
18
|
+
|
|
19
|
+
const cliInstance = cpSpawn(
|
|
16
20
|
'node',
|
|
17
21
|
defaultArgs
|
|
18
22
|
.concat(nodeArgs)
|
|
@@ -20,13 +24,21 @@ module.exports = function spawn(executePath) {
|
|
|
20
24
|
.concat(args.slice(paramsIndex > 0 ? paramsIndex : 0)),
|
|
21
25
|
// this is the first place where we can pass env which will be used by webpack
|
|
22
26
|
// about watchpack issue - https://github.com/webpack/watchpack/issues/222, https://github.com/vercel/next.js/pull/51826
|
|
23
|
-
{ stdio: 'inherit', env: { ...process.env, WATCHPACK_WATCHER_LIMIT: '20' } }
|
|
27
|
+
{ stdio: 'inherit', env: { ...process.env, WATCHPACK_WATCHER_LIMIT: '20' }, signal }
|
|
24
28
|
);
|
|
25
29
|
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
cliInstance.on('error', (err) => {
|
|
31
|
+
if (err.code !== 'ABORT_ERR') {
|
|
32
|
+
console.error(err);
|
|
33
|
+
console.warn(`Process was exited with code "${err.code}"
|
|
28
34
|
It's unexpected, please check available/used memory and cpu while running last command`);
|
|
29
|
-
|
|
35
|
+
exit(1);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
cliInstance.on('exit', (code) => {
|
|
40
|
+
exit(code);
|
|
41
|
+
});
|
|
30
42
|
|
|
31
|
-
|
|
43
|
+
return controller;
|
|
32
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/builder/webpack/devServer/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/builder/webpack/devServer/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAKvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAevD,OAAO,QAAQ,SAAS,CAAC;IACvB,MAAa,UAAU;QAErB,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACxB;CACF;AAID,eAAO,MAAM,YAAY;QAOnB,SAAS;YACL,MAAM;cACJ,QAAQ,aAAa;mBAChB,cAAc,sBAAsB,EAAE,aAAa,CAAC;YAC3D,mBAAmB,GAAG,IAAI;uDA2SnC,CAAC"}
|
|
@@ -4,6 +4,8 @@ exports.serverRunner = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const noop_1 = tslib_1.__importDefault(require("@tinkoff/utils/function/noop"));
|
|
6
6
|
const each_1 = tslib_1.__importDefault(require("@tinkoff/utils/object/each"));
|
|
7
|
+
const chokidar_1 = tslib_1.__importDefault(require("chokidar"));
|
|
8
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
9
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
8
10
|
const death_1 = tslib_1.__importDefault(require("death"));
|
|
9
11
|
const http_proxy_1 = require("http-proxy");
|
|
@@ -201,46 +203,75 @@ const serverRunner = ({ di, config, compiler, configManager, server, }) => {
|
|
|
201
203
|
yield pool.start();
|
|
202
204
|
}
|
|
203
205
|
}));
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
workerPortPromise = null;
|
|
208
|
-
serverInvalidated = false;
|
|
209
|
-
if (stats.hasErrors()) {
|
|
210
|
-
// всплыли ошибки при сборке - просто игнорим калбек чтобы не падать ниже и дать возможность выполнить пересборку
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
if (worker) {
|
|
214
|
-
yield pool.release(worker);
|
|
215
|
-
}
|
|
216
|
-
worker = yield pool.acquire();
|
|
217
|
-
worker.on('error', (error) => {
|
|
218
|
-
if (pool.state !== lightning_pool_1.PoolState.CLOSED) {
|
|
219
|
-
console.error('[worker] error:', error);
|
|
220
|
-
hasExitedUnexpectedly = true;
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
worker.on('exit', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
224
|
-
hasExitedUnexpectedly = true;
|
|
206
|
+
function runWorker(stats) {
|
|
207
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
208
|
+
if (serverInvalidated) {
|
|
225
209
|
workerPort = null;
|
|
226
210
|
workerPortPromise = null;
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
if (pool.state !== lightning_pool_1.PoolState.CLOSED) {
|
|
232
|
-
console.error(EXITED_UNEXPECTEDLY);
|
|
211
|
+
serverInvalidated = false;
|
|
212
|
+
if (stats === null || stats === void 0 ? void 0 : stats.hasErrors()) {
|
|
213
|
+
// всплыли ошибки при сборке - просто игнорим калбек чтобы не падать ниже и дать возможность выполнить пересборку
|
|
214
|
+
return;
|
|
233
215
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if (cmd === 'listen') {
|
|
237
|
-
workerPort = port;
|
|
238
|
-
resolveWorkerPort === null || resolveWorkerPort === void 0 ? void 0 : resolveWorkerPort();
|
|
216
|
+
if (worker) {
|
|
217
|
+
yield pool.release(worker);
|
|
239
218
|
}
|
|
219
|
+
worker = yield pool.acquire();
|
|
220
|
+
worker.on('error', (error) => {
|
|
221
|
+
if (pool.state !== lightning_pool_1.PoolState.CLOSED) {
|
|
222
|
+
console.error('[worker] error:', error);
|
|
223
|
+
hasExitedUnexpectedly = true;
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
worker.on('exit', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
227
|
+
hasExitedUnexpectedly = true;
|
|
228
|
+
workerPort = null;
|
|
229
|
+
workerPortPromise = null;
|
|
230
|
+
if (worker) {
|
|
231
|
+
pool.release(worker);
|
|
232
|
+
}
|
|
233
|
+
worker = null;
|
|
234
|
+
if (pool.state !== lightning_pool_1.PoolState.CLOSED) {
|
|
235
|
+
console.error(EXITED_UNEXPECTEDLY);
|
|
236
|
+
}
|
|
237
|
+
}));
|
|
238
|
+
worker.once('message', ({ cmd, port }) => {
|
|
239
|
+
if (cmd === 'listen') {
|
|
240
|
+
workerPort = port;
|
|
241
|
+
resolveWorkerPort === null || resolveWorkerPort === void 0 ? void 0 : resolveWorkerPort();
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
const script = fs.readFileSync(filename);
|
|
245
|
+
yield send(worker, 'script', { filename: realFilename, script });
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
// отключаем watch за при выключенном rebuild
|
|
250
|
+
if (!configManager.noServerRebuild) {
|
|
251
|
+
const watchedFileName = 'env.development.js';
|
|
252
|
+
try {
|
|
253
|
+
const envPath = path_1.default.resolve(process.cwd(), watchedFileName);
|
|
254
|
+
const watchHandler = (_changedFilePath) => {
|
|
255
|
+
console.log(chalk_1.default.yellow(`${envPath} changed, restart server...`));
|
|
256
|
+
serverInvalidated = true;
|
|
257
|
+
runWorker();
|
|
258
|
+
};
|
|
259
|
+
const watcher = chokidar_1.default.watch(envPath);
|
|
260
|
+
watcher.on('change', watchHandler);
|
|
261
|
+
di.register({
|
|
262
|
+
provide: tokens_1.CLOSE_HANDLER_TOKEN,
|
|
263
|
+
multi: true,
|
|
264
|
+
useValue: () => {
|
|
265
|
+
watcher.close();
|
|
266
|
+
},
|
|
240
267
|
});
|
|
241
|
-
const script = fs.readFileSync(filename);
|
|
242
|
-
yield send(worker, 'script', { filename: realFilename, script });
|
|
243
268
|
}
|
|
269
|
+
catch (err) {
|
|
270
|
+
console.error(`Something went wrong while watching for changes in ${watchedFileName}: ${err}`);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
compiler.hooks.done.tap(HOOK_NAME, (stats) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
274
|
+
runWorker(stats);
|
|
244
275
|
}));
|
|
245
276
|
});
|
|
246
277
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/builder/webpack/devServer/server.ts"],"names":[],"mappings":";;;;AAAA,gFAAgD;AAChD,8EAAiD;AACjD,wDAAwB;AAGxB,0DAA0B;AAC1B,2CAA+C;AAC/C,iDAAiD;AACjD,yGAAwE;AACxE,mDAA2C;AAK3C,8CAA0D;AAC1D,6CAAwD;AACxD,sCAA+C;AAE/C,sCAAgD;AAChD,wEAAqE;AAErE,MAAM,mBAAmB,GAAG;;;;;;;;;CAS3B,CAAC;AASF,MAAM,SAAS,GAAG,WAAW,CAAC;AAEvB,MAAM,YAAY,GAAG,CAAC,EAC3B,EAAE,EACF,MAAM,EACN,QAAQ,EACR,aAAa,EACb,MAAM,GAOP,EAAE,EAAE;IACH,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,cAAI,CAAC;KACb;IACD,0CAA0C;IAC1C,OAAO,SAAe,YAAY;;YAChC,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/D,mEAAmE;YACnE,MAAM,YAAY,GAAG,GAAG,IAAA,qCAAiB,EAAC;gBACxC,IAAI,EAAE,aAAa,CAAC,UAAU;gBAC9B,IAAI,EAAE,aAAa,CAAC,UAAU;gBAC9B,QAAQ,EAAE,aAAa,CAAC,YAAY;aACrC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAEjF,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YAED,MAAM,EAAE,GAAG,cAAc,CAAC,gBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/builder/webpack/devServer/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Context } from '../../models/context';
|
|
2
2
|
import type { CommandResult } from '../../models/command';
|
|
3
3
|
export type Params = {
|
|
4
|
-
|
|
4
|
+
packageNames: string | string[];
|
|
5
5
|
dev?: boolean;
|
|
6
6
|
};
|
|
7
|
-
declare const _default: (context: Context, {
|
|
7
|
+
declare const _default: (context: Context, { packageNames, dev }: Params) => Promise<CommandResult>;
|
|
8
8
|
export default _default;
|
|
9
9
|
//# sourceMappingURL=add.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/add/add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,MAAM,MAAM,GAAG;IACnB,
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/add/add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;kCAE6B,OAAO,yBAAyB,MAAM,KAAG,QAAQ,aAAa,CAAC;AAA9F,wBAmCE"}
|
package/lib/commands/add/add.js
CHANGED
|
@@ -4,13 +4,13 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const migrate_1 = require("../../utils/commands/dependencies/migrate");
|
|
5
5
|
const findTramvaiVersion_1 = require("../../utils/commands/dependencies/findTramvaiVersion");
|
|
6
6
|
const checkVersions_1 = require("../../utils/commands/dependencies/checkVersions");
|
|
7
|
-
exports.default = (context, {
|
|
7
|
+
exports.default = (context, { packageNames, dev }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
8
|
const version = yield (0, findTramvaiVersion_1.findTramvaiVersion)();
|
|
9
9
|
if (!version) {
|
|
10
10
|
throw new Error('Could not resolve tramvai version from package.json. Do you have @tramvai/core installed?');
|
|
11
11
|
}
|
|
12
12
|
yield context.packageManager.install({
|
|
13
|
-
|
|
13
|
+
packageNames,
|
|
14
14
|
version,
|
|
15
15
|
devDependency: dev,
|
|
16
16
|
stdio: 'inherit',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/add/add.ts"],"names":[],"mappings":";;;AAEA,uEAAoE;AACpE,6FAA0F;AAC1F,mFAAgF;AAOhF,kBAAe,CAAO,OAAgB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/add/add.ts"],"names":[],"mappings":";;;AAEA,uEAAoE;AACpE,6FAA0F;AAC1F,mFAAgF;AAOhF,kBAAe,CAAO,OAAgB,EAAE,EAAE,YAAY,EAAE,GAAG,EAAU,EAA0B,EAAE;IAC/F,MAAM,OAAO,GAAG,MAAM,IAAA,uCAAkB,GAAE,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;KACH;IAED,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;QACnC,YAAY;QACZ,OAAO;QACP,aAAa,EAAE,GAAG;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE;QACzC,6CAA6C;QAC7C,8BAA8B;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC3D;IAED,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;IAE7B,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkPackageValidator.d.ts","sourceRoot":"","sources":["../../../src/commands/add/checkPackageValidator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"checkPackageValidator.d.ts","sourceRoot":"","sources":["../../../src/commands/add/checkPackageValidator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,eAAO,MAAM,YAAY,6BAA+B,MAAM;;;EAW7D,CAAC"}
|
|
@@ -3,8 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.checkPackage = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const latest_version_1 = tslib_1.__importDefault(require("latest-version"));
|
|
6
|
-
const checkPackage = (_, {
|
|
7
|
-
|
|
6
|
+
const checkPackage = (_, { packageNames }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
7
|
+
if (Array.isArray(packageNames)) {
|
|
8
|
+
yield Promise.all(packageNames.map((packageName) => (0, latest_version_1.default)(packageName)));
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
yield (0, latest_version_1.default)(packageNames);
|
|
12
|
+
}
|
|
8
13
|
return {
|
|
9
14
|
name: 'checkPackage',
|
|
10
15
|
status: 'ok',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkPackageValidator.js","sourceRoot":"","sources":["../../../src/commands/add/checkPackageValidator.ts"],"names":[],"mappings":";;;;AAAA,4EAA2C;AAGpC,MAAM,YAAY,GAAG,CAAO,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"checkPackageValidator.js","sourceRoot":"","sources":["../../../src/commands/add/checkPackageValidator.ts"],"names":[],"mappings":";;;;AAAA,4EAA2C;AAGpC,MAAM,YAAY,GAAG,CAAO,CAAC,EAAE,EAAE,YAAY,EAAU,EAAE,EAAE;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAClF;SAAM;QACL,MAAM,IAAA,wBAAa,EAAC,YAAY,CAAC,CAAC;KACnC;IAED,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC,CAAA,CAAC;AAXW,QAAA,YAAY,gBAWvB"}
|
|
@@ -9,7 +9,7 @@ declare class AddCommand extends CLICommand {
|
|
|
9
9
|
description: string;
|
|
10
10
|
}[];
|
|
11
11
|
alias: string;
|
|
12
|
-
validators: ((_: any, {
|
|
12
|
+
validators: ((_: any, { packageNames }: Params) => Promise<{
|
|
13
13
|
name: string;
|
|
14
14
|
status: string;
|
|
15
15
|
}>)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/add/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,cAAM,UAAW,SAAQ,UAAU;IACjC,IAAI,SAAS;IAEb,WAAW,SAAqC;IAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/add/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,cAAM,UAAW,SAAQ,UAAU;IACjC,IAAI,SAAS;IAEb,WAAW,SAAqC;IAEhD,OAAO,SAA2B;IAElC,OAAO;;;QAKL;IAEF,KAAK,SAAM;IAEX,UAAU;;;UAAkB;IAEtB,MAAM,CAAC,UAAU,EAAE,MAAM;CAIhC;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -8,7 +8,7 @@ class AddCommand extends command_1.CLICommand {
|
|
|
8
8
|
super(...arguments);
|
|
9
9
|
this.name = 'add';
|
|
10
10
|
this.description = 'Tramvai package install command';
|
|
11
|
-
this.command = 'add <
|
|
11
|
+
this.command = 'add <packageNames...>';
|
|
12
12
|
this.options = [
|
|
13
13
|
{
|
|
14
14
|
name: '-D, --dev',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/add/command.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,mEAAuD;AAGvD,MAAM,UAAW,SAAQ,oBAAU;IAAnC;;QACE,SAAI,GAAG,KAAK,CAAC;QAEb,gBAAW,GAAG,iCAAiC,CAAC;QAEhD,YAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/add/command.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,mEAAuD;AAGvD,MAAM,UAAW,SAAQ,oBAAU;IAAnC;;QACE,SAAI,GAAG,KAAK,CAAC;QAEb,gBAAW,GAAG,iCAAiC,CAAC;QAEhD,YAAO,GAAG,uBAAuB,CAAC;QAElC,YAAO,GAAG;YACR;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,iCAAiC;aAC/C;SACF,CAAC;QAEF,UAAK,GAAG,EAAE,CAAC;QAEX,eAAU,GAAG,CAAC,oCAAY,CAAC,CAAC;IAM9B,CAAC;IAJO,MAAM,CAAC,UAAkB;;YAC7B,uCAAuC;YACvC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;KAAA;CACF;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitChunks.d.ts","sourceRoot":"","sources":["../../../../../../../src/library/webpack/application/client/prod/optimization/splitChunks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAKhG,eAAO,MAAM,sBAAsB,YAAa,MAAM,kBAAkB,MAAM,EAAE,aAqD/E,CAAC;
|
|
1
|
+
{"version":3,"file":"splitChunks.d.ts","sourceRoot":"","sources":["../../../../../../../src/library/webpack/application/client/prod/optimization/splitChunks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAKhG,eAAO,MAAM,sBAAsB,YAAa,MAAM,kBAAkB,MAAM,EAAE,aAqD/E,CAAC;AA+CF,eAAO,MAAM,iBAAiB,kBACZ,cAAc,sBAAsB,CAAC,cAAc,MAAM,WA2HxE,CAAC"}
|
|
@@ -54,6 +54,39 @@ const resolveFrameworksPaths = (rootDir, frameworksList) => {
|
|
|
54
54
|
return topLevelFrameworkPaths;
|
|
55
55
|
};
|
|
56
56
|
exports.resolveFrameworksPaths = resolveFrameworksPaths;
|
|
57
|
+
const tramvaiScopes = ['@tramvai/', '@tramvai-tinkoff/'];
|
|
58
|
+
const tinkoffPackages = [
|
|
59
|
+
'@tinkoff/router',
|
|
60
|
+
'@tinkoff/logger',
|
|
61
|
+
'@tinkoff/dippy',
|
|
62
|
+
'@tinkoff/user-agent',
|
|
63
|
+
'@tinkoff/module-loader-client',
|
|
64
|
+
'@tinkoff/meta-tags-generate',
|
|
65
|
+
'@tinkoff/browser-cookies',
|
|
66
|
+
'@tinkoff/errors',
|
|
67
|
+
'@tinkoff/layout-factory',
|
|
68
|
+
'@tinkoff/url',
|
|
69
|
+
'@tinkoff/roles',
|
|
70
|
+
'@tinkoff/hook-runner',
|
|
71
|
+
'@tinkoff/pubsub',
|
|
72
|
+
'@tinkoff/browser-timings',
|
|
73
|
+
];
|
|
74
|
+
const tinkoffPackagesSet = new Set(tinkoffPackages);
|
|
75
|
+
function isTramvaiPackage(packageName) {
|
|
76
|
+
if (!packageName)
|
|
77
|
+
return false;
|
|
78
|
+
return (tramvaiScopes.some((scope) => packageName.startsWith(scope)) ||
|
|
79
|
+
tinkoffPackagesSet.has(packageName));
|
|
80
|
+
}
|
|
81
|
+
function normalizePath(packagePath) {
|
|
82
|
+
return packagePath.endsWith('/') ? packagePath : `${packagePath}/`;
|
|
83
|
+
}
|
|
84
|
+
const tramvaiPackagesPaths = [...tramvaiScopes, ...tinkoffPackages].map((packageName) => normalizePath(`/node_modules/${packageName}`));
|
|
85
|
+
function isTramvaiResource(resource) {
|
|
86
|
+
if (!resource)
|
|
87
|
+
return false;
|
|
88
|
+
return tramvaiPackagesPaths.some((tramvaiPackagePath) => resource.includes(tramvaiPackagePath));
|
|
89
|
+
}
|
|
57
90
|
// eslint-disable-next-line max-statements
|
|
58
91
|
const splitChunksConfig = (configManager) => (config) => {
|
|
59
92
|
const { rootDir, splitChunks, env } = configManager;
|
|
@@ -64,7 +97,8 @@ const splitChunksConfig = (configManager) => (config) => {
|
|
|
64
97
|
// This regex ignores nested copies of framework libraries so they're bundled with their issuer.
|
|
65
98
|
// test: /(?<!node_modules.*)[\\/]node_modules[\\/](react|react-dom|scheduler|prop-types|use-subscription)[\\/]/,
|
|
66
99
|
test(module) {
|
|
67
|
-
|
|
100
|
+
var _a;
|
|
101
|
+
const resource = (_a = module.nameForCondition) === null || _a === void 0 ? void 0 : _a.call(module);
|
|
68
102
|
if (!resource) {
|
|
69
103
|
return false;
|
|
70
104
|
}
|
|
@@ -75,6 +109,21 @@ const splitChunksConfig = (configManager) => (config) => {
|
|
|
75
109
|
// Don't let webpack eliminate this chunk (prevents this chunk from becoming a part of the commons chunk)
|
|
76
110
|
enforce: true,
|
|
77
111
|
};
|
|
112
|
+
const tramvaiCacheGroup = splitChunks.frameworkChunk
|
|
113
|
+
? {
|
|
114
|
+
chunks: 'initial',
|
|
115
|
+
name: 'tramvai',
|
|
116
|
+
test(module) {
|
|
117
|
+
var _a, _b, _c;
|
|
118
|
+
const resource = (_a = module.nameForCondition) === null || _a === void 0 ? void 0 : _a.call(module);
|
|
119
|
+
const packageName = (_c = (_b = module.resourceResolveData) === null || _b === void 0 ? void 0 : _b.descriptionFileData) === null || _c === void 0 ? void 0 : _c.name;
|
|
120
|
+
return isTramvaiPackage(packageName) || isTramvaiResource(resource);
|
|
121
|
+
},
|
|
122
|
+
priority: 35,
|
|
123
|
+
// Don't let webpack eliminate this chunk (prevents this chunk from becoming a part of the commons chunk)
|
|
124
|
+
enforce: true,
|
|
125
|
+
}
|
|
126
|
+
: false;
|
|
78
127
|
let webpackSplitChunks = false;
|
|
79
128
|
switch (splitChunks.mode) {
|
|
80
129
|
case 'granularChunks': {
|
|
@@ -107,6 +156,7 @@ const splitChunksConfig = (configManager) => (config) => {
|
|
|
107
156
|
default: false,
|
|
108
157
|
defaultVendors: false,
|
|
109
158
|
reactCacheGroup,
|
|
159
|
+
tramvaiCacheGroup,
|
|
110
160
|
shared,
|
|
111
161
|
},
|
|
112
162
|
};
|
|
@@ -118,6 +168,7 @@ const splitChunksConfig = (configManager) => (config) => {
|
|
|
118
168
|
default: false,
|
|
119
169
|
defaultVendors: false,
|
|
120
170
|
reactCacheGroup,
|
|
171
|
+
tramvaiCacheGroup,
|
|
121
172
|
commons: {
|
|
122
173
|
name: 'common-chunk',
|
|
123
174
|
minChunks: splitChunks.commonChunkSplitNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitChunks.js","sourceRoot":"","sources":["../../../../../../../src/library/webpack/application/client/prod/optimization/splitChunks.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAGxB,4DAA4B;AAC5B,8DAA8B;AAO9B,qJAAqJ;AAC9I,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,cAAwB,EAAE,EAAE;IAClF,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAC5C,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnD,iDAAiD;IACjD,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,YAAoB,EAAE,EAAE;QACnE,IAAI;YACF,IAAI,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBAC7C,OAAO;aACR;YAED,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE1C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,WAAW,eAAe,EAAE;gBACrE,KAAK,EAAE,CAAC,YAAY,CAAC;aACtB,CAAC,CAAC;YACH,MAAM,+BAA+B,GAAG,iBAAO,CAAC,IAAI,CAAC,GAAG,WAAW,eAAe,EAAE;gBAClF,OAAO,EAAE,YAAY;gBACrB,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,6FAA6F;YAC7F,0EAA0E;YAC1E,eAAe;YACf,0EAA0E;YAC1E,2EAA2E;YAC3E,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACpD,wHAAwH;YACxH,MAAM,yBAAyB,GAAG,cAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAEpF,yFAAyF;YACzF,IAAI,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO;YACvD,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,gFAAgF;YAChF,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gBAC/D,sBAAsB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;aACxD;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YAEjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC5C,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACjC;SACF;QAAC,OAAO,CAAC,EAAE;YACV,uDAAuD;SACxD;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE;QACxC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACtC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AArDW,QAAA,sBAAsB,0BAqDjC;AAEF,0CAA0C;AACnC,MAAM,iBAAiB,GAC5B,CAAC,aAAoD,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAEpD,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAEvF,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"splitChunks.js","sourceRoot":"","sources":["../../../../../../../src/library/webpack/application/client/prod/optimization/splitChunks.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,6 +116,11 @@
|
|
|
116
116
|
"granularChunks"
|
|
117
117
|
]
|
|
118
118
|
},
|
|
119
|
+
"frameworkChunk": {
|
|
120
|
+
"title": "Move tramvai packages into a separate chunk",
|
|
121
|
+
"default": false,
|
|
122
|
+
"type": "boolean"
|
|
123
|
+
},
|
|
119
124
|
"granularChunksSplitNumber": {
|
|
120
125
|
"title": "Move module to shared chunk if used at least as many times in other chunks",
|
|
121
126
|
"default": 2,
|
|
@@ -1188,23 +1193,23 @@
|
|
|
1188
1193
|
"dotAll": {
|
|
1189
1194
|
"type": "boolean"
|
|
1190
1195
|
},
|
|
1191
|
-
"__@match@
|
|
1196
|
+
"__@match@7836": {
|
|
1192
1197
|
"type": "object",
|
|
1193
1198
|
"additionalProperties": false
|
|
1194
1199
|
},
|
|
1195
|
-
"__@replace@
|
|
1200
|
+
"__@replace@7838": {
|
|
1196
1201
|
"type": "object",
|
|
1197
1202
|
"additionalProperties": false
|
|
1198
1203
|
},
|
|
1199
|
-
"__@search@
|
|
1204
|
+
"__@search@7841": {
|
|
1200
1205
|
"type": "object",
|
|
1201
1206
|
"additionalProperties": false
|
|
1202
1207
|
},
|
|
1203
|
-
"__@split@
|
|
1208
|
+
"__@split@7843": {
|
|
1204
1209
|
"type": "object",
|
|
1205
1210
|
"additionalProperties": false
|
|
1206
1211
|
},
|
|
1207
|
-
"__@matchAll@
|
|
1212
|
+
"__@matchAll@7845": {
|
|
1208
1213
|
"type": "object",
|
|
1209
1214
|
"additionalProperties": false
|
|
1210
1215
|
}
|
|
@@ -1901,23 +1906,23 @@
|
|
|
1901
1906
|
"dotAll": {
|
|
1902
1907
|
"type": "boolean"
|
|
1903
1908
|
},
|
|
1904
|
-
"__@match@
|
|
1909
|
+
"__@match@7836": {
|
|
1905
1910
|
"type": "object",
|
|
1906
1911
|
"additionalProperties": false
|
|
1907
1912
|
},
|
|
1908
|
-
"__@replace@
|
|
1913
|
+
"__@replace@7838": {
|
|
1909
1914
|
"type": "object",
|
|
1910
1915
|
"additionalProperties": false
|
|
1911
1916
|
},
|
|
1912
|
-
"__@search@
|
|
1917
|
+
"__@search@7841": {
|
|
1913
1918
|
"type": "object",
|
|
1914
1919
|
"additionalProperties": false
|
|
1915
1920
|
},
|
|
1916
|
-
"__@split@
|
|
1921
|
+
"__@split@7843": {
|
|
1917
1922
|
"type": "object",
|
|
1918
1923
|
"additionalProperties": false
|
|
1919
1924
|
},
|
|
1920
|
-
"__@matchAll@
|
|
1925
|
+
"__@matchAll@7845": {
|
|
1921
1926
|
"type": "object",
|
|
1922
1927
|
"additionalProperties": false
|
|
1923
1928
|
}
|
|
@@ -2614,23 +2619,23 @@
|
|
|
2614
2619
|
"dotAll": {
|
|
2615
2620
|
"type": "boolean"
|
|
2616
2621
|
},
|
|
2617
|
-
"__@match@
|
|
2622
|
+
"__@match@7836": {
|
|
2618
2623
|
"type": "object",
|
|
2619
2624
|
"additionalProperties": false
|
|
2620
2625
|
},
|
|
2621
|
-
"__@replace@
|
|
2626
|
+
"__@replace@7838": {
|
|
2622
2627
|
"type": "object",
|
|
2623
2628
|
"additionalProperties": false
|
|
2624
2629
|
},
|
|
2625
|
-
"__@search@
|
|
2630
|
+
"__@search@7841": {
|
|
2626
2631
|
"type": "object",
|
|
2627
2632
|
"additionalProperties": false
|
|
2628
2633
|
},
|
|
2629
|
-
"__@split@
|
|
2634
|
+
"__@split@7843": {
|
|
2630
2635
|
"type": "object",
|
|
2631
2636
|
"additionalProperties": false
|
|
2632
2637
|
},
|
|
2633
|
-
"__@matchAll@
|
|
2638
|
+
"__@matchAll@7845": {
|
|
2634
2639
|
"type": "object",
|
|
2635
2640
|
"additionalProperties": false
|
|
2636
2641
|
}
|
|
@@ -181,6 +181,11 @@ export interface ApplicationConfigEntry extends CliConfigEntry {
|
|
|
181
181
|
* @default "granularChunks"
|
|
182
182
|
*/
|
|
183
183
|
mode: 'granularChunks' | 'commonChunk' | false;
|
|
184
|
+
/**
|
|
185
|
+
* @title Move tramvai packages into a separate chunk
|
|
186
|
+
* @default false
|
|
187
|
+
*/
|
|
188
|
+
frameworkChunk: boolean;
|
|
184
189
|
/**
|
|
185
190
|
* @title Move module to shared chunk if used at least as many times in other chunks
|
|
186
191
|
* @default 2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/typings/configEntry/application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/typings/configEntry/application.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/npmRequire.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npmRequire.js","sourceRoot":"","sources":["../../src/utils/npmRequire.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AACpB,wDAAwB;AACxB,sDAAsB;AAGtB,SAAe,qBAAqB,CAAC,EACnC,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,GAAG,2BAA2B,EACzC,QAAQ,EACR,MAAM,GAQP;;QACC,IAAI,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE;YACtD,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC;YAClB,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI;YACF,MAAM,cAAc,CAAC,OAAO,CAAC;gBAC3B,
|
|
1
|
+
{"version":3,"file":"npmRequire.js","sourceRoot":"","sources":["../../src/utils/npmRequire.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "4.41.
|
|
3
|
+
"version": "4.41.79",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -68,16 +68,16 @@
|
|
|
68
68
|
"@tinkoff/is-modern-lib": "4.0.3",
|
|
69
69
|
"@tinkoff/logger": "0.10.285",
|
|
70
70
|
"@tinkoff/minicss-class-generator": "0.4.3",
|
|
71
|
-
"@tinkoff/package-manager-wrapper": "0.3.
|
|
71
|
+
"@tinkoff/package-manager-wrapper": "0.3.4",
|
|
72
72
|
"@tinkoff/request-core": "^0.10.0",
|
|
73
73
|
"@tinkoff/request-plugin-protocol-http": "^0.12.1",
|
|
74
74
|
"@tinkoff/request-plugin-retry": "^0.3.0",
|
|
75
75
|
"@tinkoff/utils": "^2.1.3",
|
|
76
76
|
"@tinkoff/webpack-dedupe-plugin": "3.0.3",
|
|
77
77
|
"@tramvai/build": "5.0.7",
|
|
78
|
-
"@tramvai/react": "4.41.
|
|
78
|
+
"@tramvai/react": "4.41.79",
|
|
79
79
|
"@tramvai/tools-check-versions": "0.6.13",
|
|
80
|
-
"@tramvai/tools-migrate": "0.8.
|
|
80
|
+
"@tramvai/tools-migrate": "0.8.14",
|
|
81
81
|
"ajv": "^8.12.0",
|
|
82
82
|
"ansi-escapes": "^4.3.2",
|
|
83
83
|
"autoprefixer": "^10.4.8",
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"browserslist": "^4.21.3",
|
|
90
90
|
"case-sensitive-paths-webpack-plugin": "^2.4.0",
|
|
91
91
|
"chalk": "^4.1.2",
|
|
92
|
+
"chokidar": "^3.6.0",
|
|
92
93
|
"commander": "^6.2.1",
|
|
93
94
|
"compression": "^1.7.4",
|
|
94
95
|
"core-js": "^3.0.0",
|
package/schema.json
CHANGED
|
@@ -138,6 +138,11 @@
|
|
|
138
138
|
"granularChunks"
|
|
139
139
|
]
|
|
140
140
|
},
|
|
141
|
+
"frameworkChunk": {
|
|
142
|
+
"title": "Move tramvai packages into a separate chunk",
|
|
143
|
+
"default": false,
|
|
144
|
+
"type": "boolean"
|
|
145
|
+
},
|
|
141
146
|
"granularChunksSplitNumber": {
|
|
142
147
|
"title": "Move module to shared chunk if used at least as many times in other chunks",
|
|
143
148
|
"default": 2,
|
|
@@ -1210,23 +1215,23 @@
|
|
|
1210
1215
|
"dotAll": {
|
|
1211
1216
|
"type": "boolean"
|
|
1212
1217
|
},
|
|
1213
|
-
"__@match@
|
|
1218
|
+
"__@match@7836": {
|
|
1214
1219
|
"type": "object",
|
|
1215
1220
|
"additionalProperties": false
|
|
1216
1221
|
},
|
|
1217
|
-
"__@replace@
|
|
1222
|
+
"__@replace@7838": {
|
|
1218
1223
|
"type": "object",
|
|
1219
1224
|
"additionalProperties": false
|
|
1220
1225
|
},
|
|
1221
|
-
"__@search@
|
|
1226
|
+
"__@search@7841": {
|
|
1222
1227
|
"type": "object",
|
|
1223
1228
|
"additionalProperties": false
|
|
1224
1229
|
},
|
|
1225
|
-
"__@split@
|
|
1230
|
+
"__@split@7843": {
|
|
1226
1231
|
"type": "object",
|
|
1227
1232
|
"additionalProperties": false
|
|
1228
1233
|
},
|
|
1229
|
-
"__@matchAll@
|
|
1234
|
+
"__@matchAll@7845": {
|
|
1230
1235
|
"type": "object",
|
|
1231
1236
|
"additionalProperties": false
|
|
1232
1237
|
}
|
|
@@ -1932,23 +1937,23 @@
|
|
|
1932
1937
|
"dotAll": {
|
|
1933
1938
|
"type": "boolean"
|
|
1934
1939
|
},
|
|
1935
|
-
"__@match@
|
|
1940
|
+
"__@match@7836": {
|
|
1936
1941
|
"type": "object",
|
|
1937
1942
|
"additionalProperties": false
|
|
1938
1943
|
},
|
|
1939
|
-
"__@replace@
|
|
1944
|
+
"__@replace@7838": {
|
|
1940
1945
|
"type": "object",
|
|
1941
1946
|
"additionalProperties": false
|
|
1942
1947
|
},
|
|
1943
|
-
"__@search@
|
|
1948
|
+
"__@search@7841": {
|
|
1944
1949
|
"type": "object",
|
|
1945
1950
|
"additionalProperties": false
|
|
1946
1951
|
},
|
|
1947
|
-
"__@split@
|
|
1952
|
+
"__@split@7843": {
|
|
1948
1953
|
"type": "object",
|
|
1949
1954
|
"additionalProperties": false
|
|
1950
1955
|
},
|
|
1951
|
-
"__@matchAll@
|
|
1956
|
+
"__@matchAll@7845": {
|
|
1952
1957
|
"type": "object",
|
|
1953
1958
|
"additionalProperties": false
|
|
1954
1959
|
}
|
|
@@ -2654,23 +2659,23 @@
|
|
|
2654
2659
|
"dotAll": {
|
|
2655
2660
|
"type": "boolean"
|
|
2656
2661
|
},
|
|
2657
|
-
"__@match@
|
|
2662
|
+
"__@match@7836": {
|
|
2658
2663
|
"type": "object",
|
|
2659
2664
|
"additionalProperties": false
|
|
2660
2665
|
},
|
|
2661
|
-
"__@replace@
|
|
2666
|
+
"__@replace@7838": {
|
|
2662
2667
|
"type": "object",
|
|
2663
2668
|
"additionalProperties": false
|
|
2664
2669
|
},
|
|
2665
|
-
"__@search@
|
|
2670
|
+
"__@search@7841": {
|
|
2666
2671
|
"type": "object",
|
|
2667
2672
|
"additionalProperties": false
|
|
2668
2673
|
},
|
|
2669
|
-
"__@split@
|
|
2674
|
+
"__@split@7843": {
|
|
2670
2675
|
"type": "object",
|
|
2671
2676
|
"additionalProperties": false
|
|
2672
2677
|
},
|
|
2673
|
-
"__@matchAll@
|
|
2678
|
+
"__@matchAll@7845": {
|
|
2674
2679
|
"type": "object",
|
|
2675
2680
|
"additionalProperties": false
|
|
2676
2681
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import noop from '@tinkoff/utils/function/noop';
|
|
2
2
|
import eachObj from '@tinkoff/utils/object/each';
|
|
3
|
+
import chokidar from 'chokidar';
|
|
4
|
+
import chalk from 'chalk';
|
|
3
5
|
import path from 'path';
|
|
4
6
|
import type webpack from 'webpack';
|
|
5
7
|
import type Config from 'webpack-chain';
|
|
@@ -72,6 +74,7 @@ export const serverRunner = ({
|
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
const fs = serverCompiler.outputFileSystem as any;
|
|
77
|
+
|
|
75
78
|
// ThreadWorkerPool is experimental
|
|
76
79
|
// it doesn't work well when running integration tests in tramvai repo
|
|
77
80
|
// mostly because of the some problems with `babel-plugin-lodash`
|
|
@@ -85,6 +88,7 @@ export const serverRunner = ({
|
|
|
85
88
|
? ThreadWorkerBridge
|
|
86
89
|
: ProcessWorkerBridge
|
|
87
90
|
);
|
|
91
|
+
|
|
88
92
|
let worker: Worker | null;
|
|
89
93
|
let serverInvalidated = true;
|
|
90
94
|
let workerPort: number | null;
|
|
@@ -260,14 +264,14 @@ export const serverRunner = ({
|
|
|
260
264
|
}
|
|
261
265
|
});
|
|
262
266
|
|
|
263
|
-
|
|
267
|
+
async function runWorker(stats?: any) {
|
|
264
268
|
if (serverInvalidated) {
|
|
265
269
|
workerPort = null;
|
|
266
270
|
workerPortPromise = null;
|
|
267
271
|
|
|
268
272
|
serverInvalidated = false;
|
|
269
273
|
|
|
270
|
-
if (stats
|
|
274
|
+
if (stats?.hasErrors()) {
|
|
271
275
|
// всплыли ошибки при сборке - просто игнорим калбек чтобы не падать ниже и дать возможность выполнить пересборку
|
|
272
276
|
return;
|
|
273
277
|
}
|
|
@@ -313,6 +317,38 @@ export const serverRunner = ({
|
|
|
313
317
|
|
|
314
318
|
await send(worker, 'script', { filename: realFilename, script });
|
|
315
319
|
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// отключаем watch за при выключенном rebuild
|
|
323
|
+
if (!configManager.noServerRebuild) {
|
|
324
|
+
const watchedFileName = 'env.development.js';
|
|
325
|
+
try {
|
|
326
|
+
const envPath = path.resolve(process.cwd(), watchedFileName);
|
|
327
|
+
const watchHandler = (_changedFilePath) => {
|
|
328
|
+
console.log(chalk.yellow(`${envPath} changed, restart server...`));
|
|
329
|
+
serverInvalidated = true;
|
|
330
|
+
runWorker();
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
const watcher = chokidar.watch(envPath);
|
|
334
|
+
watcher.on('change', watchHandler);
|
|
335
|
+
|
|
336
|
+
di.register({
|
|
337
|
+
provide: CLOSE_HANDLER_TOKEN,
|
|
338
|
+
multi: true,
|
|
339
|
+
useValue: () => {
|
|
340
|
+
watcher.close();
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
} catch (err) {
|
|
344
|
+
console.error(
|
|
345
|
+
`Something went wrong while watching for changes in ${watchedFileName}: ${err}`
|
|
346
|
+
);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
compiler.hooks.done.tap(HOOK_NAME, async (stats) => {
|
|
351
|
+
runWorker(stats);
|
|
316
352
|
});
|
|
317
353
|
};
|
|
318
354
|
};
|
package/src/commands/add/add.ts
CHANGED
|
@@ -5,11 +5,11 @@ import { findTramvaiVersion } from '../../utils/commands/dependencies/findTramva
|
|
|
5
5
|
import { checkVersions } from '../../utils/commands/dependencies/checkVersions';
|
|
6
6
|
|
|
7
7
|
export type Params = {
|
|
8
|
-
|
|
8
|
+
packageNames: string | string[];
|
|
9
9
|
dev?: boolean;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export default async (context: Context, {
|
|
12
|
+
export default async (context: Context, { packageNames, dev }: Params): Promise<CommandResult> => {
|
|
13
13
|
const version = await findTramvaiVersion();
|
|
14
14
|
|
|
15
15
|
if (!version) {
|
|
@@ -19,7 +19,7 @@ export default async (context: Context, { packageName, dev }: Params): Promise<C
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
await context.packageManager.install({
|
|
22
|
-
|
|
22
|
+
packageNames,
|
|
23
23
|
version,
|
|
24
24
|
devDependency: dev,
|
|
25
25
|
stdio: 'inherit',
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import latestVersion from 'latest-version';
|
|
2
2
|
import type { Params } from './add';
|
|
3
3
|
|
|
4
|
-
export const checkPackage = async (_, {
|
|
5
|
-
|
|
4
|
+
export const checkPackage = async (_, { packageNames }: Params) => {
|
|
5
|
+
if (Array.isArray(packageNames)) {
|
|
6
|
+
await Promise.all(packageNames.map((packageName) => latestVersion(packageName)));
|
|
7
|
+
} else {
|
|
8
|
+
await latestVersion(packageNames);
|
|
9
|
+
}
|
|
6
10
|
|
|
7
11
|
return {
|
|
8
12
|
name: 'checkPackage',
|
|
@@ -65,6 +65,50 @@ export const resolveFrameworksPaths = (rootDir: string, frameworksList: string[]
|
|
|
65
65
|
return topLevelFrameworkPaths;
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
+
const tramvaiScopes = ['@tramvai/', '@tramvai-tinkoff/'];
|
|
69
|
+
const tinkoffPackages = [
|
|
70
|
+
'@tinkoff/router',
|
|
71
|
+
'@tinkoff/logger',
|
|
72
|
+
'@tinkoff/dippy',
|
|
73
|
+
'@tinkoff/user-agent',
|
|
74
|
+
'@tinkoff/module-loader-client',
|
|
75
|
+
'@tinkoff/meta-tags-generate',
|
|
76
|
+
'@tinkoff/browser-cookies',
|
|
77
|
+
'@tinkoff/errors',
|
|
78
|
+
'@tinkoff/layout-factory',
|
|
79
|
+
'@tinkoff/url',
|
|
80
|
+
'@tinkoff/roles',
|
|
81
|
+
'@tinkoff/hook-runner',
|
|
82
|
+
'@tinkoff/pubsub',
|
|
83
|
+
'@tinkoff/browser-timings',
|
|
84
|
+
];
|
|
85
|
+
const tinkoffPackagesSet = new Set(tinkoffPackages);
|
|
86
|
+
|
|
87
|
+
function isTramvaiPackage(packageName: string | undefined) {
|
|
88
|
+
if (!packageName) return false;
|
|
89
|
+
|
|
90
|
+
return (
|
|
91
|
+
tramvaiScopes.some((scope) => packageName.startsWith(scope)) ||
|
|
92
|
+
tinkoffPackagesSet.has(packageName)
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function normalizePath(packagePath: string) {
|
|
97
|
+
return packagePath.endsWith('/') ? packagePath : `${packagePath}/`;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const tramvaiPackagesPaths = [...tramvaiScopes, ...tinkoffPackages].map((packageName) =>
|
|
101
|
+
normalizePath(`/node_modules/${packageName}`)
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
function isTramvaiResource(resource: string | undefined) {
|
|
105
|
+
if (!resource) return false;
|
|
106
|
+
|
|
107
|
+
return tramvaiPackagesPaths.some((tramvaiPackagePath) => resource.includes(tramvaiPackagePath));
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
type CacheGroup = Exclude<Required<SplitChunksOptions>, boolean>['cacheGroups'][string];
|
|
111
|
+
|
|
68
112
|
// eslint-disable-next-line max-statements
|
|
69
113
|
export const splitChunksConfig =
|
|
70
114
|
(configManager: ConfigManager<ApplicationConfigEntry>) => (config: Config) => {
|
|
@@ -72,13 +116,13 @@ export const splitChunksConfig =
|
|
|
72
116
|
|
|
73
117
|
const topLevelFrameworkPaths = resolveFrameworksPaths(rootDir, ['react', 'react-dom']);
|
|
74
118
|
|
|
75
|
-
const reactCacheGroup:
|
|
119
|
+
const reactCacheGroup: CacheGroup = {
|
|
76
120
|
chunks: 'all',
|
|
77
121
|
name: 'react',
|
|
78
122
|
// This regex ignores nested copies of framework libraries so they're bundled with their issuer.
|
|
79
123
|
// test: /(?<!node_modules.*)[\\/]node_modules[\\/](react|react-dom|scheduler|prop-types|use-subscription)[\\/]/,
|
|
80
124
|
test(module: webpack.Module) {
|
|
81
|
-
const resource = module.nameForCondition
|
|
125
|
+
const resource = module.nameForCondition?.();
|
|
82
126
|
|
|
83
127
|
if (!resource) {
|
|
84
128
|
return false;
|
|
@@ -93,6 +137,24 @@ export const splitChunksConfig =
|
|
|
93
137
|
// Don't let webpack eliminate this chunk (prevents this chunk from becoming a part of the commons chunk)
|
|
94
138
|
enforce: true,
|
|
95
139
|
};
|
|
140
|
+
|
|
141
|
+
const tramvaiCacheGroup: CacheGroup = splitChunks.frameworkChunk
|
|
142
|
+
? {
|
|
143
|
+
chunks: 'initial',
|
|
144
|
+
name: 'tramvai',
|
|
145
|
+
test(module: webpack.Module) {
|
|
146
|
+
const resource = module.nameForCondition?.();
|
|
147
|
+
const packageName = (module as webpack.NormalModule).resourceResolveData
|
|
148
|
+
?.descriptionFileData?.name as string | undefined;
|
|
149
|
+
|
|
150
|
+
return isTramvaiPackage(packageName) || isTramvaiResource(resource);
|
|
151
|
+
},
|
|
152
|
+
priority: 35,
|
|
153
|
+
// Don't let webpack eliminate this chunk (prevents this chunk from becoming a part of the commons chunk)
|
|
154
|
+
enforce: true,
|
|
155
|
+
}
|
|
156
|
+
: false;
|
|
157
|
+
|
|
96
158
|
let webpackSplitChunks: SplitChunksOptions = false;
|
|
97
159
|
|
|
98
160
|
switch (splitChunks.mode) {
|
|
@@ -130,6 +192,7 @@ export const splitChunksConfig =
|
|
|
130
192
|
default: false,
|
|
131
193
|
defaultVendors: false,
|
|
132
194
|
reactCacheGroup,
|
|
195
|
+
tramvaiCacheGroup,
|
|
133
196
|
shared,
|
|
134
197
|
},
|
|
135
198
|
};
|
|
@@ -141,6 +204,7 @@ export const splitChunksConfig =
|
|
|
141
204
|
default: false,
|
|
142
205
|
defaultVendors: false,
|
|
143
206
|
reactCacheGroup,
|
|
207
|
+
tramvaiCacheGroup,
|
|
144
208
|
commons: {
|
|
145
209
|
name: 'common-chunk',
|
|
146
210
|
minChunks: splitChunks.commonChunkSplitNumber,
|
|
@@ -115,6 +115,7 @@ it('should populate defaults for config', () => {
|
|
|
115
115
|
"sourceMap": false,
|
|
116
116
|
"splitChunks": {
|
|
117
117
|
"commonChunkSplitNumber": 3,
|
|
118
|
+
"frameworkChunk": false,
|
|
118
119
|
"granularChunksMinSize": 20000,
|
|
119
120
|
"granularChunksSplitNumber": 2,
|
|
120
121
|
"mode": "granularChunks",
|
|
@@ -363,6 +364,7 @@ it('should populate defaults for overridable options', () => {
|
|
|
363
364
|
"sourceMap": false,
|
|
364
365
|
"splitChunks": {
|
|
365
366
|
"commonChunkSplitNumber": 3,
|
|
367
|
+
"frameworkChunk": false,
|
|
366
368
|
"granularChunksMinSize": 20000,
|
|
367
369
|
"granularChunksSplitNumber": 2,
|
|
368
370
|
"mode": "granularChunks",
|
|
@@ -116,6 +116,11 @@
|
|
|
116
116
|
"granularChunks"
|
|
117
117
|
]
|
|
118
118
|
},
|
|
119
|
+
"frameworkChunk": {
|
|
120
|
+
"title": "Move tramvai packages into a separate chunk",
|
|
121
|
+
"default": false,
|
|
122
|
+
"type": "boolean"
|
|
123
|
+
},
|
|
119
124
|
"granularChunksSplitNumber": {
|
|
120
125
|
"title": "Move module to shared chunk if used at least as many times in other chunks",
|
|
121
126
|
"default": 2,
|
|
@@ -1188,23 +1193,23 @@
|
|
|
1188
1193
|
"dotAll": {
|
|
1189
1194
|
"type": "boolean"
|
|
1190
1195
|
},
|
|
1191
|
-
"__@match@
|
|
1196
|
+
"__@match@7836": {
|
|
1192
1197
|
"type": "object",
|
|
1193
1198
|
"additionalProperties": false
|
|
1194
1199
|
},
|
|
1195
|
-
"__@replace@
|
|
1200
|
+
"__@replace@7838": {
|
|
1196
1201
|
"type": "object",
|
|
1197
1202
|
"additionalProperties": false
|
|
1198
1203
|
},
|
|
1199
|
-
"__@search@
|
|
1204
|
+
"__@search@7841": {
|
|
1200
1205
|
"type": "object",
|
|
1201
1206
|
"additionalProperties": false
|
|
1202
1207
|
},
|
|
1203
|
-
"__@split@
|
|
1208
|
+
"__@split@7843": {
|
|
1204
1209
|
"type": "object",
|
|
1205
1210
|
"additionalProperties": false
|
|
1206
1211
|
},
|
|
1207
|
-
"__@matchAll@
|
|
1212
|
+
"__@matchAll@7845": {
|
|
1208
1213
|
"type": "object",
|
|
1209
1214
|
"additionalProperties": false
|
|
1210
1215
|
}
|
|
@@ -1901,23 +1906,23 @@
|
|
|
1901
1906
|
"dotAll": {
|
|
1902
1907
|
"type": "boolean"
|
|
1903
1908
|
},
|
|
1904
|
-
"__@match@
|
|
1909
|
+
"__@match@7836": {
|
|
1905
1910
|
"type": "object",
|
|
1906
1911
|
"additionalProperties": false
|
|
1907
1912
|
},
|
|
1908
|
-
"__@replace@
|
|
1913
|
+
"__@replace@7838": {
|
|
1909
1914
|
"type": "object",
|
|
1910
1915
|
"additionalProperties": false
|
|
1911
1916
|
},
|
|
1912
|
-
"__@search@
|
|
1917
|
+
"__@search@7841": {
|
|
1913
1918
|
"type": "object",
|
|
1914
1919
|
"additionalProperties": false
|
|
1915
1920
|
},
|
|
1916
|
-
"__@split@
|
|
1921
|
+
"__@split@7843": {
|
|
1917
1922
|
"type": "object",
|
|
1918
1923
|
"additionalProperties": false
|
|
1919
1924
|
},
|
|
1920
|
-
"__@matchAll@
|
|
1925
|
+
"__@matchAll@7845": {
|
|
1921
1926
|
"type": "object",
|
|
1922
1927
|
"additionalProperties": false
|
|
1923
1928
|
}
|
|
@@ -2614,23 +2619,23 @@
|
|
|
2614
2619
|
"dotAll": {
|
|
2615
2620
|
"type": "boolean"
|
|
2616
2621
|
},
|
|
2617
|
-
"__@match@
|
|
2622
|
+
"__@match@7836": {
|
|
2618
2623
|
"type": "object",
|
|
2619
2624
|
"additionalProperties": false
|
|
2620
2625
|
},
|
|
2621
|
-
"__@replace@
|
|
2626
|
+
"__@replace@7838": {
|
|
2622
2627
|
"type": "object",
|
|
2623
2628
|
"additionalProperties": false
|
|
2624
2629
|
},
|
|
2625
|
-
"__@search@
|
|
2630
|
+
"__@search@7841": {
|
|
2626
2631
|
"type": "object",
|
|
2627
2632
|
"additionalProperties": false
|
|
2628
2633
|
},
|
|
2629
|
-
"__@split@
|
|
2634
|
+
"__@split@7843": {
|
|
2630
2635
|
"type": "object",
|
|
2631
2636
|
"additionalProperties": false
|
|
2632
2637
|
},
|
|
2633
|
-
"__@matchAll@
|
|
2638
|
+
"__@matchAll@7845": {
|
|
2634
2639
|
"type": "object",
|
|
2635
2640
|
"additionalProperties": false
|
|
2636
2641
|
}
|
|
@@ -144,6 +144,7 @@ describe('JSON schema для tramvai.json', () => {
|
|
|
144
144
|
"sourceMap": false,
|
|
145
145
|
"splitChunks": {
|
|
146
146
|
"commonChunkSplitNumber": 3,
|
|
147
|
+
"frameworkChunk": false,
|
|
147
148
|
"granularChunksMinSize": 20000,
|
|
148
149
|
"granularChunksSplitNumber": 2,
|
|
149
150
|
"mode": "granularChunks",
|
|
@@ -189,6 +189,11 @@ export interface ApplicationConfigEntry extends CliConfigEntry {
|
|
|
189
189
|
* @default "granularChunks"
|
|
190
190
|
*/
|
|
191
191
|
mode: 'granularChunks' | 'commonChunk' | false;
|
|
192
|
+
/**
|
|
193
|
+
* @title Move tramvai packages into a separate chunk
|
|
194
|
+
* @default false
|
|
195
|
+
*/
|
|
196
|
+
frameworkChunk: boolean;
|
|
192
197
|
/**
|
|
193
198
|
* @title Move module to shared chunk if used at least as many times in other chunks
|
|
194
199
|
* @default 2
|