@tramvai/cli 2.111.1 → 2.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/start/providers/application/shared.js +4 -4
- package/lib/api/start/providers/application/shared.js.map +1 -1
- package/lib/api/start/providers/child-app/shared.js +1 -4
- package/lib/api/start/providers/child-app/shared.js.map +1 -1
- package/lib/api/start/providers/module/shared.js +1 -4
- package/lib/api/start/providers/module/shared.js.map +1 -1
- package/lib/api/start-prod/providers/application.js +4 -4
- package/lib/api/start-prod/providers/application.js.map +1 -1
- package/lib/api/start-prod/providers/child-app.js +4 -4
- package/lib/api/start-prod/providers/child-app.js.map +1 -1
- package/lib/library/typescript/index.d.ts +1 -1
- package/lib/utils/detectPortSync.d.ts +13 -1
- package/lib/utils/detectPortSync.js +12 -2
- package/lib/utils/detectPortSync.js.map +1 -1
- package/package.json +2 -2
- package/src/api/start/__integration__/start.test.ts +22 -3
- package/src/api/start/providers/application/shared.ts +5 -2
- package/src/api/start/providers/child-app/shared.ts +1 -1
- package/src/api/start/providers/module/shared.ts +1 -1
- package/src/api/start-prod/providers/application.ts +5 -2
- package/src/api/start-prod/providers/child-app.ts +4 -1
- package/src/utils/detectPortSync.ts +18 -2
|
@@ -13,10 +13,10 @@ const detectPortSync_1 = require("../../../../utils/detectPortSync");
|
|
|
13
13
|
exports.sharedProviders = [
|
|
14
14
|
(0, dippy_1.provide)({
|
|
15
15
|
provide: tokens_2.CONFIG_MANAGER_TOKEN,
|
|
16
|
-
useFactory: ({ configEntry, parameters }) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
useFactory: ({ configEntry, parameters }) => (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({}, parameters), { appEnv: parameters.env, env: 'development', port: (0, detectPortSync_1.detectPortSync)({ request: parameters.port, fallback: configManager_1.DEFAULT_PORT }), staticPort: (0, detectPortSync_1.detectPortSync)({
|
|
17
|
+
request: parameters.staticPort,
|
|
18
|
+
fallback: configManager_1.DEFAULT_STATIC_PORT,
|
|
19
|
+
}) })),
|
|
20
20
|
deps: {
|
|
21
21
|
configEntry: tokens_2.CONFIG_ENTRY_TOKEN,
|
|
22
22
|
parameters: tokens_2.COMMAND_PARAMETERS_TOKEN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/application/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AAEzC,yCAAuE;AACvE,kDAK+B;AAC/B,uDAAoD;AAEpD,oEAI0C;AAC1C,2DAAwD;AACxD,2DAAwD;AACxD,qEAAkE;AAErD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/application/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AAEzC,yCAAuE;AACvE,kDAK+B;AAC/B,uDAAoD;AAEpD,oEAI0C;AAC1C,2DAAwD;AACxD,2DAAwD;AACxD,qEAAkE;AAErD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAqC,kCACpD,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,4BAAY,EAAE,CAAC,EAC1E,UAAU,EAAE,IAAA,+BAAc,EAAC;gBACzB,OAAO,EAAE,UAAU,CAAC,UAAU;gBAC9B,QAAQ,EAAE,mCAAmB;aAC9B,CAAC,IACF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,UAAU,EAAE,2BAAY;KACzB,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE;YAC9C,OAAO,SAAe,kBAAkB;;oBACtC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;oBAEjD,MAAM,IAAA,2BAAY,EAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC3F,CAAC;aAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;YACjC,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,OAAO,GAAG,EAAE;gBACV,OAAO,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;CACM,CAAC"}
|
|
@@ -14,10 +14,7 @@ const detectPortSync_1 = require("../../../../utils/detectPortSync");
|
|
|
14
14
|
exports.sharedProviders = [
|
|
15
15
|
(0, dippy_1.provide)({
|
|
16
16
|
provide: tokens_2.CONFIG_MANAGER_TOKEN,
|
|
17
|
-
useFactory: ({ configEntry, parameters }) => {
|
|
18
|
-
var _a;
|
|
19
|
-
return (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({}, parameters), { appEnv: parameters.env, env: 'development', port: (0, detectPortSync_1.detectPortSync)((_a = parameters.port) !== null && _a !== void 0 ? _a : configManager_1.DEFAULT_STATIC_MODULE_PORT) }));
|
|
20
|
-
},
|
|
17
|
+
useFactory: ({ configEntry, parameters }) => (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({}, parameters), { appEnv: parameters.env, env: 'development', port: (0, detectPortSync_1.detectPortSync)({ request: parameters.port, fallback: configManager_1.DEFAULT_STATIC_MODULE_PORT }) })),
|
|
21
18
|
deps: {
|
|
22
19
|
configEntry: tokens_2.CONFIG_ENTRY_TOKEN,
|
|
23
20
|
parameters: tokens_2.COMMAND_PARAMETERS_TOKEN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/child-app/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAE/B,+EAA0F;AAC1F,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,oEAAmG;AACnG,qEAAkE;AAErD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/child-app/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAE/B,+EAA0F;AAC1F,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,oEAAmG;AACnG,qEAAkE;AAErD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAkC,kCACjD,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,0CAA0B,EAAE,CAAC,IACxF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,UAAU,EAAE,2BAAY;KACzB,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,OAAO,SAAe,kBAAkB;;oBACtC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;oBAErC,MAAM,IAAA,2BAAY,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;aAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;YACjC,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,OAAO,GAAG,EAAE;gBACV,OAAO,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,GAAS,EAAE;gBAChB,MAAM,IAAA,uCAAyB,EAAC,aAAa,CAAC,CAAC;YACjD,CAAC,CAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;CACM,CAAC"}
|
|
@@ -14,10 +14,7 @@ const detectPortSync_1 = require("../../../../utils/detectPortSync");
|
|
|
14
14
|
exports.sharedProviders = [
|
|
15
15
|
(0, dippy_1.provide)({
|
|
16
16
|
provide: tokens_2.CONFIG_MANAGER_TOKEN,
|
|
17
|
-
useFactory: ({ configEntry, parameters }) => {
|
|
18
|
-
var _a;
|
|
19
|
-
return (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({}, parameters), { appEnv: parameters.env, env: 'development', port: (0, detectPortSync_1.detectPortSync)((_a = parameters.port) !== null && _a !== void 0 ? _a : configManager_1.DEFAULT_STATIC_MODULE_PORT) }));
|
|
20
|
-
},
|
|
17
|
+
useFactory: ({ configEntry, parameters }) => (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({}, parameters), { appEnv: parameters.env, env: 'development', port: (0, detectPortSync_1.detectPortSync)({ request: parameters.port, fallback: configManager_1.DEFAULT_STATIC_MODULE_PORT }) })),
|
|
21
18
|
deps: {
|
|
22
19
|
configEntry: tokens_2.CONFIG_ENTRY_TOKEN,
|
|
23
20
|
parameters: tokens_2.COMMAND_PARAMETERS_TOKEN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/module/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAC/B,oEAAmG;AACnG,+EAA0F;AAC1F,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,qEAAkE;AAGrD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/api/start/providers/module/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,yCAAuE;AACvE,kDAK+B;AAC/B,oEAAmG;AACnG,+EAA0F;AAC1F,uDAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,qEAAkE;AAGrD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAgC,kCAC/C,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,0CAA0B,EAAE,CAAC,IACxF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,UAAU,EAAE,2BAAY;KACzB,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,OAAO,SAAe,kBAAkB;;oBACtC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;oBAErC,MAAM,IAAA,2BAAY,EAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;aAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;YACjC,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,OAAO,GAAG,EAAE;gBACV,OAAO,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,GAAS,EAAE;gBAChB,IAAA,uCAAyB,EAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;CACM,CAAC"}
|
|
@@ -14,10 +14,10 @@ const configManager_1 = require("../../../config/configManager");
|
|
|
14
14
|
exports.applicationsProviders = [
|
|
15
15
|
(0, dippy_1.provide)({
|
|
16
16
|
provide: tokens_1.CONFIG_MANAGER_TOKEN,
|
|
17
|
-
useFactory: ({ configEntry, parameters }) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
useFactory: ({ configEntry, parameters }) => (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({}, parameters), { appEnv: parameters.env, env: 'production', buildType: 'client', port: (0, detectPortSync_1.detectPortSync)({ request: parameters.port, fallback: configManager_1.DEFAULT_PORT }), staticPort: (0, detectPortSync_1.detectPortSync)({
|
|
18
|
+
request: parameters.staticPort,
|
|
19
|
+
fallback: configManager_1.DEFAULT_STATIC_PORT,
|
|
20
|
+
}) })),
|
|
21
21
|
deps: {
|
|
22
22
|
configEntry: tokens_1.CONFIG_ENTRY_TOKEN,
|
|
23
23
|
parameters: tokens_1.COMMAND_PARAMETERS_TOKEN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../src/api/start-prod/providers/application.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAExB,0CAAyC;AACzC,iDAAqC;AACrC,+CAI4B;AAG5B,sCAAsE;AACtE,yDAAuD;AACvD,kEAA+D;AAC/D,4DAAyD;AAEzD,iEAIuC;AAG1B,QAAA,qBAAqB,GAAwB;IACxD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAoD,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../src/api/start-prod/providers/application.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAExB,0CAAyC;AACzC,iDAAqC;AACrC,+CAI4B;AAG5B,sCAAsE;AACtE,yDAAuD;AACvD,kEAA+D;AAC/D,4DAAyD;AAEzD,iEAIuC;AAG1B,QAAA,qBAAqB,GAAwB;IACxD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAoD,EAAE,EAAE,CAC5F,IAAA,mCAAmB,EAAC,WAAW,kCAC1B,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,4BAAY,EAAE,CAAC,EAC1E,UAAU,EAAE,IAAA,+BAAc,EAAC;gBACzB,OAAO,EAAE,UAAU,CAAC,UAAU;gBAC9B,QAAQ,EAAE,mCAAmB;aAC9B,CAAC,IACF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;YAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;YAC3B,MAAM,mBAAmB,GACvB,aACD,CAAC,YAAY,CAAC;gBACb,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC;YAC1D,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC;YAE3C,OAAO,IAAA,oBAAI,EAAC,cAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE;gBAC/C,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,EAAE;gBACjC,GAAG,EAAE,IAAI;gBACT,GAAG,4EACE,IAAA,yBAAW,EAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,GACjE,IAAA,yBAAW,EAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GACrD,GAAG,GACH,OAAO,CAAC,GAAG,KACd,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,YAAY,EACjC,IAAI,EAAE,GAAG,IAAI,EAAE,EACf,WAAW,EAAE,GAAG,IAAI,EAAE,EACtB,aAAa,EAAE,YAAY,GAC5B;aACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;YACnC,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,GAAS,EAAE;gBAChB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;wBAC9B,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;oBAEH,aAAa,CAAC,IAAI,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,CAAA,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;CACM,CAAC"}
|
|
@@ -8,10 +8,10 @@ const detectPortSync_1 = require("../../../utils/detectPortSync");
|
|
|
8
8
|
exports.childAppProviders = [
|
|
9
9
|
(0, dippy_1.provide)({
|
|
10
10
|
provide: tokens_1.CONFIG_MANAGER_TOKEN,
|
|
11
|
-
useFactory: ({ configEntry, parameters }) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
useFactory: ({ configEntry, parameters }) => (0, configManager_1.createConfigManager)(configEntry, Object.assign(Object.assign({}, parameters), { appEnv: parameters.env, env: 'production', buildType: 'client', staticPort: (0, detectPortSync_1.detectPortSync)({
|
|
12
|
+
request: parameters.staticPort,
|
|
13
|
+
fallback: configManager_1.DEFAULT_STATIC_MODULE_PORT,
|
|
14
|
+
}) })),
|
|
15
15
|
deps: {
|
|
16
16
|
configEntry: tokens_1.CONFIG_ENTRY_TOKEN,
|
|
17
17
|
parameters: tokens_1.COMMAND_PARAMETERS_TOKEN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-app.js","sourceRoot":"","sources":["../../../../src/api/start-prod/providers/child-app.ts"],"names":[],"mappings":";;;AACA,0CAAyC;AACzC,+CAI4B;AAC5B,iEAAgG;AAEhG,kEAA+D;AAElD,QAAA,iBAAiB,GAAwB;IACpD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"child-app.js","sourceRoot":"","sources":["../../../../src/api/start-prod/providers/child-app.ts"],"names":[],"mappings":";;;AACA,0CAAyC;AACzC,+CAI4B;AAC5B,iEAAgG;AAEhG,kEAA+D;AAElD,QAAA,iBAAiB,GAAwB;IACpD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,IAAA,mCAAmB,EAAC,WAAkC,kCACjD,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,GAAG,EACtB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,IAAA,+BAAc,EAAC;gBACzB,OAAO,EAAE,UAAU,CAAC,UAAU;gBAC9B,QAAQ,EAAE,0CAA0B;aACrC,CAAC,IACF;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;CACM,CAAC"}
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
interface Payload {
|
|
2
|
+
request?: number;
|
|
3
|
+
fallback: number;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Try to detect port synchronously considering the fact, that if user requests
|
|
7
|
+
* a port explicitly, we should not try to detect a free one.
|
|
8
|
+
*
|
|
9
|
+
* Also, handle zero port (it means any random port) as the edge case,
|
|
10
|
+
* because we must pass a final number to the config manager.
|
|
11
|
+
*/
|
|
12
|
+
export declare const detectPortSync: ({ request, fallback }: Payload) => number;
|
|
13
|
+
export {};
|
|
@@ -2,8 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.detectPortSync = void 0;
|
|
4
4
|
const child_process_1 = require("child_process");
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Try to detect port synchronously considering the fact, that if user requests
|
|
7
|
+
* a port explicitly, we should not try to detect a free one.
|
|
8
|
+
*
|
|
9
|
+
* Also, handle zero port (it means any random port) as the edge case,
|
|
10
|
+
* because we must pass a final number to the config manager.
|
|
11
|
+
*/
|
|
12
|
+
const detectPortSync = ({ request, fallback }) => {
|
|
13
|
+
if (request !== undefined && request !== 0) {
|
|
14
|
+
return request;
|
|
15
|
+
}
|
|
16
|
+
const commandResult = (0, child_process_1.execSync)(`npx detect-port ${request !== null && request !== void 0 ? request : fallback}`);
|
|
7
17
|
return parseInt(commandResult.toString('utf-8'), 10);
|
|
8
18
|
};
|
|
9
19
|
exports.detectPortSync = detectPortSync;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectPortSync.js","sourceRoot":"","sources":["../../src/utils/detectPortSync.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;
|
|
1
|
+
{"version":3,"file":"detectPortSync.js","sourceRoot":"","sources":["../../src/utils/detectPortSync.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AAOzC;;;;;;GAMG;AACI,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAW,EAAU,EAAE;IACvE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,EAAE;QAC1C,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,aAAa,GAAG,IAAA,wBAAQ,EAAC,mBAAmB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,EAAE,CAAC,CAAC;IAEzE,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.112.0",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@tinkoff/utils": "^2.1.3",
|
|
72
72
|
"@tinkoff/webpack-dedupe-plugin": "1.0.5",
|
|
73
73
|
"@tramvai/build": "3.1.3",
|
|
74
|
-
"@tramvai/react": "2.
|
|
74
|
+
"@tramvai/react": "2.112.0",
|
|
75
75
|
"@tramvai/tools-check-versions": "0.4.14",
|
|
76
76
|
"@tramvai/tools-migrate": "0.6.18",
|
|
77
77
|
"ajv": "^6.12.6",
|
|
@@ -10,6 +10,7 @@ import { createServer } from '../utils/createServer';
|
|
|
10
10
|
import { listenServer } from '../utils/listenServer';
|
|
11
11
|
import { getListeningPort } from '../utils/getListeningPort';
|
|
12
12
|
import { stopServer } from '../utils/stopServer';
|
|
13
|
+
import { DEFAULT_PORT, DEFAULT_STATIC_PORT } from '../../../config/configManager';
|
|
13
14
|
|
|
14
15
|
const FIXTURES_DIR = resolve(__dirname, '__fixtures__');
|
|
15
16
|
|
|
@@ -261,7 +262,7 @@ describe('@tramvai/cli start command', () => {
|
|
|
261
262
|
return close();
|
|
262
263
|
});
|
|
263
264
|
|
|
264
|
-
it('should
|
|
265
|
+
it('should NOT try to launch app on the next available port if it was provided via config', async () => {
|
|
265
266
|
const testServerStub = createServer();
|
|
266
267
|
const testStaticServerStub = createServer();
|
|
267
268
|
|
|
@@ -270,12 +271,30 @@ describe('@tramvai/cli start command', () => {
|
|
|
270
271
|
await listenServer(testServerStub, '0.0.0.0', getPort() + 50);
|
|
271
272
|
await listenServer(testStaticServerStub, '0.0.0.0', getPort());
|
|
272
273
|
|
|
274
|
+
await expect(
|
|
275
|
+
start({
|
|
276
|
+
rootDir: FIXTURES_DIR,
|
|
277
|
+
target: 'app',
|
|
278
|
+
resolveSymlinks: false,
|
|
279
|
+
port: getListeningPort(testServerStub),
|
|
280
|
+
staticPort: getListeningPort(testStaticServerStub),
|
|
281
|
+
})
|
|
282
|
+
).rejects.toThrow('listen EADDRINUSE: address already in use');
|
|
283
|
+
|
|
284
|
+
return Promise.all([stopServer(testServerStub), stopServer(testStaticServerStub)]);
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
it('should try to launch app on the next available port if it was NOT provided via config', async () => {
|
|
288
|
+
const testServerStub = createServer();
|
|
289
|
+
const testStaticServerStub = createServer();
|
|
290
|
+
|
|
291
|
+
await listenServer(testServerStub, '0.0.0.0', DEFAULT_PORT);
|
|
292
|
+
await listenServer(testStaticServerStub, '0.0.0.0', DEFAULT_STATIC_PORT);
|
|
293
|
+
|
|
273
294
|
const { server, staticServer, close } = await start({
|
|
274
295
|
rootDir: FIXTURES_DIR,
|
|
275
296
|
target: 'app',
|
|
276
297
|
resolveSymlinks: false,
|
|
277
|
-
port: getListeningPort(testServerStub),
|
|
278
|
-
staticPort: getListeningPort(testStaticServerStub),
|
|
279
298
|
});
|
|
280
299
|
|
|
281
300
|
const testServer = supertestByPort(getListeningPort(server));
|
|
@@ -27,8 +27,11 @@ export const sharedProviders: readonly Provider[] = [
|
|
|
27
27
|
...parameters,
|
|
28
28
|
appEnv: parameters.env,
|
|
29
29
|
env: 'development',
|
|
30
|
-
port: detectPortSync(parameters.port
|
|
31
|
-
staticPort: detectPortSync(
|
|
30
|
+
port: detectPortSync({ request: parameters.port, fallback: DEFAULT_PORT }),
|
|
31
|
+
staticPort: detectPortSync({
|
|
32
|
+
request: parameters.staticPort,
|
|
33
|
+
fallback: DEFAULT_STATIC_PORT,
|
|
34
|
+
}),
|
|
32
35
|
}),
|
|
33
36
|
deps: {
|
|
34
37
|
configEntry: CONFIG_ENTRY_TOKEN,
|
|
@@ -23,7 +23,7 @@ export const sharedProviders: readonly Provider[] = [
|
|
|
23
23
|
...parameters,
|
|
24
24
|
appEnv: parameters.env,
|
|
25
25
|
env: 'development',
|
|
26
|
-
port: detectPortSync(parameters.port
|
|
26
|
+
port: detectPortSync({ request: parameters.port, fallback: DEFAULT_STATIC_MODULE_PORT }),
|
|
27
27
|
}),
|
|
28
28
|
deps: {
|
|
29
29
|
configEntry: CONFIG_ENTRY_TOKEN,
|
|
@@ -23,7 +23,7 @@ export const sharedProviders: readonly Provider[] = [
|
|
|
23
23
|
...parameters,
|
|
24
24
|
appEnv: parameters.env,
|
|
25
25
|
env: 'development',
|
|
26
|
-
port: detectPortSync(parameters.port
|
|
26
|
+
port: detectPortSync({ request: parameters.port, fallback: DEFAULT_STATIC_MODULE_PORT }),
|
|
27
27
|
}),
|
|
28
28
|
deps: {
|
|
29
29
|
configEntry: CONFIG_ENTRY_TOKEN,
|
|
@@ -30,8 +30,11 @@ export const applicationsProviders: readonly Provider[] = [
|
|
|
30
30
|
appEnv: parameters.env,
|
|
31
31
|
env: 'production',
|
|
32
32
|
buildType: 'client',
|
|
33
|
-
port: detectPortSync(parameters.port
|
|
34
|
-
staticPort: detectPortSync(
|
|
33
|
+
port: detectPortSync({ request: parameters.port, fallback: DEFAULT_PORT }),
|
|
34
|
+
staticPort: detectPortSync({
|
|
35
|
+
request: parameters.staticPort,
|
|
36
|
+
fallback: DEFAULT_STATIC_PORT,
|
|
37
|
+
}),
|
|
35
38
|
}),
|
|
36
39
|
deps: {
|
|
37
40
|
configEntry: CONFIG_ENTRY_TOKEN,
|
|
@@ -17,8 +17,11 @@ export const childAppProviders: readonly Provider[] = [
|
|
|
17
17
|
...parameters,
|
|
18
18
|
appEnv: parameters.env,
|
|
19
19
|
env: 'production',
|
|
20
|
-
staticPort: detectPortSync(parameters.staticPort ?? DEFAULT_STATIC_MODULE_PORT),
|
|
21
20
|
buildType: 'client',
|
|
21
|
+
staticPort: detectPortSync({
|
|
22
|
+
request: parameters.staticPort,
|
|
23
|
+
fallback: DEFAULT_STATIC_MODULE_PORT,
|
|
24
|
+
}),
|
|
22
25
|
}),
|
|
23
26
|
deps: {
|
|
24
27
|
configEntry: CONFIG_ENTRY_TOKEN,
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import { execSync } from 'child_process';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
interface Payload {
|
|
4
|
+
request?: number;
|
|
5
|
+
fallback: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Try to detect port synchronously considering the fact, that if user requests
|
|
10
|
+
* a port explicitly, we should not try to detect a free one.
|
|
11
|
+
*
|
|
12
|
+
* Also, handle zero port (it means any random port) as the edge case,
|
|
13
|
+
* because we must pass a final number to the config manager.
|
|
14
|
+
*/
|
|
15
|
+
export const detectPortSync = ({ request, fallback }: Payload): number => {
|
|
16
|
+
if (request !== undefined && request !== 0) {
|
|
17
|
+
return request;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const commandResult = execSync(`npx detect-port ${request ?? fallback}`);
|
|
5
21
|
|
|
6
22
|
return parseInt(commandResult.toString('utf-8'), 10);
|
|
7
23
|
};
|