@nrwl/nx-cloud 15.1.0-beta0 → 15.1.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/core/api/error-reporter.api.js +1 -36
- package/lib/core/api/run-group.api.js +1 -68
- package/lib/core/commands/clean-up-agents.js +1 -1
- package/lib/core/commands/clean-up-agents.js.map +1 -1
- package/lib/core/commands/upload-and-show-run-details.js +6 -6
- package/lib/core/commands/upload-and-show-run-details.js.map +1 -1
- package/lib/core/error/print-cacheable-targets-error.d.ts +1 -0
- package/lib/core/error/print-cacheable-targets-error.js +15 -0
- package/lib/core/error/print-cacheable-targets-error.js.map +1 -0
- package/lib/core/models/run-context.model.d.ts +2 -0
- package/lib/core/models/run-context.model.js.map +1 -1
- package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.d.ts +1 -3
- package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js +1 -109
- package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js.map +1 -1
- package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js +1 -288
- package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js.map +1 -1
- package/lib/core/runners/cloud-enabled/cloud-remote-cache.js +1 -113
- package/lib/core/runners/cloud-enabled/cloud-remote-cache.js.map +1 -1
- package/lib/core/runners/cloud-enabled/cloud-run.api.js +1 -167
- package/lib/core/runners/cloud-enabled/id-generator.js +1 -16
- package/lib/core/runners/distributed-agent/distributed-agent.api.d.ts +2 -2
- package/lib/core/runners/distributed-agent/distributed-agent.api.js +1 -79
- package/lib/core/runners/distributed-agent/distributed-agent.api.js.map +1 -1
- package/lib/core/runners/distributed-agent/distributed-agent.impl.js +1 -269
- package/lib/core/runners/distributed-agent/distributed-agent.impl.js.map +1 -1
- package/lib/core/runners/distributed-execution/distributed-execution.api.js +1 -143
- package/lib/core/runners/distributed-execution/distributed-execution.runner.js +1 -220
- package/lib/core/runners/distributed-execution/distributed-execution.runner.js.map +1 -1
- package/lib/core/runners/distributed-execution/split-task-graph-into-stages.js +1 -37
- package/lib/core/runners/distributed-execution/task-graph-creator.js +1 -77
- package/lib/utilities/environment.d.ts +2 -0
- package/lib/utilities/environment.js +21 -10
- package/lib/utilities/environment.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,36 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ErrorReporterApi = void 0;
|
|
13
|
-
const axios_1 = require("../../utilities/axios");
|
|
14
|
-
const { output } = require('../../utilities/nx-imports');
|
|
15
|
-
class ErrorReporterApi {
|
|
16
|
-
constructor(options) {
|
|
17
|
-
this.apiAxiosInstance = (0, axios_1.createApiAxiosInstance)(options);
|
|
18
|
-
}
|
|
19
|
-
reportError(message) {
|
|
20
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
try {
|
|
22
|
-
yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/report-client-error', {
|
|
23
|
-
message,
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
catch (e) {
|
|
27
|
-
output.warn({
|
|
28
|
-
title: `Unable to record the following error: '${message}'`,
|
|
29
|
-
bodyLines: [e.message],
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.ErrorReporterApi = ErrorReporterApi;
|
|
36
|
-
//# sourceMappingURL=error-reporter.api.js.map
|
|
1
|
+
const a0_0x2f9e=['then','__awaiter','message','../../utilities/axios','done','defineProperty','axiosMultipleTries','../../utilities/nx-imports','ErrorReporterApi','reportError','createApiAxiosInstance','Unable\x20to\x20record\x20the\x20following\x20error:\x20\x27','__esModule','post','apiAxiosInstance','throw','apply','/nx-cloud/report-client-error','next','value'];(function(_0x588a66,_0x2f9e7a){const _0x4c75ed=function(_0x2a2170){while(--_0x2a2170){_0x588a66['push'](_0x588a66['shift']());}};_0x4c75ed(++_0x2f9e7a);}(a0_0x2f9e,0x1d8));const a0_0x4c75=function(_0x588a66,_0x2f9e7a){_0x588a66=_0x588a66-0x0;let _0x4c75ed=a0_0x2f9e[_0x588a66];return _0x4c75ed;};'use strict';var __awaiter=this&&this[a0_0x4c75('0x9')]||function(_0x379205,_0x3cb440,_0x5a5cef,_0x24755d){function _0x2f6a03(_0x25bd72){return _0x25bd72 instanceof _0x5a5cef?_0x25bd72:new _0x5a5cef(function(_0x598812){_0x598812(_0x25bd72);});}return new(_0x5a5cef||(_0x5a5cef=Promise))(function(_0x31c04e,_0x1b9549){function _0xdeb211(_0x4fd3d3){try{_0x56e1d5(_0x24755d[a0_0x4c75('0x6')](_0x4fd3d3));}catch(_0x303142){_0x1b9549(_0x303142);}}function _0x974dee(_0xe7b556){try{_0x56e1d5(_0x24755d[a0_0x4c75('0x3')](_0xe7b556));}catch(_0x5b1a02){_0x1b9549(_0x5b1a02);}}function _0x56e1d5(_0x58972e){_0x58972e[a0_0x4c75('0xc')]?_0x31c04e(_0x58972e[a0_0x4c75('0x7')]):_0x2f6a03(_0x58972e[a0_0x4c75('0x7')])[a0_0x4c75('0x8')](_0xdeb211,_0x974dee);}_0x56e1d5((_0x24755d=_0x24755d[a0_0x4c75('0x4')](_0x379205,_0x3cb440||[]))['next']());});};Object[a0_0x4c75('0xd')](exports,a0_0x4c75('0x0'),{'value':!![]});exports[a0_0x4c75('0x10')]=void 0x0;const axios_1=require(a0_0x4c75('0xb'));const {output}=require(a0_0x4c75('0xf'));class ErrorReporterApi{constructor(_0x1b5ef6){this[a0_0x4c75('0x2')]=(0x0,axios_1[a0_0x4c75('0x12')])(_0x1b5ef6);}[a0_0x4c75('0x11')](_0x1ae080){return __awaiter(this,void 0x0,void 0x0,function*(){try{yield(0x0,axios_1[a0_0x4c75('0xe')])(()=>this[a0_0x4c75('0x2')][a0_0x4c75('0x1')](a0_0x4c75('0x5'),{'message':_0x1ae080}));}catch(_0x2f04bb){output['warn']({'title':a0_0x4c75('0x13')+_0x1ae080+'\x27','bodyLines':[_0x2f04bb[a0_0x4c75('0xa')]]});}});}}exports[a0_0x4c75('0x10')]=ErrorReporterApi;
|
|
@@ -1,68 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RunGroupApi = void 0;
|
|
13
|
-
const axios_1 = require("../../utilities/axios");
|
|
14
|
-
const metric_logger_1 = require("../../utilities/metric-logger");
|
|
15
|
-
const { output } = require('../../utilities/nx-imports');
|
|
16
|
-
class RunGroupApi {
|
|
17
|
-
constructor(options) {
|
|
18
|
-
this.apiAxiosInstance = (0, axios_1.createApiAxiosInstance)(options);
|
|
19
|
-
}
|
|
20
|
-
createRunGroup(branch, runGroup, stopAgentsOnFailure, agentCount, stopAgentsAfter) {
|
|
21
|
-
var _a;
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const recorder = (0, metric_logger_1.createMetricRecorder)('createRunGroup');
|
|
24
|
-
try {
|
|
25
|
-
const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/create-run-group', {
|
|
26
|
-
branch,
|
|
27
|
-
runGroup,
|
|
28
|
-
stopAgentsOnFailure,
|
|
29
|
-
agentCount,
|
|
30
|
-
stopAgentsAfter,
|
|
31
|
-
}));
|
|
32
|
-
recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
|
|
33
|
-
}
|
|
34
|
-
catch (e) {
|
|
35
|
-
recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
|
|
36
|
-
? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
|
|
37
|
-
: metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
|
|
38
|
-
output.error({
|
|
39
|
-
title: e.message,
|
|
40
|
-
});
|
|
41
|
-
process.exit(1);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
completeRunGroup(runGroup) {
|
|
46
|
-
var _a;
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const recorder = (0, metric_logger_1.createMetricRecorder)('createRunGroup');
|
|
49
|
-
try {
|
|
50
|
-
const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/complete-run-group', {
|
|
51
|
-
runGroup: runGroup,
|
|
52
|
-
}));
|
|
53
|
-
recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
|
|
57
|
-
? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
|
|
58
|
-
: metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
|
|
59
|
-
output.error({
|
|
60
|
-
title: e.message,
|
|
61
|
-
});
|
|
62
|
-
process.exit(1);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.RunGroupApi = RunGroupApi;
|
|
68
|
-
//# sourceMappingURL=run-group.api.js.map
|
|
1
|
+
const a1_0x5b78=['defineProperty','completeRunGroup','message','/nx-cloud/executions/complete-run-group','RUNNER_FAILURE_PERF_ENTRY','recordMetric','RunGroupApi','post','createMetricRecorder','mapRespToPerfEntry','next','createRunGroup','__esModule','../../utilities/metric-logger','../../utilities/nx-imports','value','__awaiter','../../utilities/axios','done','then','error','exit','axiosException','axiosMultipleTries','apply','response','apiAxiosInstance','createApiAxiosInstance','throw'];(function(_0x420f89,_0x5b7826){const _0x24823e=function(_0x250ebe){while(--_0x250ebe){_0x420f89['push'](_0x420f89['shift']());}};_0x24823e(++_0x5b7826);}(a1_0x5b78,0x179));const a1_0x2482=function(_0x420f89,_0x5b7826){_0x420f89=_0x420f89-0x0;let _0x24823e=a1_0x5b78[_0x420f89];return _0x24823e;};'use strict';var __awaiter=this&&this[a1_0x2482('0x10')]||function(_0x1750a1,_0x2eb290,_0x4be0b2,_0x3e1fac){function _0x174cd0(_0x83e327){return _0x83e327 instanceof _0x4be0b2?_0x83e327:new _0x4be0b2(function(_0x2cba98){_0x2cba98(_0x83e327);});}return new(_0x4be0b2||(_0x4be0b2=Promise))(function(_0x55cd7e,_0x1d1cbb){function _0x478405(_0x5b90f4){try{_0xe5d0bd(_0x3e1fac[a1_0x2482('0xa')](_0x5b90f4));}catch(_0xcada7b){_0x1d1cbb(_0xcada7b);}}function _0x29a06f(_0x5355ce){try{_0xe5d0bd(_0x3e1fac[a1_0x2482('0x1c')](_0x5355ce));}catch(_0x2c3dfc){_0x1d1cbb(_0x2c3dfc);}}function _0xe5d0bd(_0x59e965){_0x59e965[a1_0x2482('0x12')]?_0x55cd7e(_0x59e965[a1_0x2482('0xf')]):_0x174cd0(_0x59e965[a1_0x2482('0xf')])[a1_0x2482('0x13')](_0x478405,_0x29a06f);}_0xe5d0bd((_0x3e1fac=_0x3e1fac[a1_0x2482('0x18')](_0x1750a1,_0x2eb290||[]))[a1_0x2482('0xa')]());});};Object[a1_0x2482('0x0')](exports,a1_0x2482('0xc'),{'value':!![]});exports[a1_0x2482('0x6')]=void 0x0;const axios_1=require(a1_0x2482('0x11'));const metric_logger_1=require(a1_0x2482('0xd'));const {output}=require(a1_0x2482('0xe'));class RunGroupApi{constructor(_0x32ab61){this[a1_0x2482('0x1a')]=(0x0,axios_1[a1_0x2482('0x1b')])(_0x32ab61);}['createRunGroup'](_0x2275af,_0x50120f,_0x590ee8,_0x5a5d52,_0x561f9c){var _0x1a0e66;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x26f8ac=(0x0,metric_logger_1['createMetricRecorder'])(a1_0x2482('0xb'));try{const _0x479a35=yield(0x0,axios_1[a1_0x2482('0x17')])(()=>this['apiAxiosInstance']['post']('/nx-cloud/executions/create-run-group',{'branch':_0x2275af,'runGroup':_0x50120f,'stopAgentsOnFailure':_0x590ee8,'agentCount':_0x5a5d52,'stopAgentsAfter':_0x561f9c}));_0x26f8ac[a1_0x2482('0x5')]((0x0,metric_logger_1[a1_0x2482('0x9')])(_0x479a35));}catch(_0x4048f4){_0x26f8ac[a1_0x2482('0x5')](((_0x1a0e66=_0x4048f4===null||_0x4048f4===void 0x0?void 0x0:_0x4048f4[a1_0x2482('0x16')])===null||_0x1a0e66===void 0x0?void 0x0:_0x1a0e66[a1_0x2482('0x19')])?(0x0,metric_logger_1[a1_0x2482('0x9')])(_0x4048f4[a1_0x2482('0x16')][a1_0x2482('0x19')]):metric_logger_1['RUNNER_FAILURE_PERF_ENTRY']);output[a1_0x2482('0x14')]({'title':_0x4048f4[a1_0x2482('0x2')]});process[a1_0x2482('0x15')](0x1);}});}[a1_0x2482('0x1')](_0x5e6e7d){var _0x11e004;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x3e51aa=(0x0,metric_logger_1[a1_0x2482('0x8')])('createRunGroup');try{const _0x42064c=yield(0x0,axios_1['axiosMultipleTries'])(()=>this[a1_0x2482('0x1a')][a1_0x2482('0x7')](a1_0x2482('0x3'),{'runGroup':_0x5e6e7d}));_0x3e51aa[a1_0x2482('0x5')]((0x0,metric_logger_1[a1_0x2482('0x9')])(_0x42064c));}catch(_0x2f42b7){_0x3e51aa[a1_0x2482('0x5')](((_0x11e004=_0x2f42b7===null||_0x2f42b7===void 0x0?void 0x0:_0x2f42b7[a1_0x2482('0x16')])===null||_0x11e004===void 0x0?void 0x0:_0x11e004['response'])?(0x0,metric_logger_1[a1_0x2482('0x9')])(_0x2f42b7[a1_0x2482('0x16')]['response']):metric_logger_1[a1_0x2482('0x4')]);output[a1_0x2482('0x14')]({'title':_0x2f42b7[a1_0x2482('0x2')]});process[a1_0x2482('0x15')](0x1);}});}}exports[a1_0x2482('0x6')]=RunGroupApi;
|
|
@@ -17,7 +17,7 @@ const { output, workspaceRoot } = require('../../utilities/nx-imports');
|
|
|
17
17
|
function cleanUpAgents() {
|
|
18
18
|
return __awaiter(this, void 0, void 0, function* () {
|
|
19
19
|
const options = JSON.parse(stripJsonComments((0, fs_1.readFileSync)(`${workspaceRoot}/nx.json`).toString())).tasksRunnerOptions.default.options;
|
|
20
|
-
const cacheDirectory = options
|
|
20
|
+
const cacheDirectory = (0, environment_1.getNxCacheDirectory)(options);
|
|
21
21
|
const lockFileDirectory = `${cacheDirectory}/lockfiles`;
|
|
22
22
|
if (environment_1.VERBOSE_LOGGING) {
|
|
23
23
|
output.note({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean-up-agents.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/commands/clean-up-agents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"clean-up-agents.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/commands/clean-up-agents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyD;AACzD,6DAGqC;AACrC,2BAAsC;AAEtC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAExE,SAAsB,aAAa;;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,iBAAiB,CAAC,IAAA,iBAAY,EAAC,GAAG,aAAa,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CACvE,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;QACrC,MAAM,cAAc,GAAG,IAAA,iCAAmB,EAAC,OAAO,CAAC,CAAC;QACpD,MAAM,iBAAiB,GAAG,GAAG,cAAc,YAAY,CAAC;QAExD,IAAI,6BAAe,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,gDAAgD;aACxD,CAAC,CAAC;SACJ;QAED,OAAO,IAAA,OAAE,EAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YACrE,IAAI,GAAG;gBAAE,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAhBD,sCAgBC"}
|
|
@@ -10,15 +10,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.uploadAndShowRunDetails = void 0;
|
|
13
|
-
const environment_1 = require("../../utilities/environment");
|
|
14
|
-
const cloud_run_api_1 = require("../runners/cloud-enabled/cloud-run.api");
|
|
15
|
-
const message_reporter_1 = require("../terminal-output/message-reporter");
|
|
16
13
|
const fs_1 = require("fs");
|
|
14
|
+
const open = require("open");
|
|
17
15
|
const path_1 = require("path");
|
|
16
|
+
const environment_1 = require("../../utilities/environment");
|
|
17
|
+
const cloud_run_api_1 = require("../runners/cloud-enabled/cloud-run.api");
|
|
18
18
|
const id_generator_1 = require("../runners/cloud-enabled/id-generator");
|
|
19
|
-
const
|
|
20
|
-
const read_task_terminal_output_1 = require("../terminal-output/read-task-terminal-output");
|
|
19
|
+
const message_reporter_1 = require("../terminal-output/message-reporter");
|
|
21
20
|
const output_obfuscator_1 = require("../terminal-output/output-obfuscator");
|
|
21
|
+
const read_task_terminal_output_1 = require("../terminal-output/read-task-terminal-output");
|
|
22
22
|
const { workspaceRoot, output } = require('../../utilities/nx-imports');
|
|
23
23
|
function uploadRunDetails(options) {
|
|
24
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -26,7 +26,7 @@ function uploadRunDetails(options) {
|
|
|
26
26
|
const runContext = {};
|
|
27
27
|
const machineInfo = (0, environment_1.getMachineInfo)(options);
|
|
28
28
|
const api = new cloud_run_api_1.CloudRunApi(errors, runContext, options, machineInfo);
|
|
29
|
-
const directory = options
|
|
29
|
+
const directory = (0, environment_1.getNxCacheDirectory)(options);
|
|
30
30
|
const outputObfusactor = new output_obfuscator_1.OutputObfuscator(options.maskedProperties);
|
|
31
31
|
const runInfo = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(directory, 'run.json')).toString());
|
|
32
32
|
// we need to connect to cloud if not connected yet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-and-show-run-details.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/commands/upload-and-show-run-details.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"upload-and-show-run-details.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/commands/upload-and-show-run-details.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAkC;AAClC,6BAA6B;AAC7B,+BAA4B;AAC5B,6DAGqC;AAErC,0EAAqE;AACrE,wEAA6E;AAC7E,0EAAsE;AACtE,4EAAwE;AACxE,4FAAsF;AAEtF,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAExE,SAAe,gBAAgB,CAAC,OAA+B;;QAC7D,MAAM,MAAM,GAAG,IAAI,kCAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,EAAS,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAA,4BAAc,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,2BAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,IAAA,iCAAmB,EAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CACrD,CAAC;QAEF,mDAAmD;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCAClC,CAAC,KACJ,cAAc,EAAE,IAAA,kDAAsB,EACpC,SAAS,EACT,gBAAgB,EAChB,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,WAAW,EACb,CAAC,CAAC,MAAM,CACT,IACD,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,IAAA,mCAAoB,GAAE,CAAC;QACtC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAgB,SAAS,MAAM,EAAE,CAAC;IAC7D,CAAC;CAAA;AAED,SAAsB,uBAAuB;;QAC3C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC;YACb,KAAK,EAAE,uCAAuC;YAC9C,SAAS,EAAE,CAAC,uBAAuB,GAAG,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;CAAA;AARD,0DAQC;AAED,SAAS,WAAW;;IAClB,IAAI;QACF,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,0CACtE,kBAAkB,0CAAE,OAAO,0CAAE,OAAO,CAAC;KAC1C;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAA4B,CAAC;KACrC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function printCacheableTargetsError(wrongTargets: string[]): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printCacheableTargetsError = void 0;
|
|
4
|
+
const { output } = require('../../utilities/nx-imports');
|
|
5
|
+
function printCacheableTargetsError(wrongTargets) {
|
|
6
|
+
output.error({
|
|
7
|
+
title: `Targets Must Be Cacheable Operations.`,
|
|
8
|
+
bodyLines: [
|
|
9
|
+
`- Found non-cacheable operation(s): ${wrongTargets.join(', ')}`,
|
|
10
|
+
`- Cacheable operations are defined in your nx.json file.`,
|
|
11
|
+
],
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
exports.printCacheableTargetsError = printCacheableTargetsError;
|
|
15
|
+
//# sourceMappingURL=print-cacheable-targets-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-cacheable-targets-error.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/error/print-cacheable-targets-error.ts"],"names":[],"mappings":";;;AAAA,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAEzD,SAAgB,0BAA0B,CAAC,YAAsB;IAC/D,MAAM,CAAC,KAAK,CAAC;QACX,KAAK,EAAE,uCAAuC;QAC9C,SAAS,EAAE;YACT,uCAAuC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAChE,0DAA0D;SAC3D;KACF,CAAC,CAAC;AACL,CAAC;AARD,gEAQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-context.model.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/models/run-context.model.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"run-context.model.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/models/run-context.model.ts"],"names":[],"mappings":";;;AAqCA;;GAEG;AACH,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,mCAAiB,CAAA;IACjB;;OAEG;IACH,qCAAmB,CAAA;IACnB;;OAEG;IACH,uCAAqB,CAAA;AACvB,CAAC,EAbW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAazB"}
|
|
@@ -4,15 +4,13 @@ import { OutputObfuscator } from '../../terminal-output/output-obfuscator';
|
|
|
4
4
|
export declare class CloudEnabledLifeCycle {
|
|
5
5
|
private readonly runContext;
|
|
6
6
|
private readonly cacheDirectory;
|
|
7
|
-
private readonly skipNxCache;
|
|
8
7
|
private readonly collectTerminalOutput;
|
|
9
8
|
private readonly cacheableOperations;
|
|
10
9
|
private readonly outputObfuscator;
|
|
11
10
|
private readonly tasks;
|
|
12
|
-
constructor(runContext: RunContext, cacheDirectory: string | undefined,
|
|
11
|
+
constructor(runContext: RunContext, cacheDirectory: string | undefined, collectTerminalOutput: boolean, cacheableOperations: string[], outputObfuscator: OutputObfuscator, tasks: TaskExecution[]);
|
|
13
12
|
scheduleTask(task: Task): void;
|
|
14
13
|
startTask(task: Task): void;
|
|
15
|
-
endTask(task: Task, code: number): void;
|
|
16
14
|
endTasks(tasks: TaskResult[]): void;
|
|
17
15
|
endCommand(): void;
|
|
18
16
|
private updateStartedTask;
|
|
@@ -1,109 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CloudEnabledLifeCycle = void 0;
|
|
4
|
-
const serializer_overrides_1 = require("../../../utilities/serializer-overrides");
|
|
5
|
-
const read_task_terminal_output_1 = require("../../terminal-output/read-task-terminal-output");
|
|
6
|
-
const { workspaceRoot } = require('../../../utilities/nx-imports');
|
|
7
|
-
class CloudEnabledLifeCycle {
|
|
8
|
-
constructor(runContext, cacheDirectory, skipNxCache, collectTerminalOutput, cacheableOperations, outputObfuscator, tasks) {
|
|
9
|
-
this.runContext = runContext;
|
|
10
|
-
this.cacheDirectory = cacheDirectory;
|
|
11
|
-
this.skipNxCache = skipNxCache;
|
|
12
|
-
this.collectTerminalOutput = collectTerminalOutput;
|
|
13
|
-
this.cacheableOperations = cacheableOperations;
|
|
14
|
-
this.outputObfuscator = outputObfuscator;
|
|
15
|
-
this.tasks = tasks;
|
|
16
|
-
}
|
|
17
|
-
scheduleTask(task) {
|
|
18
|
-
this.runContext.scheduledTasks.push(task);
|
|
19
|
-
}
|
|
20
|
-
startTask(task) {
|
|
21
|
-
this.tasks.push({
|
|
22
|
-
taskId: task.id,
|
|
23
|
-
startTime: new Date().toISOString(),
|
|
24
|
-
target: task.target.target,
|
|
25
|
-
projectName: task.target.project,
|
|
26
|
-
hash: task.hash,
|
|
27
|
-
hashDetails: this.cleanUpHashDetails(task.hashDetails),
|
|
28
|
-
params: (0, serializer_overrides_1.serializeOverrides)(task),
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
// Used for older version for Nx. Remove in Dec 2022
|
|
32
|
-
endTask(task, code) {
|
|
33
|
-
let cacheStatus;
|
|
34
|
-
if (this.runContext.statuses[task.hash]) {
|
|
35
|
-
cacheStatus = this.runContext.statuses[task.hash];
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
if (this.cacheableOperations.indexOf(task.target.target) > -1 &&
|
|
39
|
-
!this.skipNxCache) {
|
|
40
|
-
cacheStatus = 'local-cache-hit';
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
cacheStatus = 'cache-miss';
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
this.updateStartedTask(task, code, cacheStatus);
|
|
47
|
-
}
|
|
48
|
-
endTasks(tasks) {
|
|
49
|
-
for (let t of tasks) {
|
|
50
|
-
let cacheStatus;
|
|
51
|
-
const taskIsRemoteCacheHit = t.status === 'remote-cache';
|
|
52
|
-
const taskIsLocalCacheHitPreNx135 = t.status === 'cache';
|
|
53
|
-
const taskIsLocalCacheHit = t.status === 'local-cache' ||
|
|
54
|
-
t.status === 'local-cache-kept-existing' ||
|
|
55
|
-
taskIsLocalCacheHitPreNx135;
|
|
56
|
-
if (this.runContext.statuses[t.task.hash]) {
|
|
57
|
-
cacheStatus = this.runContext.statuses[t.task.hash];
|
|
58
|
-
}
|
|
59
|
-
else if (taskIsRemoteCacheHit) {
|
|
60
|
-
cacheStatus = 'remote-cache-hit';
|
|
61
|
-
}
|
|
62
|
-
else if (taskIsLocalCacheHit) {
|
|
63
|
-
cacheStatus = 'local-cache-hit';
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
if (this.cacheableOperations.indexOf(t.task.target.target) > -1 &&
|
|
67
|
-
!this.skipNxCache) {
|
|
68
|
-
cacheStatus = 'local-cache-hit';
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
cacheStatus = 'cache-miss';
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
this.updateStartedTask(t.task, t.code, cacheStatus);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
endCommand() { }
|
|
78
|
-
updateStartedTask(task, code, cacheStatus) {
|
|
79
|
-
const startedTask = this.tasks.find((t) => t.taskId === task.id);
|
|
80
|
-
if (!startedTask) {
|
|
81
|
-
throw new Error(`Cannot find task ${task.id}`);
|
|
82
|
-
}
|
|
83
|
-
startedTask.endTime = new Date().toISOString();
|
|
84
|
-
startedTask.status = code;
|
|
85
|
-
startedTask.params = this.outputObfuscator.obfuscate(startedTask.params);
|
|
86
|
-
startedTask.cacheStatus = cacheStatus;
|
|
87
|
-
if (this.collectTerminalOutput) {
|
|
88
|
-
startedTask.terminalOutput = this.getTerminalOutput(task.hash, startedTask.cacheStatus, code);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
getTerminalOutput(hash, cacheStatus, code) {
|
|
92
|
-
return (0, read_task_terminal_output_1.readTaskTerminalOutput)(this.cacheDirectory, this.outputObfuscator, hash, cacheStatus, code);
|
|
93
|
-
}
|
|
94
|
-
cleanUpHashDetails(hashDetails) {
|
|
95
|
-
const nodes = {};
|
|
96
|
-
Object.keys(hashDetails.nodes)
|
|
97
|
-
.filter((k) => !k.startsWith('npm:'))
|
|
98
|
-
.forEach((k) => {
|
|
99
|
-
nodes[k] = hashDetails.nodes[k];
|
|
100
|
-
});
|
|
101
|
-
return {
|
|
102
|
-
nodes,
|
|
103
|
-
runtime: hashDetails.runtime,
|
|
104
|
-
implicitDeps: hashDetails.implicitDeps,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.CloudEnabledLifeCycle = CloudEnabledLifeCycle;
|
|
109
|
-
//# sourceMappingURL=cloud-enabled-life-cycle.js.map
|
|
1
|
+
const a0_0x45c1=['outputObfuscator','toISOString','task','local-cache-hit','readTaskTerminalOutput','cacheDirectory','updateStartedTask','collectTerminalOutput','cache-miss','startTask','startTime','../../terminal-output/read-task-terminal-output','hash','hashDetails','local-cache-kept-existing','scheduleTask','cacheableOperations','filter','../../../utilities/serializer-overrides','params','nodes','endTime','project','getTerminalOutput','keys','runContext','cacheStatus','terminalOutput','startsWith','push','Cannot\x20find\x20task\x20','remote-cache-hit','obfuscate','runtime','CloudEnabledLifeCycle','find','local-cache','code','tasks','implicitDeps','cleanUpHashDetails','serializeOverrides','target','status'];(function(_0x205435,_0x45c1d1){const _0x251fa3=function(_0x4d542e){while(--_0x4d542e){_0x205435['push'](_0x205435['shift']());}};_0x251fa3(++_0x45c1d1);}(a0_0x45c1,0xeb));const a0_0x251f=function(_0x205435,_0x45c1d1){_0x205435=_0x205435-0x0;let _0x251fa3=a0_0x45c1[_0x205435];return _0x251fa3;};'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]});exports[a0_0x251f('0x13')]=void 0x0;const serializer_overrides_1=require(a0_0x251f('0x3'));const read_task_terminal_output_1=require(a0_0x251f('0x28'));class CloudEnabledLifeCycle{constructor(_0xc460dc,_0x1d9880,_0x1b0d15,_0x2dff86,_0x561e86,_0x1bbfce){this[a0_0x251f('0xa')]=_0xc460dc;this[a0_0x251f('0x22')]=_0x1d9880;this[a0_0x251f('0x24')]=_0x1b0d15;this[a0_0x251f('0x1')]=_0x2dff86;this[a0_0x251f('0x1d')]=_0x561e86;this[a0_0x251f('0x17')]=_0x1bbfce;}[a0_0x251f('0x0')](_0x3a119c){this[a0_0x251f('0xa')]['scheduledTasks'][a0_0x251f('0xe')](_0x3a119c);}[a0_0x251f('0x26')](_0x18e64f){this[a0_0x251f('0x17')]['push']({'taskId':_0x18e64f['id'],'startTime':new Date()[a0_0x251f('0x1e')](),'target':_0x18e64f[a0_0x251f('0x1b')][a0_0x251f('0x1b')],'projectName':_0x18e64f[a0_0x251f('0x1b')][a0_0x251f('0x7')],'hash':_0x18e64f[a0_0x251f('0x29')],'hashDetails':this[a0_0x251f('0x19')](_0x18e64f[a0_0x251f('0x2a')]),'params':(0x0,serializer_overrides_1[a0_0x251f('0x1a')])(_0x18e64f)});}['endTasks'](_0x4867c4){for(let _0x4252a0 of _0x4867c4){let _0x195dac;const _0x398904=_0x4252a0[a0_0x251f('0x1c')]==='remote-cache';const _0x43f5c9=_0x4252a0['status']==='cache';const _0x9c5afc=_0x4252a0[a0_0x251f('0x1c')]===a0_0x251f('0x15')||_0x4252a0[a0_0x251f('0x1c')]===a0_0x251f('0x2b')||_0x43f5c9;if(this['runContext']['statuses'][_0x4252a0[a0_0x251f('0x1f')]['hash']]){_0x195dac=this[a0_0x251f('0xa')]['statuses'][_0x4252a0[a0_0x251f('0x1f')][a0_0x251f('0x29')]];}else if(_0x398904){_0x195dac=a0_0x251f('0x10');}else if(_0x9c5afc){_0x195dac=a0_0x251f('0x20');}else{_0x195dac=a0_0x251f('0x25');}this[a0_0x251f('0x23')](_0x4252a0,_0x195dac);}}['endCommand'](){}[a0_0x251f('0x23')](_0x1fb175,_0x4e3563){const _0x228c6f=this[a0_0x251f('0x17')][a0_0x251f('0x14')](_0x44a7cb=>_0x44a7cb['taskId']===_0x1fb175[a0_0x251f('0x1f')]['id']);if(!_0x228c6f){throw new Error(a0_0x251f('0xf')+_0x1fb175[a0_0x251f('0x1f')]['id']);}if((_0x1fb175===null||_0x1fb175===void 0x0?void 0x0:_0x1fb175['startTime'])&&(_0x1fb175===null||_0x1fb175===void 0x0?void 0x0:_0x1fb175[a0_0x251f('0x6')])){_0x228c6f[a0_0x251f('0x27')]=new Date(_0x1fb175['startTime'])['toISOString']();_0x228c6f[a0_0x251f('0x6')]=new Date(_0x1fb175[a0_0x251f('0x6')])['toISOString']();}else{_0x228c6f[a0_0x251f('0x6')]=new Date()['toISOString']();}_0x228c6f['status']=_0x1fb175[a0_0x251f('0x16')];_0x228c6f['params']=this['outputObfuscator'][a0_0x251f('0x11')](_0x228c6f[a0_0x251f('0x4')]);_0x228c6f['cacheStatus']=_0x4e3563;if(this[a0_0x251f('0x24')]){_0x228c6f[a0_0x251f('0xc')]=this[a0_0x251f('0x8')](_0x1fb175[a0_0x251f('0x1f')]['hash'],_0x228c6f[a0_0x251f('0xb')],_0x1fb175[a0_0x251f('0x16')]);}}['getTerminalOutput'](_0x306e52,_0x3ea24e,_0x4193e8){return(0x0,read_task_terminal_output_1[a0_0x251f('0x21')])(this[a0_0x251f('0x22')],this[a0_0x251f('0x1d')],_0x306e52,_0x3ea24e,_0x4193e8);}[a0_0x251f('0x19')](_0x959d2d){const _0x9e4975={};Object[a0_0x251f('0x9')](_0x959d2d['nodes'])[a0_0x251f('0x2')](_0x1fb876=>!_0x1fb876[a0_0x251f('0xd')]('npm:'))['forEach'](_0x2d08b5=>{_0x9e4975[_0x2d08b5]=_0x959d2d[a0_0x251f('0x5')][_0x2d08b5];});return{'nodes':_0x9e4975,'runtime':_0x959d2d[a0_0x251f('0x12')],'implicitDeps':_0x959d2d[a0_0x251f('0x18')]};}}exports[a0_0x251f('0x13')]=CloudEnabledLifeCycle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-enabled-life-cycle.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cloud-enabled-life-cycle.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.ts"],"names":[],"mappings":"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"}
|