@tramvai/cli 2.93.0 → 2.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,10 +12,11 @@ const ProcessWorkerBridge = (di) => {
12
12
  const configManager = di.get(tokens_1.SERVER_CONFIG_MANAGER_TOKEN);
13
13
  const stdout = di.get(tokens_2.STDOUT_TOKEN);
14
14
  const stderr = di.get(tokens_2.STDERR_TOKEN);
15
+ let firstWorker = true;
15
16
  return {
16
17
  setup() {
17
18
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
- cluster_1.default.setupMaster({
19
+ cluster_1.default.setupPrimary({
19
20
  // указываем другой файл для работы cluster.fork
20
21
  exec: path_1.default.resolve(__dirname, './worker.js'),
21
22
  execArgv: [].concat(configManager.debug ? constants_1.DEBUG_ARGV : [], configManager.trace ? constants_1.TRACE_ARGV : []),
@@ -33,7 +34,8 @@ const ProcessWorkerBridge = (di) => {
33
34
  const worker = cluster_1.default.fork(Object.assign(Object.assign({}, env), { NODE_ENV: 'development',
34
35
  // port=0 позволяет запустить сервер на случайном доступном порту
35
36
  // https://nodejs.org/dist/latest-v15.x/docs/api/all.html#cluster_how_it_works
36
- PORT: `${configManager.port}`, PORT_SERVER: `${configManager.port}` }));
37
+ PORT: `${configManager.port}`, PORT_SERVER: `${configManager.port}`, TRAMVAI_CLI_WATCH_INITIAL_BUILD: firstWorker }));
38
+ firstWorker = false;
37
39
  (_a = worker.process.stdout) === null || _a === void 0 ? void 0 : _a.pipe(stdout);
38
40
  (_b = worker.process.stderr) === null || _b === void 0 ? void 0 : _b.pipe(stderr);
39
41
  return worker;
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../../../src/builder/webpack/devServer/pool/process/pool.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAExB,8DAA8B;AAE9B,+DAAyE;AACzE,4CAA8D;AAC9D,qDAKkC;AAE3B,MAAM,mBAAmB,GAAgC,CAAC,EAAE,EAAE,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,iCAAwB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,oCAA2B,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;IAEpC,OAAO;QACC,KAAK;;gBACT,iBAAO,CAAC,WAAW,CAAC;oBAClB,gDAAgD;oBAChD,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC;oBAC5C,QAAQ,EAAG,EAAe,CAAC,MAAM,CAC/B,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,EACrC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,CACtC;oBACD,uGAAuG;oBACvG,WAAW,EAAE,OAAO,CAAC,SAAS;oBAC9B,MAAM,EAAE,IAAI;oBACZ,aAAa;oBACb,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,8BAAqB,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;SAAA;QACK,MAAM;;;gBACV,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,iCACtB,GAAG,KACN,QAAQ,EAAE,aAAa;oBACvB,iEAAiE;oBACjE,8EAA8E;oBAC9E,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,EAC7B,WAAW,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,IACpC,CAAC;gBAEH,MAAA,MAAM,CAAC,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAA,MAAM,CAAC,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEpC,OAAO,MAAM,CAAC;;SACf;QACK,OAAO,CAAC,MAAM;;gBAClB,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;oBACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAChC;YACH,CAAC;SAAA;QACK,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO;;gBAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;oBAErC,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ;wBACR,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;qBACjC,CAAC,CAAC;iBACJ;YACH,CAAC;SAAA;KACF,CAAC;AACJ,CAAC,CAAC;AArDW,QAAA,mBAAmB,uBAqD9B"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../../../src/builder/webpack/devServer/pool/process/pool.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAExB,8DAA8B;AAE9B,+DAAyE;AACzE,4CAA8D;AAC9D,qDAKkC;AAE3B,MAAM,mBAAmB,GAAgC,CAAC,EAAE,EAAE,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,iCAAwB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,oCAA2B,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;IACpC,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,OAAO;QACC,KAAK;;gBACT,iBAAO,CAAC,YAAY,CAAC;oBACnB,gDAAgD;oBAChD,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC;oBAC5C,QAAQ,EAAG,EAAe,CAAC,MAAM,CAC/B,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,EACrC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,CACtC;oBACD,uGAAuG;oBACvG,WAAW,EAAE,OAAO,CAAC,SAAS;oBAC9B,MAAM,EAAE,IAAI;oBACZ,aAAa;oBACb,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,8BAAqB,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;SAAA;QACK,MAAM;;;gBACV,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,iCACtB,GAAG,KACN,QAAQ,EAAE,aAAa;oBACvB,iEAAiE;oBACjE,8EAA8E;oBAC9E,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,EAC7B,WAAW,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,EACpC,+BAA+B,EAAE,WAAW,IAC5C,CAAC;gBAEH,WAAW,GAAG,KAAK,CAAC;gBAEpB,MAAA,MAAM,CAAC,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAA,MAAM,CAAC,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEpC,OAAO,MAAM,CAAC;;SACf;QACK,OAAO,CAAC,MAAM;;gBAClB,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;oBACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAChC;YACH,CAAC;SAAA;QACK,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO;;gBAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;oBAErC,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ;wBACR,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;qBACjC,CAAC,CAAC;iBACJ;YACH,CAAC;SAAA;KACF,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,mBAAmB,uBAyD9B"}
@@ -10,6 +10,7 @@ const tokens_2 = require("../../../../../di/tokens");
10
10
  const ThreadWorkerBridge = (di) => {
11
11
  const { env } = di.get(tokens_2.COMMAND_PARAMETERS_TOKEN);
12
12
  const configManager = di.get(tokens_1.SERVER_CONFIG_MANAGER_TOKEN);
13
+ let firstWorker = true;
13
14
  return {
14
15
  setup() {
15
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () { });
@@ -32,8 +33,9 @@ const ThreadWorkerBridge = (di) => {
32
33
  env: Object.assign(Object.assign(Object.assign({}, process.env), env), { NODE_ENV: 'development',
33
34
  // port=0 позволяет запустить сервер на случайном доступном порту
34
35
  // https://nodejs.org/dist/latest-v15.x/docs/api/all.html#cluster_how_it_works
35
- PORT: `${configManager.port}`, PORT_SERVER: `${configManager.port}` }),
36
+ PORT: `${configManager.port}`, PORT_SERVER: `${configManager.port}`, TRAMVAI_CLI_WATCH_INITIAL_BUILD: firstWorker }),
36
37
  });
38
+ firstWorker = false;
37
39
  return worker;
38
40
  });
39
41
  },
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../../../src/builder/webpack/devServer/pool/thread/pool.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,mDAAwC;AAExC,+DAAyE;AACzE,4CAA8D;AAC9D,qDAA2F;AAEpF,MAAM,kBAAkB,GAAgC,CAAC,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,iCAAwB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,oCAA2B,CAAC,CAAC;IAE1D,OAAO;QACC,KAAK;0EAAI,CAAC;SAAA;QACV,MAAM;;gBACV,2GAA2G;gBAC3G,0FAA0F;gBAC1F,4CAA4C;gBAC5C,gBAAgB;gBAChB,qEAAqE;gBACrE,gDAAgD;gBAChD,sEAAsE;gBACtE,yDAAyD;gBACzD,6FAA6F;gBAC7F,oFAAoF;gBACpF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,8BAAqB,CAAC,CAAC,CAAC;gBAE7C,MAAM,MAAM,GAAG,IAAI,uBAAM,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE;oBAChE,QAAQ,EAAE,EAAE,CAAC,MAAM,CACjB,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,EACrC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,CACtC;oBACD,GAAG,gDACE,OAAO,CAAC,GAAG,GACX,GAAG,KACN,QAAQ,EAAE,aAAa;wBACvB,iEAAiE;wBACjE,8EAA8E;wBAC9E,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,EAC7B,WAAW,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,GACrC;iBACF,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;YAChB,CAAC;SAAA;QACK,OAAO,CAAC,MAAM;;gBAClB,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,CAAC;SAAA;QACK,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO;;gBAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;oBAErC,MAAM,CAAC,WAAW,CAChB;wBACE,QAAQ;wBACR,MAAM;qBACP,EACD,CAAC,MAAM,CAAC,MAAM,CAAC,CAChB,CAAC;iBACH;YACH,CAAC;SAAA;KACF,CAAC;AACJ,CAAC,CAAC;AAtDW,QAAA,kBAAkB,sBAsD7B"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../../../src/builder/webpack/devServer/pool/thread/pool.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,mDAAwC;AAExC,+DAAyE;AACzE,4CAA8D;AAC9D,qDAA2F;AAEpF,MAAM,kBAAkB,GAAgC,CAAC,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,iCAAwB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,oCAA2B,CAAC,CAAC;IAC1D,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,OAAO;QACC,KAAK;0EAAI,CAAC;SAAA;QACV,MAAM;;gBACV,2GAA2G;gBAC3G,0FAA0F;gBAC1F,4CAA4C;gBAC5C,gBAAgB;gBAChB,qEAAqE;gBACrE,gDAAgD;gBAChD,sEAAsE;gBACtE,yDAAyD;gBACzD,6FAA6F;gBAC7F,oFAAoF;gBACpF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,8BAAqB,CAAC,CAAC,CAAC;gBAE7C,MAAM,MAAM,GAAG,IAAI,uBAAM,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE;oBAChE,QAAQ,EAAE,EAAE,CAAC,MAAM,CACjB,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,EACrC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE,CACtC;oBACD,GAAG,gDACE,OAAO,CAAC,GAAG,GACX,GAAG,KACN,QAAQ,EAAE,aAAa;wBACvB,iEAAiE;wBACjE,8EAA8E;wBAC9E,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,EAC7B,WAAW,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,EACpC,+BAA+B,EAAE,WAAW,GAC7C;iBACF,CAAC,CAAC;gBAEH,WAAW,GAAG,KAAK,CAAC;gBAEpB,OAAO,MAAM,CAAC;YAChB,CAAC;SAAA;QACK,OAAO,CAAC,MAAM;;gBAClB,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,CAAC;SAAA;QACK,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO;;gBAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;oBAErC,MAAM,CAAC,WAAW,CAChB;wBACE,QAAQ;wBACR,MAAM;qBACP,EACD,CAAC,MAAM,CAAC,MAAM,CAAC,CAChB,CAAC;iBACH;YACH,CAAC;SAAA;KACF,CAAC;AACJ,CAAC,CAAC;AA1DW,QAAA,kBAAkB,sBA0D7B"}
@@ -2,14 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.staticApp = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const propOr_1 = tslib_1.__importDefault(require("@tinkoff/utils/object/propOr"));
6
5
  const intersection_1 = tslib_1.__importDefault(require("@tinkoff/utils/array/intersection"));
7
6
  const path_1 = tslib_1.__importDefault(require("path"));
8
7
  const execa_1 = require("execa");
9
8
  const wait_on_1 = tslib_1.__importDefault(require("wait-on"));
10
9
  const env_ci_1 = tslib_1.__importDefault(require("env-ci"));
11
10
  const configManager_1 = require("../../config/configManager");
12
- const request_1 = require("./request");
13
11
  const generate_1 = require("./generate");
14
12
  const copyStatsJsonFile_1 = require("../../builder/webpack/utils/copyStatsJsonFile");
15
13
  const safeRequire_1 = require("../../utils/safeRequire");
@@ -17,6 +15,7 @@ const index_1 = require("../index");
17
15
  const staticServer_1 = require("./staticServer");
18
16
  const server_1 = require("./server");
19
17
  const handle_server_output_1 = require("./utils/handle-server-output");
18
+ const request_1 = require("../../utils/dev-app/request");
20
19
  // eslint-disable-next-line max-statements
21
20
  const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
22
21
  const clientConfigManager = (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({ env: 'production' }, options), { buildType: 'client', modern: false }));
@@ -88,7 +87,7 @@ const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, v
88
87
  event: 'COMMAND:STATIC:ROUTES_FETCH',
89
88
  message: `message: server started, fetch application routes`,
90
89
  });
91
- let paths = (0, propOr_1.default)('payload', [], yield (0, request_1.request)({ url: bundleInfoPath }));
90
+ let paths = yield (0, request_1.appBundleInfo)(serverConfigManager);
92
91
  if (options.onlyPages) {
93
92
  paths = (0, intersection_1.default)(paths, options.onlyPages);
94
93
  }
@@ -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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"}
@@ -5,15 +5,14 @@ const tslib_1 = require("tslib");
5
5
  const path_1 = require("path");
6
6
  const promise_queue_1 = tslib_1.__importDefault(require("promise-queue"));
7
7
  const fs_extra_1 = require("fs-extra");
8
- const request_1 = require("./request");
8
+ const request_1 = require("../../utils/dev-app/request");
9
9
  const MAX_CONCURRENT = 10;
10
10
  const DYNAMIC_PAGE_REGEX = /\/:.+\//g;
11
11
  const generateStatic = (context, configManager, paths) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
12
  const q = new promise_queue_1.default(MAX_CONCURRENT);
13
13
  const promises = [];
14
- const { host, port, rootDir, output } = configManager;
14
+ const { rootDir, output } = configManager;
15
15
  const staticPath = (0, path_1.resolve)(rootDir, output.static);
16
- const serverPath = `http://${host}:${port}`;
17
16
  for (const path of paths) {
18
17
  promises.push(q.add(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
19
18
  // @todo need something similar to https://nextjs.org/docs/basic-features/data-fetching#getstaticpaths-static-generation
@@ -31,7 +30,7 @@ const generateStatic = (context, configManager, paths) => tslib_1.__awaiter(void
31
30
  event: 'COMMAND:STATIC:PAGE_FETCH',
32
31
  message: `path: ${path}, message: start fetching page`,
33
32
  });
34
- const html = yield (0, request_1.request)({ url: `${serverPath}${path}` });
33
+ const html = yield (0, request_1.appRequest)(configManager, path);
35
34
  yield (0, fs_extra_1.outputFile)((0, path_1.join)(staticPath, path, 'index.html'), html);
36
35
  context.logger.event({
37
36
  type: 'debug',
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/static/generate.ts"],"names":[],"mappings":";;;;AAAA,+BAAqC;AACrC,0EAAmC;AACnC,uCAAsC;AACtC,uCAAoC;AAKpC,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE/B,MAAM,cAAc,GAAG,CAC5B,OAAgB,EAChB,aAAoD,EACpD,KAAe,EACf,EAAE;IACF,MAAM,CAAC,GAAG,IAAI,uBAAM,CAAC,cAAc,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IACtD,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,GAAG,CAAC,GAAS,EAAE;YACf,wHAAwH;YACxH,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,yCAAyC;oBAChD,OAAO,EAAE,SAAS,IAAI,0DAA0D;iBACjF,CAAC,CAAC;gBACH,OAAO;aACR;YAED,IAAI;gBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,2BAA2B;oBAClC,OAAO,EAAE,SAAS,IAAI,gCAAgC;iBACvD,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAO,EAAC,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;gBAE5D,MAAM,IAAA,qBAAU,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;gBAE7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,6BAA6B;oBACpC,OAAO,EAAE,SAAS,IAAI,sCAAsC;iBAC7D,CAAC,CAAC;aACJ;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE,SAAS,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE;iBAChD,CAAC,CAAC;aACJ;QACH,CAAC,CAAA,CAAC,CACH,CAAC;KACH;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAA,CAAC;AArDW,QAAA,cAAc,kBAqDzB"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/static/generate.ts"],"names":[],"mappings":";;;;AAAA,+BAAqC;AACrC,0EAAmC;AACnC,uCAAsC;AAItC,yDAAyD;AAEzD,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE/B,MAAM,cAAc,GAAG,CAC5B,OAAgB,EAChB,aAAoD,EACpD,KAAe,EACf,EAAE;IACF,MAAM,CAAC,GAAG,IAAI,uBAAM,CAAC,cAAc,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,GAAG,CAAC,GAAS,EAAE;YACf,wHAAwH;YACxH,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,yCAAyC;oBAChD,OAAO,EAAE,SAAS,IAAI,0DAA0D;iBACjF,CAAC,CAAC;gBACH,OAAO;aACR;YAED,IAAI;gBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,2BAA2B;oBAClC,OAAO,EAAE,SAAS,IAAI,gCAAgC;iBACvD,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAU,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAEnD,MAAM,IAAA,qBAAU,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;gBAE7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,6BAA6B;oBACpC,OAAO,EAAE,SAAS,IAAI,sCAAsC;iBAC7D,CAAC,CAAC;aACJ;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE,SAAS,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE;iBAChD,CAAC,CAAC;aACJ;QACH,CAAC,CAAA,CAAC,CACH,CAAC;KACH;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAA,CAAC;AApDW,QAAA,cAAc,kBAoDzB"}
@@ -0,0 +1,3 @@
1
+ import type { ConfigManager } from '../../config/configManager';
2
+ export declare const appRequest: <T>(configManager: ConfigManager, path: string) => import("@tinkoff/request-core").MakeRequestResult<T>;
3
+ export declare const appBundleInfo: (configManager: ConfigManager) => Promise<string[]>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appBundleInfo = exports.appRequest = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const propOr_1 = tslib_1.__importDefault(require("@tinkoff/utils/object/propOr"));
6
+ const request_core_1 = tslib_1.__importDefault(require("@tinkoff/request-core"));
7
+ const request_plugin_protocol_http_1 = tslib_1.__importDefault(require("@tinkoff/request-plugin-protocol-http"));
8
+ const request = (0, request_core_1.default)([(0, request_plugin_protocol_http_1.default)()]);
9
+ const appRequest = (configManager, path) => {
10
+ const { host, port } = configManager;
11
+ const serverPath = `http://${host}:${port}`;
12
+ return request({ url: `${serverPath}${path}` });
13
+ };
14
+ exports.appRequest = appRequest;
15
+ const appBundleInfo = (configManager) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
16
+ const { name } = configManager;
17
+ const response = yield (0, exports.appRequest)(configManager, `/${name}/papi/bundleInfo`);
18
+ return (0, propOr_1.default)('payload', [], response);
19
+ });
20
+ exports.appBundleInfo = appBundleInfo;
21
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/utils/dev-app/request.ts"],"names":[],"mappings":";;;;AAAA,kFAAkD;AAClD,iFAAkD;AAClD,iHAAyD;AAGzD,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,CAAC,IAAA,sCAAI,GAAE,CAAC,CAAC,CAAC;AAEjC,MAAM,UAAU,GAAG,CAAI,aAA4B,EAAE,IAAY,EAAE,EAAE;IAC1E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IACrC,MAAM,UAAU,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAE5C,OAAO,OAAO,CAAI,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB;AAOK,MAAM,aAAa,GAAG,CAAO,aAA4B,EAAE,EAAE;IAClE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/B,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAAqB,aAAa,EAAE,IAAI,IAAI,kBAAkB,CAAC,CAAC;IAEjG,OAAO,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAA,CAAC;AANW,QAAA,aAAa,iBAMxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "2.93.0",
3
+ "version": "2.94.0",
4
4
  "description": "Cli инструмент для сборки и запуска приложений",
5
5
  "files": [
6
6
  "src",
@@ -71,7 +71,7 @@
71
71
  "@tinkoff/utils": "^2.1.3",
72
72
  "@tinkoff/webpack-dedupe-plugin": "1.0.5",
73
73
  "@tramvai/build": "3.1.3",
74
- "@tramvai/react": "2.93.0",
74
+ "@tramvai/react": "2.94.0",
75
75
  "@tramvai/tools-check-versions": "0.4.11",
76
76
  "@tramvai/tools-migrate": "0.6.14",
77
77
  "ajv": "^6.12.6",
@@ -16,10 +16,11 @@ export const ProcessWorkerBridge: WorkerBridgeFactory<Worker> = (di) => {
16
16
  const configManager = di.get(SERVER_CONFIG_MANAGER_TOKEN);
17
17
  const stdout = di.get(STDOUT_TOKEN);
18
18
  const stderr = di.get(STDERR_TOKEN);
19
+ let firstWorker = true;
19
20
 
20
21
  return {
21
22
  async setup() {
22
- cluster.setupMaster({
23
+ cluster.setupPrimary({
23
24
  // указываем другой файл для работы cluster.fork
24
25
  exec: path.resolve(__dirname, './worker.js'),
25
26
  execArgv: ([] as string[]).concat(
@@ -41,8 +42,11 @@ export const ProcessWorkerBridge: WorkerBridgeFactory<Worker> = (di) => {
41
42
  // https://nodejs.org/dist/latest-v15.x/docs/api/all.html#cluster_how_it_works
42
43
  PORT: `${configManager.port}`,
43
44
  PORT_SERVER: `${configManager.port}`,
45
+ TRAMVAI_CLI_WATCH_INITIAL_BUILD: firstWorker,
44
46
  });
45
47
 
48
+ firstWorker = false;
49
+
46
50
  worker.process.stdout?.pipe(stdout);
47
51
  worker.process.stderr?.pipe(stderr);
48
52
 
@@ -8,6 +8,7 @@ import { COMMAND_PARAMETERS_TOKEN, CONFIG_ROOT_DIR_TOKEN } from '../../../../../
8
8
  export const ThreadWorkerBridge: WorkerBridgeFactory<Worker> = (di) => {
9
9
  const { env } = di.get(COMMAND_PARAMETERS_TOKEN);
10
10
  const configManager = di.get(SERVER_CONFIG_MANAGER_TOKEN);
11
+ let firstWorker = true;
11
12
 
12
13
  return {
13
14
  async setup() {},
@@ -37,9 +38,12 @@ export const ThreadWorkerBridge: WorkerBridgeFactory<Worker> = (di) => {
37
38
  // https://nodejs.org/dist/latest-v15.x/docs/api/all.html#cluster_how_it_works
38
39
  PORT: `${configManager.port}`,
39
40
  PORT_SERVER: `${configManager.port}`,
41
+ TRAMVAI_CLI_WATCH_INITIAL_BUILD: firstWorker,
40
42
  },
41
43
  });
42
44
 
45
+ firstWorker = false;
46
+
43
47
  return worker;
44
48
  },
45
49
  async destroy(worker) {
@@ -1,4 +1,3 @@
1
- import propOr from '@tinkoff/utils/object/propOr';
2
1
  import intersection from '@tinkoff/utils/array/intersection';
3
2
 
4
3
  import path from 'path';
@@ -10,7 +9,6 @@ import type { CommandResult } from '../../models/command';
10
9
  import type { ApplicationConfigEntry } from '../../typings/configEntry/application';
11
10
  import type { Params } from './command';
12
11
  import { createConfigManager } from '../../config/configManager';
13
- import { request } from './request';
14
12
  import { generateStatic } from './generate';
15
13
  import { copyStatsJsonFileToServerDirectory } from '../../builder/webpack/utils/copyStatsJsonFile';
16
14
  import { safeRequire } from '../../utils/safeRequire';
@@ -18,6 +16,7 @@ import { app } from '../index';
18
16
  import { startStaticServer } from './staticServer';
19
17
  import { startServer } from './server';
20
18
  import { handleServerOutput } from './utils/handle-server-output';
19
+ import { appBundleInfo } from '../../utils/dev-app/request';
21
20
 
22
21
  // eslint-disable-next-line max-statements
23
22
  export const staticApp = async (
@@ -124,7 +123,7 @@ export const staticApp = async (
124
123
  message: `message: server started, fetch application routes`,
125
124
  });
126
125
 
127
- let paths = propOr('payload', [], await request({ url: bundleInfoPath }));
126
+ let paths = await appBundleInfo(serverConfigManager);
128
127
 
129
128
  if (options.onlyPages) {
130
129
  paths = intersection(paths, options.onlyPages);
@@ -1,10 +1,10 @@
1
1
  import { resolve, join } from 'path';
2
2
  import PQueue from 'promise-queue';
3
3
  import { outputFile } from 'fs-extra';
4
- import { request } from './request';
5
4
  import type { Context } from '../../models/context';
6
5
  import type { ConfigManager } from '../../config/configManager';
7
6
  import type { ApplicationConfigEntry } from '../../typings/configEntry/application';
7
+ import { appRequest } from '../../utils/dev-app/request';
8
8
 
9
9
  const MAX_CONCURRENT = 10;
10
10
  const DYNAMIC_PAGE_REGEX = /\/:.+\//g;
@@ -17,9 +17,8 @@ export const generateStatic = async (
17
17
  const q = new PQueue(MAX_CONCURRENT);
18
18
  const promises = [];
19
19
 
20
- const { host, port, rootDir, output } = configManager;
20
+ const { rootDir, output } = configManager;
21
21
  const staticPath = resolve(rootDir, output.static);
22
- const serverPath = `http://${host}:${port}`;
23
22
 
24
23
  for (const path of paths) {
25
24
  promises.push(
@@ -41,7 +40,7 @@ export const generateStatic = async (
41
40
  message: `path: ${path}, message: start fetching page`,
42
41
  });
43
42
 
44
- const html = await request({ url: `${serverPath}${path}` });
43
+ const html = await appRequest(configManager, path);
45
44
 
46
45
  await outputFile(join(staticPath, path, 'index.html'), html);
47
46
 
@@ -0,0 +1,26 @@
1
+ import propOr from '@tinkoff/utils/object/propOr';
2
+ import createRequest from '@tinkoff/request-core';
3
+ import http from '@tinkoff/request-plugin-protocol-http';
4
+ import type { ConfigManager } from '../../config/configManager';
5
+
6
+ const request = createRequest([http()]);
7
+
8
+ export const appRequest = <T>(configManager: ConfigManager, path: string) => {
9
+ const { host, port } = configManager;
10
+ const serverPath = `http://${host}:${port}`;
11
+
12
+ return request<T>({ url: `${serverPath}${path}` });
13
+ };
14
+
15
+ interface BundleInfoResponse {
16
+ resultCode: string;
17
+ payload: string[];
18
+ }
19
+
20
+ export const appBundleInfo = async (configManager: ConfigManager) => {
21
+ const { name } = configManager;
22
+
23
+ const response = await appRequest<BundleInfoResponse>(configManager, `/${name}/papi/bundleInfo`);
24
+
25
+ return propOr('payload', [], response);
26
+ };
@@ -1 +0,0 @@
1
- export declare const request: import("@tinkoff/request-core").MakeRequest;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.request = void 0;
4
- const tslib_1 = require("tslib");
5
- const request_core_1 = tslib_1.__importDefault(require("@tinkoff/request-core"));
6
- const request_plugin_protocol_http_1 = tslib_1.__importDefault(require("@tinkoff/request-plugin-protocol-http"));
7
- exports.request = (0, request_core_1.default)([(0, request_plugin_protocol_http_1.default)()]);
8
- //# sourceMappingURL=request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/static/request.ts"],"names":[],"mappings":";;;;AAAA,iFAAkD;AAClD,iHAAyD;AAE5C,QAAA,OAAO,GAAG,IAAA,sBAAa,EAAC,CAAC,IAAA,sCAAI,GAAE,CAAC,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import createRequest from '@tinkoff/request-core';
2
- import http from '@tinkoff/request-plugin-protocol-http';
3
-
4
- export const request = createRequest([http()]);