@tramvai/cli 2.79.5 → 2.79.7

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.
@@ -125,5 +125,13 @@ Check available render modes in tramvai`,
125
125
  return !safeRequireResolve('@tramvai/module-page-render-mode');
126
126
  },
127
127
  },
128
+ {
129
+ text: `Optimize your child-app size by enabling shared dependencies`,
130
+ docLink: 'references/modules/child-app#module-federation-sharing-dependencies',
131
+ isApplicable(di) {
132
+ const { type, shared } = di.get(tokens_1.CONFIG_MANAGER_TOKEN);
133
+ return type === 'child-app' && shared.deps.length === 0;
134
+ },
135
+ },
128
136
  ];
129
137
  //# sourceMappingURL=tips.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tips.js","sourceRoot":"","sources":["../../../../../src/api/start/utils/tips/tips.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,uCAAsC;AACtC,qCAA8C;AAC9C,kDAA6D;AAE7D,0DAA4D;AAE5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEvC,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,OAAO,GAAG,gBAAgB,EAAE,EAAE;IACpE,IAAI;QACF,OAAO,IAAA,cAAW,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAEW,QAAA,IAAI,GAAiB;IAChC;QACE,IAAI,EAAE;kCACwB;QAC9B,OAAO,EAAE,gCAAgC;QACzC,YAAY,CAAC,EAAE;;YACb,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,6BAAoB,CAAC,CAAC;YAEnD,OAAO,CAAA,MAAA,MAAA,aAAa,CAAC,WAAW,0CAAE,aAAa,0CAAE,MAAM,MAAK,KAAK,CAAC;QACpE,CAAC;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,0BAA0B;QACnC,YAAY,CAAC,EAAE;YACb,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,6BAAoB,CAAC,CAAC;YAEnD,OAAO,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC;QACvC,CAAC;KACF;IACD;QACE,IAAI,EAAE,wDAAwD;QAC9D,OAAO,EAAE,yCAAyC;QAClD,YAAY,CAAC,EAAE;YACb,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,6BAAoB,CAAC,CAAC;YAEnD,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC;QACnD,CAAC;KACF;IACD;QACE,IAAI,EAAE;yDAC+C;QACrD,OAAO,EAAE,oCAAoC;QAC7C,YAAY,CAAC,EAAE;YACb,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,6BAAoB,CAAC,CAAC;YACnD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;YAExC,IAAI,CAAC,IAAA,wBAAa,EAAC,aAAa,CAAC,EAAE;gBACjC,OAAO,KAAK,CAAC;aACd;YAED,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;YAE1C,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAE/E,IAAI,CAAC,IAAA,qBAAU,EAAC,SAAS,CAAC,EAAE;gBAC1B,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF;IACD;QACE,IAAI,EAAE,4EAA4E;QAClF,OAAO,EAAE,gCAAgC;QACzC,YAAY;YACV,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;QACrD,CAAC;KACF;IACD;QACE,IAAI,EAAE,wDAAwD;QAC9D,OAAO,EAAE,gBAAgB;QACzB,YAAY;YACV,OAAO,CACL,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;gBACzC,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CACjD,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE;uDAC6C;QACnD,OAAO,EAAE,sBAAsB;QAC/B,YAAY;YACV,OAAO,IAAI,CAAC;QACd,CAAC;KACF;IACD;QACE,IAAI,EAAE,wDAAwD;QAC9D,OAAO,EAAE,4BAA4B;QACrC,YAAY;YACV,OAAO,IAAI,CAAC;QACd,CAAC;KACF;IACD;QACE,IAAI,EAAE;iDACuC;QAC7C,OAAO,EAAE,iDAAiD;QAC1D,YAAY,CAAC,EAAE;YACb,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,6BAAoB,CAAC,CAAC;YAEnD,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;QAC/B,CAAC;KACF;IACD;QACE,IAAI,EAAE;yCAC+B;QACrC,OAAO,EAAE,kBAAkB;QAC3B,YAAY,CAAC,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,6BAAoB,CAAC,CAAC;YACjD,IAAI,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEtD,IAAI,CAAC,IAAA,qBAAU,EAAC,YAAY,CAAC,EAAE;gBAC7B,YAAY,GAAG,OAAO,CAAC;aACxB;YAED,OAAO,CACL,kBAAkB,CAAC,kBAAkB,EAAE,YAAY,CAAC;gBACpD,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAChD,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE;wCAC8B;QACpC,OAAO,EAAE,qCAAqC;QAC9C,YAAY,CAAC,EAAE;YACb,OAAO,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;QACjE,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"tips.js","sourceRoot":"","sources":["../../../../../src/api/start/utils/tips/tips.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const intersection_1 = tslib_1.__importDefault(require("@tinkoff/utils/array/int
7
7
  const path_1 = tslib_1.__importDefault(require("path"));
8
8
  const execa_1 = require("execa");
9
9
  const wait_on_1 = tslib_1.__importDefault(require("wait-on"));
10
+ const env_ci_1 = tslib_1.__importDefault(require("env-ci"));
10
11
  const configManager_1 = require("../../config/configManager");
11
12
  const request_1 = require("./request");
12
13
  const generate_1 = require("./generate");
@@ -15,12 +16,17 @@ const safeRequire_1 = require("../../utils/safeRequire");
15
16
  const index_1 = require("../index");
16
17
  const staticServer_1 = require("./staticServer");
17
18
  const server_1 = require("./server");
19
+ const handle_server_output_1 = require("./utils/handle-server-output");
18
20
  // eslint-disable-next-line max-statements
19
21
  const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
20
- var _a;
21
22
  const clientConfigManager = (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({ env: 'production' }, options), { buildType: 'client', modern: false }));
22
23
  const serverConfigManager = clientConfigManager.withSettings({ buildType: 'server' });
23
24
  if (options.buildType !== 'none') {
25
+ context.logger.event({
26
+ type: 'debug',
27
+ event: 'COMMAND:STATIC:BUILD',
28
+ message: `message: build step was started`,
29
+ });
24
30
  yield index_1.app.run('build', options);
25
31
  yield (0, copyStatsJsonFile_1.copyStatsJsonFileToServerDirectory)(clientConfigManager);
26
32
  }
@@ -28,11 +34,21 @@ const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, v
28
34
  context.logger.event({
29
35
  type: 'debug',
30
36
  event: 'COMMAND:STATIC:BUILD',
31
- message: `message: build step skipped`,
37
+ message: `message: build step was skipped`,
32
38
  });
33
39
  }
34
40
  const { name, host, port, staticPort, staticHost, output } = serverConfigManager;
35
41
  const root = serverConfigManager.buildPath;
42
+ const assetsPrefix = process.env.ASSETS_PREFIX;
43
+ if (!assetsPrefix) {
44
+ context.logger.event({
45
+ type: 'warning',
46
+ event: 'COMMAND:STATIC:BUILD',
47
+ message: 'message: ASSETS_PREFIX variable is not defined. It will cause ' +
48
+ 'of incorrect urls for static assets in your files. Also, some features, ' +
49
+ 'like a resources inlining will not work.',
50
+ });
51
+ }
36
52
  context.logger.event({
37
53
  type: 'debug',
38
54
  event: 'COMMAND:STATIC:SERVER_START',
@@ -40,8 +56,8 @@ const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, v
40
56
  });
41
57
  const server = (0, execa_1.node)(path_1.default.resolve(root, 'server.js'), [], {
42
58
  cwd: root,
43
- stdio: 'inherit',
44
- env: Object.assign(Object.assign(Object.assign(Object.assign({}, (0, safeRequire_1.safeRequire)(path_1.default.resolve(process.cwd(), 'env.development'), true)), (0, safeRequire_1.safeRequire)(path_1.default.resolve(process.cwd(), 'env'), true)), process.env), { NODE_ENV: 'production', PORT: `${port}`, PORT_SERVER: `${port}`, ASSETS_PREFIX: (_a = process.env.ASSETS_PREFIX) !== null && _a !== void 0 ? _a : `http://${staticHost}:${staticPort}/${output.client.replace(/\/$/, '')}/` }),
59
+ env: Object.assign(Object.assign(Object.assign({}, (process.env.DANGEROUS_UNSAFE_ENV_FILES === 'true' || !(0, env_ci_1.default)().isCi
60
+ ? Object.assign(Object.assign({}, (0, safeRequire_1.safeRequire)(path_1.default.resolve(process.cwd(), 'env.development'), true)), (0, safeRequire_1.safeRequire)(path_1.default.resolve(process.cwd(), 'env'), true)) : {})), process.env), { NODE_ENV: 'production', PORT: `${port}`, PORT_SERVER: `${port}`, ASSETS_PREFIX: assetsPrefix !== null && assetsPrefix !== void 0 ? assetsPrefix : `http://${staticHost}:${staticPort}/${output.client.replace(/\/$/, '')}/` }),
45
61
  });
46
62
  server.catch((reason) => {
47
63
  context.logger.event({
@@ -51,6 +67,12 @@ const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, v
51
67
  payload: reason,
52
68
  });
53
69
  });
70
+ server.stdout.on('data', (chunk) => {
71
+ if (server.killed) {
72
+ return;
73
+ }
74
+ (0, handle_server_output_1.handleServerOutput)(context.logger, chunk);
75
+ });
54
76
  const bundleInfoPath = `http://localhost:${port}/${name}/papi/bundleInfo`;
55
77
  yield Promise.race([
56
78
  server,
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/commands/static/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/commands/static/application.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
3
4
  const application_1 = require("./application");
4
- exports.default = (context, parameters) => {
5
+ exports.default = (context, parameters) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
5
6
  const { target } = parameters;
6
7
  const configEntry = context.config.getProject(target);
7
8
  if (configEntry.type === 'application') {
8
- return (0, application_1.staticApp)(context, configEntry, parameters);
9
+ const result = yield (0, application_1.staticApp)(context, configEntry, parameters);
10
+ context.logger.event({
11
+ type: 'success',
12
+ event: 'COMMAND:STATIC:SUCCESS',
13
+ message: result.message,
14
+ });
15
+ return result;
9
16
  }
10
17
  throw new Error(`Target '${configEntry.type}' not supported`);
11
- };
18
+ });
12
19
  //# sourceMappingURL=static.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../../src/commands/static/static.ts"],"names":[],"mappings":";;AACA,+CAA0C;AAI1C,kBAAe,CAAC,OAAgB,EAAE,UAAU,EAA0B,EAAE;IACtE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,EAAE;QACtC,OAAO,IAAA,uBAAS,EAAC,OAAO,EAAE,WAAqC,EAAE,UAAU,CAAC,CAAC;KAC9E;IAED,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,CAAC,IAAI,iBAAiB,CAAC,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../../src/commands/static/static.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAI1C,kBAAe,CAAO,OAAgB,EAAE,UAAU,EAA0B,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAS,EAAC,OAAO,EAAE,WAAqC,EAAE,UAAU,CAAC,CAAC;QAE3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;KACf;IAED,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,CAAC,IAAI,iBAAiB,CAAC,CAAC;AAChE,CAAC,CAAA,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Logger } from '../../../models/logger';
2
+ export declare const handleServerOutput: (logger: Logger, chunk: Buffer) => void;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleServerOutput = void 0;
4
+ const handleServerOutput = (logger, chunk) => {
5
+ const data = chunk.toString('utf-8');
6
+ let type = 'info';
7
+ let message = data;
8
+ let payload = data;
9
+ try {
10
+ const parsed = JSON.parse(data);
11
+ type = parsed.type;
12
+ if (parsed.message) {
13
+ message = parsed.message;
14
+ }
15
+ else {
16
+ payload = '';
17
+ }
18
+ }
19
+ catch (error) { }
20
+ logger.event({
21
+ event: 'COMMAND:STATIC:SERVER',
22
+ type,
23
+ message,
24
+ payload,
25
+ });
26
+ };
27
+ exports.handleServerOutput = handleServerOutput;
28
+ //# sourceMappingURL=handle-server-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-server-output.js","sourceRoot":"","sources":["../../../../src/commands/static/utils/handle-server-output.ts"],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,IAAI,GAAqB,MAAM,CAAC;IACpC,IAAI,OAAO,GAAwB,IAAI,CAAC;IACxC,IAAI,OAAO,GAAwB,IAAI,CAAC;IAExC,IAAI;QACF,MAAM,MAAM,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEnB,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;SAC1B;aAAM;YACL,OAAO,GAAG,EAAE,CAAC;SACd;KACF;IAAC,OAAO,KAAK,EAAE,GAAE;IAElB,MAAM,CAAC,KAAK,CAAC;QACX,KAAK,EAAE,uBAAuB;QAC9B,IAAI;QACJ,OAAO;QACP,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAxBW,QAAA,kBAAkB,sBAwB7B"}
@@ -1,5 +1,5 @@
1
- interface LogEvent {
2
- type: 'error' | 'warning' | 'info' | 'debug';
1
+ export interface LogEvent {
2
+ type: 'success' | 'error' | 'warning' | 'info' | 'debug';
3
3
  event: string;
4
4
  message: string;
5
5
  payload?: any;
@@ -7,4 +7,3 @@ interface LogEvent {
7
7
  export declare class Logger {
8
8
  event(event: LogEvent): void;
9
9
  }
10
- export {};
@@ -5,15 +5,18 @@ const tslib_1 = require("tslib");
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
6
  class Logger {
7
7
  event(event) {
8
- var _a, _b, _c;
9
- if (event.type === 'error') {
10
- console.error(chalk_1.default.red(event.type), chalk_1.default.bgRed(event.event), event.message, (_a = event.payload) !== null && _a !== void 0 ? _a : '');
8
+ var _a, _b, _c, _d;
9
+ if (event.type === 'success') {
10
+ console.log(chalk_1.default.bgGreen(event.type), chalk_1.default.green(event.event), event.message, (_a = event.payload) !== null && _a !== void 0 ? _a : '');
11
+ }
12
+ else if (event.type === 'error') {
13
+ console.error(chalk_1.default.bgRed(event.type), chalk_1.default.red(event.event), event.message, (_b = event.payload) !== null && _b !== void 0 ? _b : '');
11
14
  }
12
15
  else if (event.type === 'warning') {
13
- console.warn(chalk_1.default.yellow(event.type), chalk_1.default.bgYellow(event.event), event.message, (_b = event.payload) !== null && _b !== void 0 ? _b : '');
16
+ console.warn(chalk_1.default.bgYellow(event.type), chalk_1.default.yellow(event.event), event.message, (_c = event.payload) !== null && _c !== void 0 ? _c : '');
14
17
  }
15
18
  else if (event.type === 'info' || process.env.DEBUG_MODE === 'true') {
16
- console.log(chalk_1.default.magenta(event.type), chalk_1.default.bgMagenta(event.event), event.message, (_c = event.payload) !== null && _c !== void 0 ? _c : '');
19
+ console.log(chalk_1.default.bgMagenta(event.type), chalk_1.default.magenta(event.event), event.message, (_d = event.payload) !== null && _d !== void 0 ? _d : '');
17
20
  }
18
21
  }
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/models/logger.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAS1B,MAAa,MAAM;IACjB,KAAK,CAAC,KAAe;;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EACrB,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EACxB,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACnC,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EACxB,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAC3B,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE;YACrE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACzB,eAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAC5B,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;IACH,CAAC;CACF;AAzBD,wBAyBC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/models/logger.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAS1B,MAAa,MAAM;IACjB,KAAK,CAAC,KAAe;;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACzB,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EACxB,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EACvB,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EACtB,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACnC,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAC1B,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EACzB,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE;YACrE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;IACH,CAAC;CACF;AAhCD,wBAgCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "2.79.5",
3
+ "version": "2.79.7",
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.4",
73
73
  "@tramvai/build": "3.1.3",
74
- "@tramvai/react": "2.79.5",
74
+ "@tramvai/react": "2.79.7",
75
75
  "@tramvai/tools-check-versions": "0.4.10",
76
76
  "@tramvai/tools-migrate": "0.6.13",
77
77
  "ajv": "^6.12.6",
@@ -114,6 +114,7 @@
114
114
  "ini": "^3.0.1",
115
115
  "inquirer": "^7.3.3",
116
116
  "inquirer-autocomplete-prompt": "^1.4.0",
117
+ "env-ci": "^5.0.2",
117
118
  "inspectpack": "^4.7.1",
118
119
  "latest-version": "^5.0.0",
119
120
  "less": "^3.13.1",
@@ -139,4 +139,13 @@ Check available render modes in tramvai`,
139
139
  return !safeRequireResolve('@tramvai/module-page-render-mode');
140
140
  },
141
141
  },
142
+ {
143
+ text: `Optimize your child-app size by enabling shared dependencies`,
144
+ docLink: 'references/modules/child-app#module-federation-sharing-dependencies',
145
+ isApplicable(di) {
146
+ const { type, shared } = di.get(CONFIG_MANAGER_TOKEN);
147
+
148
+ return type === 'child-app' && shared.deps.length === 0;
149
+ },
150
+ },
142
151
  ];
@@ -4,22 +4,20 @@ import intersection from '@tinkoff/utils/array/intersection';
4
4
  import path from 'path';
5
5
  import { node } from 'execa';
6
6
  import waitOn from 'wait-on';
7
+ import envCi from 'env-ci';
7
8
  import type { Context } from '../../models/context';
8
- import webpackBuild from '../../utils/webpackBuild';
9
- import { webpackClientConfig } from '../../library/webpack/application/client/prod';
10
- import { webpackServerConfig } from '../../library/webpack/application/server/prod';
11
9
  import type { CommandResult } from '../../models/command';
12
10
  import type { ApplicationConfigEntry } from '../../typings/configEntry/application';
13
11
  import type { Params } from './command';
14
12
  import { createConfigManager } from '../../config/configManager';
15
13
  import { request } from './request';
16
14
  import { generateStatic } from './generate';
17
- import { toWebpackConfig } from '../../library/webpack/utils/toWebpackConfig';
18
15
  import { copyStatsJsonFileToServerDirectory } from '../../builder/webpack/utils/copyStatsJsonFile';
19
16
  import { safeRequire } from '../../utils/safeRequire';
20
17
  import { app } from '../index';
21
18
  import { startStaticServer } from './staticServer';
22
19
  import { startServer } from './server';
20
+ import { handleServerOutput } from './utils/handle-server-output';
23
21
 
24
22
  // eslint-disable-next-line max-statements
25
23
  export const staticApp = async (
@@ -36,18 +34,37 @@ export const staticApp = async (
36
34
  const serverConfigManager = clientConfigManager.withSettings({ buildType: 'server' });
37
35
 
38
36
  if (options.buildType !== 'none') {
37
+ context.logger.event({
38
+ type: 'debug',
39
+ event: 'COMMAND:STATIC:BUILD',
40
+ message: `message: build step was started`,
41
+ });
42
+
39
43
  await app.run('build', options);
44
+
40
45
  await copyStatsJsonFileToServerDirectory(clientConfigManager);
41
46
  } else {
42
47
  context.logger.event({
43
48
  type: 'debug',
44
49
  event: 'COMMAND:STATIC:BUILD',
45
- message: `message: build step skipped`,
50
+ message: `message: build step was skipped`,
46
51
  });
47
52
  }
48
53
 
49
54
  const { name, host, port, staticPort, staticHost, output } = serverConfigManager;
50
55
  const root = serverConfigManager.buildPath;
56
+ const assetsPrefix = process.env.ASSETS_PREFIX;
57
+
58
+ if (!assetsPrefix) {
59
+ context.logger.event({
60
+ type: 'warning',
61
+ event: 'COMMAND:STATIC:BUILD',
62
+ message:
63
+ 'message: ASSETS_PREFIX variable is not defined. It will cause ' +
64
+ 'of incorrect urls for static assets in your files. Also, some features, ' +
65
+ 'like a resources inlining will not work.',
66
+ });
67
+ }
51
68
 
52
69
  context.logger.event({
53
70
  type: 'debug',
@@ -57,17 +74,19 @@ export const staticApp = async (
57
74
 
58
75
  const server = node(path.resolve(root, 'server.js'), [], {
59
76
  cwd: root,
60
- stdio: 'inherit',
61
77
  env: {
62
- ...safeRequire(path.resolve(process.cwd(), 'env.development'), true),
63
- ...safeRequire(path.resolve(process.cwd(), 'env'), true),
78
+ ...(process.env.DANGEROUS_UNSAFE_ENV_FILES === 'true' || !envCi().isCi
79
+ ? {
80
+ ...safeRequire(path.resolve(process.cwd(), 'env.development'), true),
81
+ ...safeRequire(path.resolve(process.cwd(), 'env'), true),
82
+ }
83
+ : {}),
64
84
  ...process.env,
65
85
  NODE_ENV: 'production',
66
86
  PORT: `${port}`,
67
87
  PORT_SERVER: `${port}`,
68
88
  ASSETS_PREFIX:
69
- process.env.ASSETS_PREFIX ??
70
- `http://${staticHost}:${staticPort}/${output.client.replace(/\/$/, '')}/`,
89
+ assetsPrefix ?? `http://${staticHost}:${staticPort}/${output.client.replace(/\/$/, '')}/`,
71
90
  },
72
91
  });
73
92
 
@@ -79,6 +98,13 @@ export const staticApp = async (
79
98
  payload: reason,
80
99
  });
81
100
  });
101
+ server.stdout.on('data', (chunk: Buffer) => {
102
+ if (server.killed) {
103
+ return;
104
+ }
105
+
106
+ handleServerOutput(context.logger, chunk);
107
+ });
82
108
 
83
109
  const bundleInfoPath = `http://localhost:${port}/${name}/papi/bundleInfo`;
84
110
 
@@ -3,12 +3,20 @@ import { staticApp } from './application';
3
3
  import type { CommandResult } from '../../models/command';
4
4
  import type { ApplicationConfigEntry } from '../../typings/configEntry/application';
5
5
 
6
- export default (context: Context, parameters): Promise<CommandResult> => {
6
+ export default async (context: Context, parameters): Promise<CommandResult> => {
7
7
  const { target } = parameters;
8
8
  const configEntry = context.config.getProject(target);
9
9
 
10
10
  if (configEntry.type === 'application') {
11
- return staticApp(context, configEntry as ApplicationConfigEntry, parameters);
11
+ const result = await staticApp(context, configEntry as ApplicationConfigEntry, parameters);
12
+
13
+ context.logger.event({
14
+ type: 'success',
15
+ event: 'COMMAND:STATIC:SUCCESS',
16
+ message: result.message,
17
+ });
18
+
19
+ return result;
12
20
  }
13
21
 
14
22
  throw new Error(`Target '${configEntry.type}' not supported`);
@@ -0,0 +1,27 @@
1
+ import type { LogEvent, Logger } from '../../../models/logger';
2
+
3
+ export const handleServerOutput = (logger: Logger, chunk: Buffer) => {
4
+ const data = chunk.toString('utf-8');
5
+ let type: LogEvent['type'] = 'info';
6
+ let message: LogEvent['message'] = data;
7
+ let payload: LogEvent['payload'] = data;
8
+
9
+ try {
10
+ const parsed: LogEvent = JSON.parse(data);
11
+
12
+ type = parsed.type;
13
+
14
+ if (parsed.message) {
15
+ message = parsed.message;
16
+ } else {
17
+ payload = '';
18
+ }
19
+ } catch (error) {}
20
+
21
+ logger.event({
22
+ event: 'COMMAND:STATIC:SERVER',
23
+ type,
24
+ message,
25
+ payload,
26
+ });
27
+ };
@@ -1,7 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
 
3
- interface LogEvent {
4
- type: 'error' | 'warning' | 'info' | 'debug';
3
+ export interface LogEvent {
4
+ type: 'success' | 'error' | 'warning' | 'info' | 'debug';
5
5
  event: string; // уникальный идентификатор
6
6
  message: string;
7
7
  payload?: any;
@@ -9,24 +9,31 @@ interface LogEvent {
9
9
 
10
10
  export class Logger {
11
11
  event(event: LogEvent): void {
12
- if (event.type === 'error') {
12
+ if (event.type === 'success') {
13
+ console.log(
14
+ chalk.bgGreen(event.type),
15
+ chalk.green(event.event),
16
+ event.message,
17
+ event.payload ?? ''
18
+ );
19
+ } else if (event.type === 'error') {
13
20
  console.error(
14
- chalk.red(event.type),
15
- chalk.bgRed(event.event),
21
+ chalk.bgRed(event.type),
22
+ chalk.red(event.event),
16
23
  event.message,
17
24
  event.payload ?? ''
18
25
  );
19
26
  } else if (event.type === 'warning') {
20
27
  console.warn(
21
- chalk.yellow(event.type),
22
- chalk.bgYellow(event.event),
28
+ chalk.bgYellow(event.type),
29
+ chalk.yellow(event.event),
23
30
  event.message,
24
31
  event.payload ?? ''
25
32
  );
26
33
  } else if (event.type === 'info' || process.env.DEBUG_MODE === 'true') {
27
34
  console.log(
28
- chalk.magenta(event.type),
29
- chalk.bgMagenta(event.event),
35
+ chalk.bgMagenta(event.type),
36
+ chalk.magenta(event.event),
30
37
  event.message,
31
38
  event.payload ?? ''
32
39
  );