@nrwl/nx-cloud 15.3.0 → 15.3.1-beta.1

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.
Files changed (22) hide show
  1. package/lib/core/api/error-reporter.api.js +36 -1
  2. package/lib/core/api/run-group.api.js +73 -1
  3. package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js +93 -1
  4. package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js +320 -1
  5. package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js.map +1 -1
  6. package/lib/core/runners/cloud-enabled/cloud-remote-cache.js +133 -1
  7. package/lib/core/runners/cloud-enabled/cloud-run.api.js +168 -1
  8. package/lib/core/runners/cloud-enabled/id-generator.js +16 -1
  9. package/lib/core/runners/distributed-agent/distributed-agent.api.js +93 -1
  10. package/lib/core/runners/distributed-agent/distributed-agent.impl.js +157 -1
  11. package/lib/core/runners/distributed-agent/execute-tasks.js +114 -1
  12. package/lib/core/runners/distributed-agent/invoke-tasks-using-nx-imperative-api.js +58 -1
  13. package/lib/core/runners/distributed-agent/invoke-tasks-using-run-many.js +97 -1
  14. package/lib/core/runners/distributed-execution/distributed-execution.api.js +152 -1
  15. package/lib/core/runners/distributed-execution/distributed-execution.runner.js +118 -1
  16. package/lib/core/runners/distributed-execution/process-task.js +45 -1
  17. package/lib/core/runners/distributed-execution/process-tasks.js +67 -1
  18. package/lib/core/runners/distributed-execution/split-task-graph-into-stages.js +37 -1
  19. package/lib/core/runners/distributed-execution/task-graph-creator.js +100 -1
  20. package/lib/daemon/process-run-end.js +1 -1
  21. package/lib/daemon/process-run-end.js.map +1 -1
  22. package/package.json +1 -1
@@ -1 +1,152 @@
1
- const a10_0x34b8=['ciExecutionEnv:\x20','enabled','../../../utilities/serializer-overrides','maxParallel','Starting\x20a\x20distributed\x20execution','response','target','post','NX_CLOUD_DISTRIBUTED_EXECUTION_STOP_AGENTS_ON_FAILURE','ciExecutionId:\x20','../../../utilities/metric-logger','recordMetric','__awaiter','dteStatus','message','DistributedExecutionApi','../../../utilities/nx-imports','runGroup:\x20','createStartRequest','note','stringify','Workspace\x20is\x20disabled.\x20Cannot\x20perform\x20distributed\x20task\x20executions.','exit','true','completeRunGroupWithError','RUNNER_FAILURE_PERF_ENTRY','apply','mapRespToPerfEntry','axiosMultipleTries','apiAxiosInstance','/nx-cloud/executions/complete-run-group','dteStart','value','error:\x20','stopAgentsOnFailure','agentCount','error','next','createMetricRecorder','VERBOSE_LOGGING','serializeOverrides','../../../utilities/environment','map','/nx-cloud/executions/status','completeRunGroup','NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT','axiosException','false','data','createApiAxiosInstance','parseCommand','parallel','start'];(function(_0x296dac,_0x34b8b4){const _0x11f366=function(_0x787cd0){while(--_0x787cd0){_0x296dac['push'](_0x296dac['shift']());}};_0x11f366(++_0x34b8b4);}(a10_0x34b8,0x112));const a10_0x11f3=function(_0x296dac,_0x34b8b4){_0x296dac=_0x296dac-0x0;let _0x11f366=a10_0x34b8[_0x296dac];return _0x11f366;};'use strict';var __awaiter=this&&this[a10_0x11f3('0x3')]||function(_0x56321c,_0x1643b6,_0x250e55,_0x4b727c){function _0x2a8c73(_0x541684){return _0x541684 instanceof _0x250e55?_0x541684:new _0x250e55(function(_0x4181af){_0x4181af(_0x541684);});}return new(_0x250e55||(_0x250e55=Promise))(function(_0x281c06,_0x31c419){function _0x3ba629(_0x563081){try{_0x289dcc(_0x4b727c[a10_0x11f3('0x1c')](_0x563081));}catch(_0x34f16f){_0x31c419(_0x34f16f);}}function _0x19771b(_0x162a10){try{_0x289dcc(_0x4b727c['throw'](_0x162a10));}catch(_0x59845e){_0x31c419(_0x59845e);}}function _0x289dcc(_0x7d9a54){_0x7d9a54['done']?_0x281c06(_0x7d9a54[a10_0x11f3('0x17')]):_0x2a8c73(_0x7d9a54[a10_0x11f3('0x17')])['then'](_0x3ba629,_0x19771b);}_0x289dcc((_0x4b727c=_0x4b727c[a10_0x11f3('0x11')](_0x56321c,_0x1643b6||[]))[a10_0x11f3('0x1c')]());});};Object['defineProperty'](exports,'__esModule',{'value':!![]});exports[a10_0x11f3('0x9')]=exports[a10_0x11f3('0x6')]=void 0x0;const axios_1=require('../../../utilities/axios');const environment_1=require(a10_0x11f3('0x20'));const metric_logger_1=require(a10_0x11f3('0x1'));const serializer_overrides_1=require(a10_0x11f3('0x2e'));const {output}=require(a10_0x11f3('0x7'));class DistributedExecutionApi{constructor(_0x4c0618){this[a10_0x11f3('0x14')]=(0x0,axios_1[a10_0x11f3('0x28')])(_0x4c0618);}[a10_0x11f3('0x2b')](_0x2d5087){var _0x22ea3b;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x2e08a5=(0x0,metric_logger_1[a10_0x11f3('0x1d')])(a10_0x11f3('0x16'));let _0x42cc6b;if(environment_1['VERBOSE_LOGGING']){output[a10_0x11f3('0xa')]({'title':a10_0x11f3('0x30'),'bodyLines':[JSON[a10_0x11f3('0xb')](_0x2d5087,null,0x2)]});}try{_0x42cc6b=yield(0x0,axios_1[a10_0x11f3('0x13')])(()=>this[a10_0x11f3('0x14')][a10_0x11f3('0x33')]('/nx-cloud/executions/start',_0x2d5087));_0x2e08a5[a10_0x11f3('0x2')]((0x0,metric_logger_1[a10_0x11f3('0x12')])(_0x42cc6b));}catch(_0x5b043c){_0x2e08a5[a10_0x11f3('0x2')](((_0x22ea3b=_0x5b043c===null||_0x5b043c===void 0x0?void 0x0:_0x5b043c['axiosException'])===null||_0x22ea3b===void 0x0?void 0x0:_0x22ea3b[a10_0x11f3('0x31')])?(0x0,metric_logger_1['mapRespToPerfEntry'])(_0x5b043c[a10_0x11f3('0x25')][a10_0x11f3('0x31')]):metric_logger_1[a10_0x11f3('0x10')]);throw _0x5b043c;}if(!_0x42cc6b[a10_0x11f3('0x27')][a10_0x11f3('0x2d')]){throw new Error(a10_0x11f3('0xc'));}if(_0x42cc6b[a10_0x11f3('0x27')][a10_0x11f3('0x1b')]){throw new Error(_0x42cc6b['data'][a10_0x11f3('0x1b')]);}return _0x42cc6b[a10_0x11f3('0x27')]['id'];});}['status'](_0x3641db){var _0x966a;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x32e8c5=(0x0,metric_logger_1['createMetricRecorder'])(a10_0x11f3('0x4'));try{const _0xe5faed=yield(0x0,axios_1['axiosMultipleTries'])(()=>this[a10_0x11f3('0x14')][a10_0x11f3('0x33')](a10_0x11f3('0x22'),{'id':_0x3641db}));_0x32e8c5[a10_0x11f3('0x2')]((0x0,metric_logger_1['mapRespToPerfEntry'])(_0xe5faed));return _0xe5faed[a10_0x11f3('0x27')];}catch(_0xfe2126){_0x32e8c5['recordMetric'](((_0x966a=_0xfe2126===null||_0xfe2126===void 0x0?void 0x0:_0xfe2126[a10_0x11f3('0x25')])===null||_0x966a===void 0x0?void 0x0:_0x966a[a10_0x11f3('0x31')])?(0x0,metric_logger_1[a10_0x11f3('0x12')])(_0xfe2126['axiosException']['response']):metric_logger_1['RUNNER_FAILURE_PERF_ENTRY']);output['error']({'title':_0xfe2126[a10_0x11f3('0x5')]});process[a10_0x11f3('0xd')](0x1);}});}[a10_0x11f3('0xf')](_0x1bc4c2,_0x3ba2a3,_0xb993c0,_0x360c71,_0x4eda3c){var _0x15c384;return __awaiter(this,void 0x0,void 0x0,function*(){const _0xc6586d=(0x0,metric_logger_1[a10_0x11f3('0x1d')])(a10_0x11f3('0x23'));if(environment_1[a10_0x11f3('0x1e')]){output['note']({'title':'Completing\x20with\x20an\x20error','bodyLines':[a10_0x11f3('0x0')+_0xb993c0,a10_0x11f3('0x2c')+_0x360c71,a10_0x11f3('0x8')+_0x3ba2a3,a10_0x11f3('0x18')+_0x4eda3c]});}try{const _0x270fc5=yield(0x0,axios_1[a10_0x11f3('0x13')])(()=>this['apiAxiosInstance'][a10_0x11f3('0x33')](a10_0x11f3('0x15'),{'runGroup':_0x3ba2a3,'ciExecutionId':_0xb993c0,'ciExecutionEnv':_0x360c71,'criticalErrorMessage':_0x4eda3c}),0x3);_0xc6586d[a10_0x11f3('0x2')]((0x0,metric_logger_1[a10_0x11f3('0x12')])(_0x270fc5));}catch(_0x26ada5){_0xc6586d[a10_0x11f3('0x2')](((_0x15c384=_0x26ada5===null||_0x26ada5===void 0x0?void 0x0:_0x26ada5['axiosException'])===null||_0x15c384===void 0x0?void 0x0:_0x15c384[a10_0x11f3('0x31')])?(0x0,metric_logger_1[a10_0x11f3('0x12')])(_0x26ada5['axiosException'][a10_0x11f3('0x31')]):metric_logger_1['RUNNER_FAILURE_PERF_ENTRY']);}});}}exports[a10_0x11f3('0x6')]=DistributedExecutionApi;function createStartRequest(_0x4a5184,_0x521e93,_0x2da93b,_0xca38af,_0x4ed9f3,_0x1a48b6){const _0x2afd2c=_0x4ed9f3[a10_0x11f3('0x21')](_0x518a18=>{return _0x518a18[a10_0x11f3('0x21')](_0x3b93aa=>{return{'taskId':_0x3b93aa['id'],'hash':_0x3b93aa['hash'],'projectName':_0x3b93aa['target']['project'],'target':_0x3b93aa[a10_0x11f3('0x32')][a10_0x11f3('0x32')],'configuration':_0x3b93aa[a10_0x11f3('0x32')]['configuration']||null,'params':(0x0,serializer_overrides_1[a10_0x11f3('0x1f')])(_0x3b93aa)};});});const _0x324b0e={'command':(0x0,environment_1[a10_0x11f3('0x29')])(),'branch':_0x4a5184,'runGroup':_0x521e93,'ciExecutionId':_0x2da93b,'ciExecutionEnv':_0xca38af,'tasks':_0x2afd2c,'maxParallel':calculateMaxParallel(_0x1a48b6)};if(environment_1[a10_0x11f3('0x24')]){_0x324b0e[a10_0x11f3('0x1a')]=environment_1[a10_0x11f3('0x24')];}if(!environment_1[a10_0x11f3('0x34')]){_0x324b0e[a10_0x11f3('0x19')]=![];}return _0x324b0e;}exports[a10_0x11f3('0x9')]=createStartRequest;function calculateMaxParallel(_0x45ad89){if(_0x45ad89[a10_0x11f3('0x2a')]===a10_0x11f3('0x26')||_0x45ad89['parallel']===![]){return 0x1;}else if(_0x45ad89['parallel']===a10_0x11f3('0xe')||_0x45ad89['parallel']===!![]){return Number(_0x45ad89[a10_0x11f3('0x2f')]||0x3);}else if(_0x45ad89[a10_0x11f3('0x2a')]===undefined){return _0x45ad89[a10_0x11f3('0x2f')]?Number(_0x45ad89[a10_0x11f3('0x2f')]):0x3;}else{return Number(_0x45ad89['parallel'])||0x3;}}
1
+ "use strict";
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.createStartRequest = exports.DistributedExecutionApi = void 0;
13
+ const axios_1 = require("../../../utilities/axios");
14
+ const environment_1 = require("../../../utilities/environment");
15
+ const metric_logger_1 = require("../../../utilities/metric-logger");
16
+ const serializer_overrides_1 = require("../../../utilities/serializer-overrides");
17
+ const { output } = require('../../../utilities/nx-imports');
18
+ class DistributedExecutionApi {
19
+ constructor(options) {
20
+ this.apiAxiosInstance = (0, axios_1.createApiAxiosInstance)(options);
21
+ }
22
+ start(params) {
23
+ var _a;
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const recorder = (0, metric_logger_1.createMetricRecorder)('dteStart');
26
+ let resp;
27
+ if (environment_1.VERBOSE_LOGGING) {
28
+ output.note({
29
+ title: 'Starting a distributed execution',
30
+ bodyLines: [JSON.stringify(params, null, 2)],
31
+ });
32
+ }
33
+ try {
34
+ resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/start', params));
35
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
36
+ }
37
+ catch (e) {
38
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
39
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
40
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
41
+ throw e;
42
+ }
43
+ if (!resp.data.enabled) {
44
+ throw new Error(`Workspace is disabled. Cannot perform distributed task executions.`);
45
+ }
46
+ if (resp.data.error) {
47
+ throw new Error(resp.data.error);
48
+ }
49
+ return resp.data.id;
50
+ });
51
+ }
52
+ status(id) {
53
+ var _a;
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const recorder = (0, metric_logger_1.createMetricRecorder)('dteStatus');
56
+ try {
57
+ const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/status', {
58
+ id,
59
+ }));
60
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
61
+ return resp.data;
62
+ }
63
+ catch (e) {
64
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
65
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
66
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
67
+ output.error({
68
+ title: e.message,
69
+ });
70
+ process.exit(1);
71
+ }
72
+ });
73
+ }
74
+ completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, error) {
75
+ var _a;
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const recorder = (0, metric_logger_1.createMetricRecorder)('completeRunGroup');
78
+ if (environment_1.VERBOSE_LOGGING) {
79
+ output.note({
80
+ title: 'Completing with an error',
81
+ bodyLines: [
82
+ `ciExecutionId: ${ciExecutionId}`,
83
+ `ciExecutionEnv: ${ciExecutionEnv}`,
84
+ `runGroup: ${runGroup}`,
85
+ `error: ${error}`,
86
+ ],
87
+ });
88
+ }
89
+ try {
90
+ const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/complete-run-group', {
91
+ runGroup,
92
+ ciExecutionId,
93
+ ciExecutionEnv,
94
+ criticalErrorMessage: error,
95
+ }), 3);
96
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
97
+ }
98
+ catch (e) {
99
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
100
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
101
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
102
+ }
103
+ });
104
+ }
105
+ }
106
+ exports.DistributedExecutionApi = DistributedExecutionApi;
107
+ function createStartRequest(branch, runGroup, ciExecutionId, ciExecutionEnv, task, options) {
108
+ const tasksToExecute = task.map((arr) => {
109
+ return arr.map((t) => {
110
+ return {
111
+ taskId: t.id,
112
+ hash: t.hash,
113
+ projectName: t.target.project,
114
+ target: t.target.target,
115
+ configuration: t.target.configuration || null,
116
+ params: (0, serializer_overrides_1.serializeOverrides)(t),
117
+ };
118
+ });
119
+ });
120
+ const request = {
121
+ command: (0, environment_1.parseCommand)(),
122
+ branch,
123
+ runGroup,
124
+ ciExecutionId,
125
+ ciExecutionEnv,
126
+ tasks: tasksToExecute,
127
+ maxParallel: calculateMaxParallel(options),
128
+ };
129
+ if (environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT) {
130
+ request.agentCount = environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT;
131
+ }
132
+ if (!environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_STOP_AGENTS_ON_FAILURE) {
133
+ request.stopAgentsOnFailure = false;
134
+ }
135
+ return request;
136
+ }
137
+ exports.createStartRequest = createStartRequest;
138
+ function calculateMaxParallel(options) {
139
+ if (options.parallel === 'false' || options.parallel === false) {
140
+ return 1;
141
+ }
142
+ else if (options.parallel === 'true' || options.parallel === true) {
143
+ return Number(options.maxParallel || 3);
144
+ }
145
+ else if (options.parallel === undefined) {
146
+ return options.maxParallel ? Number(options.maxParallel) : 3;
147
+ }
148
+ else {
149
+ return Number(options.parallel) || 3;
150
+ }
151
+ }
152
+ //# sourceMappingURL=distributed-execution.api.js.map
@@ -1 +1,118 @@
1
- const a11_0x4ddc=['commandStatus','../../../utilities/environment','Command\x20execution\x20failed.','value','Starting\x20distributed\x20command\x20execution','printRunGroupError','../../../utilities/dte-artifact-storage','ENCRYPTION_KEY','./task-graph-creator','defineProperty','startTask','ErrorReporterApi','completeRunGroupWithError','encryptionKey','../../api/error-reporter.api','FileStorage','taskGraph','warn','./distributed-execution.api','throw','error','exit','getCIExecutionId','../../error/print-run-group-error','SIGINT','DTE\x20needs\x20the\x20cache\x20to\x20share\x20files\x20between\x20agents.','message','done','See\x20run\x20details\x20at\x20','DteArtifactStorage','splitTasksIntoStages','runUrl','dte-main','SIGTERM','nxCloudDistributedTasksRunner','__awaiter','getNxCacheDirectory','Successfully\x20completed\x20running\x20the\x20command.','Unable\x20to\x20complete\x20a\x20run.','scheduleTask','log','projectGraph','values','--skip-nx-cache\x20is\x20ignored\x20when\x20using\x20distributed\x20tasks\x20execution\x20(DTE).','DistributedExecutionApi','VERBOSE_LOGGING','skipNxCache','lifeCycle','axiosException','start','next','Main\x20job\x20was\x20terminated\x20via\x20SIGINT','Main\x20job\x20terminated\x20with\x20an\x20error:\x20\x22','canDetectRunGroup','../../file-storage/file-storage','success','../../../utilities/metric-logger','E2EEncryption'];(function(_0x3a1d69,_0x4ddc8c){const _0x40d578=function(_0x28c44a){while(--_0x28c44a){_0x3a1d69['push'](_0x3a1d69['shift']());}};_0x40d578(++_0x4ddc8c);}(a11_0x4ddc,0x158));const a11_0x40d5=function(_0x3a1d69,_0x4ddc8c){_0x3a1d69=_0x3a1d69-0x0;let _0x40d578=a11_0x4ddc[_0x3a1d69];return _0x40d578;};'use strict';var __awaiter=this&&this[a11_0x40d5('0x27')]||function(_0x4e0cec,_0x43202a,_0x472118,_0x7e67a9){function _0xc14c7d(_0x1cdc0f){return _0x1cdc0f instanceof _0x472118?_0x1cdc0f:new _0x472118(function(_0x3814eb){_0x3814eb(_0x1cdc0f);});}return new(_0x472118||(_0x472118=Promise))(function(_0x4bee87,_0x12f2cd){function _0xd7caaf(_0x2f36d0){try{_0x464ab3(_0x7e67a9['next'](_0x2f36d0));}catch(_0x324de3){_0x12f2cd(_0x324de3);}}function _0x5dacff(_0x4c59d4){try{_0x464ab3(_0x7e67a9[a11_0x40d5('0x17')](_0x4c59d4));}catch(_0x21c611){_0x12f2cd(_0x21c611);}}function _0x464ab3(_0x2e161e){_0x2e161e[a11_0x40d5('0x1f')]?_0x4bee87(_0x2e161e[a11_0x40d5('0x7')]):_0xc14c7d(_0x2e161e[a11_0x40d5('0x7')])['then'](_0xd7caaf,_0x5dacff);}_0x464ab3((_0x7e67a9=_0x7e67a9['apply'](_0x4e0cec,_0x43202a||[]))[a11_0x40d5('0x36')]());});};Object[a11_0x40d5('0xd')](exports,'__esModule',{'value':!![]});exports[a11_0x40d5('0x26')]=void 0x0;const environment_1=require(a11_0x40d5('0x5'));const metric_logger_1=require(a11_0x40d5('0x2'));const error_reporter_api_1=require(a11_0x40d5('0x12'));const print_run_group_error_1=require(a11_0x40d5('0x1b'));const e2e_encryption_1=require('../../file-storage/e2e-encryption');const file_storage_1=require(a11_0x40d5('0x0'));const distributed_execution_api_1=require(a11_0x40d5('0x16'));const split_task_graph_into_stages_1=require('./split-task-graph-into-stages');const task_graph_creator_1=require(a11_0x40d5('0xc'));const process_tasks_1=require('./process-tasks');const dte_artifact_storage_1=require(a11_0x40d5('0xa'));const {output}=require('../../../utilities/nx-imports');class NoopLifeCycle{[a11_0x40d5('0x2b')](_0x38aeb9){}[a11_0x40d5('0xe')](_0x12baf9){}['endTasks'](_0x24f62e){}}const nxCloudDistributedTasksRunner=(_0x28cd62,_0x19bec7,_0x91ee91)=>__awaiter(void 0x0,void 0x0,void 0x0,function*(){if(_0x19bec7[a11_0x40d5('0x32')]){output[a11_0x40d5('0x15')]({'title':a11_0x40d5('0x2f'),'bodyLine':[a11_0x40d5('0x1d')]});}if(environment_1[a11_0x40d5('0x31')]){output['note']({'title':a11_0x40d5('0x8')});}_0x19bec7[a11_0x40d5('0x33')]=new NoopLifeCycle();const _0x2d9ff5=(0x0,environment_1['getBranch'])();const _0x4ea10d=(0x0,environment_1['getRunGroup'])();const _0x5b217a=(0x0,environment_1[a11_0x40d5('0x1a')])();const _0x2ce3f9=(0x0,environment_1['getCIExecutionEnv'])();if(!(0x0,print_run_group_error_1[a11_0x40d5('0x39')])(_0x4ea10d,_0x5b217a)){(0x0,print_run_group_error_1[a11_0x40d5('0x9')])();process[a11_0x40d5('0x19')](0x1);}const _0x257bb7=new e2e_encryption_1[(a11_0x40d5('0x3'))](environment_1[a11_0x40d5('0xb')]||_0x19bec7[a11_0x40d5('0x11')]);const _0x222a58=new error_reporter_api_1[(a11_0x40d5('0xf'))](_0x19bec7);const _0x2eeb6e=new dte_artifact_storage_1[(a11_0x40d5('0x21'))](new file_storage_1[(a11_0x40d5('0x13'))](_0x257bb7,_0x222a58,_0x19bec7,a11_0x40d5('0x24')),(0x0,environment_1[a11_0x40d5('0x28')])(_0x19bec7));const _0x19ba16=new distributed_execution_api_1[(a11_0x40d5('0x30'))](_0x19bec7);attachSignalListenersToCompleteRunGroupOnError(_0x19ba16,_0x2d9ff5,_0x4ea10d,_0x5b217a,_0x2ce3f9);try{const _0x5ad963=getTaskGraph(_0x91ee91,_0x28cd62,_0x19bec7);const _0x218d45=yield runDistributedExecution(_0x19ba16,_0x19bec7,_0x2eeb6e,_0x2d9ff5,_0x4ea10d,_0x5b217a,_0x2ce3f9,_0x5ad963);if(_0x218d45[a11_0x40d5('0x4')]===0x0){output[a11_0x40d5('0x1')]({'title':a11_0x40d5('0x29'),'bodyLines':[a11_0x40d5('0x20')+_0x218d45['runUrl']]});}else{output[a11_0x40d5('0x18')]({'title':a11_0x40d5('0x6'),'bodyLines':[a11_0x40d5('0x20')+_0x218d45[a11_0x40d5('0x23')]]});}yield(0x0,metric_logger_1['submitRunMetrics'])(_0x19bec7);process[a11_0x40d5('0x19')](_0x218d45[a11_0x40d5('0x4')]);}catch(_0x22e085){output[a11_0x40d5('0x18')]({'title':a11_0x40d5('0x2a'),'bodyLines':[_0x22e085[a11_0x40d5('0x1e')]]});if(_0x22e085[a11_0x40d5('0x34')]){console['log'](_0x22e085[a11_0x40d5('0x34')]);}else{console[a11_0x40d5('0x2c')](_0x22e085);}try{yield _0x19ba16['completeRunGroupWithError'](_0x2d9ff5,_0x4ea10d,_0x5b217a,_0x2ce3f9,a11_0x40d5('0x38')+_0x22e085['message']+'\x22');}finally{process['exit'](0x1);}}});exports[a11_0x40d5('0x26')]=nxCloudDistributedTasksRunner;function getTaskGraph(_0xee895c,_0x27d655,_0x5cd1ca){if(_0xee895c[a11_0x40d5('0x14')]){return _0xee895c[a11_0x40d5('0x14')];}else{return(0x0,task_graph_creator_1['createTaskGraphCompat'])(_0x5cd1ca,_0xee895c[a11_0x40d5('0x2d')],_0x27d655);}}function attachSignalListenersToCompleteRunGroupOnError(_0x1c4b41,_0x4bfcff,_0x5b1a3e,_0x290941,_0x32a3d4){process['on'](a11_0x40d5('0x1c'),()=>__awaiter(this,void 0x0,void 0x0,function*(){yield _0x1c4b41['completeRunGroupWithError'](_0x4bfcff,_0x5b1a3e,_0x290941,_0x32a3d4,a11_0x40d5('0x37'));process[a11_0x40d5('0x19')](0x1);}));process['on'](a11_0x40d5('0x25'),()=>__awaiter(this,void 0x0,void 0x0,function*(){yield _0x1c4b41[a11_0x40d5('0x10')](_0x4bfcff,_0x5b1a3e,_0x290941,_0x32a3d4,'Main\x20job\x20was\x20terminated\x20via\x20SIGTERM');process[a11_0x40d5('0x19')](0x1);}));}function runDistributedExecution(_0x1777ac,_0x54ac7a,_0x131969,_0x8928de,_0x2ae4cb,_0x450c10,_0x56eb01,_0x50154a){return __awaiter(this,void 0x0,void 0x0,function*(){const _0x4a4f5f=yield _0x1777ac[a11_0x40d5('0x35')]((0x0,distributed_execution_api_1['createStartRequest'])(_0x8928de,_0x2ae4cb,_0x450c10,_0x56eb01,(0x0,split_task_graph_into_stages_1[a11_0x40d5('0x22')])(_0x50154a),_0x54ac7a));return yield(0x0,process_tasks_1['processTasks'])(_0x1777ac,_0x131969,_0x4a4f5f,Object[a11_0x40d5('0x2e')](_0x50154a['tasks']));});}
1
+ "use strict";
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.nxCloudDistributedTasksRunner = void 0;
13
+ const environment_1 = require("../../../utilities/environment");
14
+ const metric_logger_1 = require("../../../utilities/metric-logger");
15
+ const error_reporter_api_1 = require("../../api/error-reporter.api");
16
+ const print_run_group_error_1 = require("../../error/print-run-group-error");
17
+ const e2e_encryption_1 = require("../../file-storage/e2e-encryption");
18
+ const file_storage_1 = require("../../file-storage/file-storage");
19
+ const distributed_execution_api_1 = require("./distributed-execution.api");
20
+ const split_task_graph_into_stages_1 = require("./split-task-graph-into-stages");
21
+ const task_graph_creator_1 = require("./task-graph-creator");
22
+ const process_tasks_1 = require("./process-tasks");
23
+ const dte_artifact_storage_1 = require("../../../utilities/dte-artifact-storage");
24
+ const { output } = require('../../../utilities/nx-imports');
25
+ class NoopLifeCycle {
26
+ scheduleTask(task) { }
27
+ startTask(task) { }
28
+ endTasks(tasks) { }
29
+ }
30
+ const nxCloudDistributedTasksRunner = (tasks, options, context) => __awaiter(void 0, void 0, void 0, function* () {
31
+ if (options.skipNxCache) {
32
+ output.warn({
33
+ title: `--skip-nx-cache is ignored when using distributed tasks execution (DTE).`,
34
+ bodyLine: [`DTE needs the cache to share files between agents.`],
35
+ });
36
+ }
37
+ if (environment_1.VERBOSE_LOGGING) {
38
+ output.note({
39
+ title: 'Starting distributed command execution',
40
+ });
41
+ }
42
+ options.lifeCycle = new NoopLifeCycle();
43
+ const branch = (0, environment_1.getBranch)();
44
+ const runGroup = (0, environment_1.getRunGroup)();
45
+ const ciExecutionId = (0, environment_1.getCIExecutionId)();
46
+ const ciExecutionEnv = (0, environment_1.getCIExecutionEnv)();
47
+ if (!(0, print_run_group_error_1.canDetectRunGroup)(runGroup, ciExecutionId)) {
48
+ (0, print_run_group_error_1.printRunGroupError)();
49
+ process.exit(1);
50
+ }
51
+ const encryption = new e2e_encryption_1.E2EEncryption(environment_1.ENCRYPTION_KEY || options.encryptionKey);
52
+ const errorReporter = new error_reporter_api_1.ErrorReporterApi(options);
53
+ const dteArtifactStorage = new dte_artifact_storage_1.DteArtifactStorage(new file_storage_1.FileStorage(encryption, errorReporter, options, 'dte-main'), (0, environment_1.getNxCacheDirectory)(options));
54
+ const api = new distributed_execution_api_1.DistributedExecutionApi(options);
55
+ attachSignalListenersToCompleteRunGroupOnError(api, branch, runGroup, ciExecutionId, ciExecutionEnv);
56
+ try {
57
+ const taskGraph = getTaskGraph(context, tasks, options);
58
+ const r = yield runDistributedExecution(api, options, dteArtifactStorage, branch, runGroup, ciExecutionId, ciExecutionEnv, taskGraph);
59
+ if (r.commandStatus === 0) {
60
+ output.success({
61
+ title: 'Successfully completed running the command.',
62
+ bodyLines: [`See run details at ${r.runUrl}`],
63
+ });
64
+ }
65
+ else {
66
+ output.error({
67
+ title: 'Command execution failed.',
68
+ bodyLines: [`See run details at ${r.runUrl}`],
69
+ });
70
+ }
71
+ yield (0, metric_logger_1.submitRunMetrics)(options);
72
+ process.exit(r.commandStatus);
73
+ }
74
+ catch (e) {
75
+ output.error({
76
+ title: 'Unable to complete a run.',
77
+ bodyLines: [e.message],
78
+ });
79
+ if (e.axiosException) {
80
+ console.log(e.axiosException);
81
+ }
82
+ else {
83
+ console.log(e);
84
+ }
85
+ try {
86
+ yield api.completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, `Main job terminated with an error: "${e.message}"`);
87
+ }
88
+ finally {
89
+ process.exit(1);
90
+ }
91
+ }
92
+ });
93
+ exports.nxCloudDistributedTasksRunner = nxCloudDistributedTasksRunner;
94
+ function getTaskGraph(context, tasks, options) {
95
+ if (context.taskGraph) {
96
+ return context.taskGraph;
97
+ }
98
+ else {
99
+ return (0, task_graph_creator_1.createTaskGraphCompat)(options, context.projectGraph, tasks);
100
+ }
101
+ }
102
+ function attachSignalListenersToCompleteRunGroupOnError(api, branch, runGroup, ciExecutionId, ciExecutionEnv) {
103
+ process.on('SIGINT', () => __awaiter(this, void 0, void 0, function* () {
104
+ yield api.completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, 'Main job was terminated via SIGINT');
105
+ process.exit(1);
106
+ }));
107
+ process.on('SIGTERM', () => __awaiter(this, void 0, void 0, function* () {
108
+ yield api.completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, 'Main job was terminated via SIGTERM');
109
+ process.exit(1);
110
+ }));
111
+ }
112
+ function runDistributedExecution(api, options, dteArtifactStorage, branch, runGroup, ciExecutionId, ciExecutionEnv, taskGraph) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ const id = yield api.start((0, distributed_execution_api_1.createStartRequest)(branch, runGroup, ciExecutionId, ciExecutionEnv, (0, split_task_graph_into_stages_1.splitTasksIntoStages)(taskGraph), options));
115
+ return yield (0, process_tasks_1.processTasks)(api, dteArtifactStorage, id, Object.values(taskGraph.tasks));
116
+ });
117
+ }
118
+ //# sourceMappingURL=distributed-execution.runner.js.map
@@ -1 +1,45 @@
1
- const a12_0x193b=['__esModule','../../../utilities/environment','serializeOverrides','next','note','throw','logCommand','retrieveAndExtract','processTask','write','run','target','apply','hash','project','../../../utilities/serializer-overrides','VERBOSE_LOGGING','Processing\x20task\x20','done','Found\x20unknown\x20task:\x20','value','../../../utilities/nx-imports','taskId','configuration','find','then','defineProperty','join'];(function(_0x46cb3c,_0x193bf4){const _0x564b5e=function(_0x596a18){while(--_0x596a18){_0x46cb3c['push'](_0x46cb3c['shift']());}};_0x564b5e(++_0x193bf4);}(a12_0x193b,0x18d));const a12_0x564b=function(_0x46cb3c,_0x193bf4){_0x46cb3c=_0x46cb3c-0x0;let _0x564b5e=a12_0x193b[_0x46cb3c];return _0x564b5e;};'use strict';var __awaiter=this&&this['__awaiter']||function(_0x1992ef,_0x55a63a,_0x3d739c,_0x498c0c){function _0x107808(_0x1547e2){return _0x1547e2 instanceof _0x3d739c?_0x1547e2:new _0x3d739c(function(_0x318213){_0x318213(_0x1547e2);});}return new(_0x3d739c||(_0x3d739c=Promise))(function(_0xc627ef,_0x4dc228){function _0xa2c8bc(_0x1aaa04){try{_0x3488cc(_0x498c0c[a12_0x564b('0x1a')](_0x1aaa04));}catch(_0x5e38c6){_0x4dc228(_0x5e38c6);}}function _0x3d47e6(_0x3b7db9){try{_0x3488cc(_0x498c0c[a12_0x564b('0x0')](_0x3b7db9));}catch(_0x1ad8e0){_0x4dc228(_0x1ad8e0);}}function _0x3488cc(_0x45e3bf){_0x45e3bf[a12_0x564b('0xd')]?_0xc627ef(_0x45e3bf[a12_0x564b('0xf')]):_0x107808(_0x45e3bf[a12_0x564b('0xf')])[a12_0x564b('0x14')](_0xa2c8bc,_0x3d47e6);}_0x3488cc((_0x498c0c=_0x498c0c[a12_0x564b('0x7')](_0x1992ef,_0x55a63a||[]))['next']());});};Object[a12_0x564b('0x15')](exports,a12_0x564b('0x17'),{'value':!![]});exports[a12_0x564b('0x3')]=void 0x0;const environment_1=require(a12_0x564b('0x18'));const serializer_overrides_1=require(a12_0x564b('0xa'));const {output}=require(a12_0x564b('0x10'));function processTask(_0x3741ad,_0x533f42,_0x188e66){return __awaiter(this,void 0x0,void 0x0,function*(){if(environment_1[a12_0x564b('0xb')]){output[a12_0x564b('0x1b')]({'title':a12_0x564b('0xc')+_0x188e66['taskId']});}const _0x30d6e1=_0x533f42[a12_0x564b('0x13')](_0x1b1f7c=>_0x188e66['taskId']===_0x1b1f7c['id']);if(!_0x30d6e1){throw new Error(a12_0x564b('0xe')+_0x188e66[a12_0x564b('0x11')]);}const _0x2a1b09=yield _0x3741ad[a12_0x564b('0x2')](_0x188e66[a12_0x564b('0x8')],_0x188e66['url']);output[a12_0x564b('0x1')](getCommand(_0x30d6e1));process['stdout'][a12_0x564b('0x4')](_0x2a1b09);output['addVerticalSeparator']();});}exports[a12_0x564b('0x3')]=processTask;function getCommand(_0x2b8ce8){const _0xa5f7ea=_0x2b8ce8[a12_0x564b('0x6')][a12_0x564b('0x12')]?':'+_0x2b8ce8[a12_0x564b('0x6')][a12_0x564b('0x12')]:'';return['nx',a12_0x564b('0x5'),_0x2b8ce8[a12_0x564b('0x6')][a12_0x564b('0x9')]+':'+_0x2b8ce8[a12_0x564b('0x6')][a12_0x564b('0x6')]+_0xa5f7ea,(0x0,serializer_overrides_1[a12_0x564b('0x19')])(_0x2b8ce8)][a12_0x564b('0x16')]('\x20');}
1
+ "use strict";
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.processTask = void 0;
13
+ const environment_1 = require("../../../utilities/environment");
14
+ const serializer_overrides_1 = require("../../../utilities/serializer-overrides");
15
+ const { output } = require('../../../utilities/nx-imports');
16
+ function processTask(dteArtifactStorage, tasks, completedTask) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ if (environment_1.VERBOSE_LOGGING) {
19
+ output.note({
20
+ title: `Processing task ${completedTask.taskId}`,
21
+ });
22
+ }
23
+ const matchingTask = tasks.find((tt) => completedTask.taskId === tt.id);
24
+ if (!matchingTask) {
25
+ throw new Error(`Found unknown task: ${completedTask.taskId}`);
26
+ }
27
+ const terminalOutput = yield dteArtifactStorage.retrieveAndExtract(completedTask.hash, completedTask.url);
28
+ output.logCommand(getCommand(matchingTask));
29
+ process.stdout.write(terminalOutput);
30
+ output.addVerticalSeparator();
31
+ });
32
+ }
33
+ exports.processTask = processTask;
34
+ function getCommand(task) {
35
+ const config = task.target.configuration
36
+ ? `:${task.target.configuration}`
37
+ : '';
38
+ return [
39
+ 'nx',
40
+ 'run',
41
+ `${task.target.project}:${task.target.target}${config}`,
42
+ (0, serializer_overrides_1.serializeOverrides)(task),
43
+ ].join(' ');
44
+ }
45
+ //# sourceMappingURL=process-task.js.map
@@ -1 +1,67 @@
1
- const a13_0x1ded=['criticalErrorMessage','Waiter','error:\x20','No\x20new\x20completed\x20tasks\x20after\x20','length','number\x20of\x20completed\x20tasks:\x20','./process-task','taskId','defineProperty','next','then','\x20seconds.','value','executionId:\x20','../../../utilities/nx-imports','error','Error:','processTasks','runUrl','__esModule','completedTasks','NO_COMPLETED_TASKS_TIMEOUT','../../../utilities/create-unchanged-value-timeout','createUnchangedValueTimeout','done','executionStatus','../../../utilities/waiter','commandStatus','executionStatus:\x20','throw','status','note'];(function(_0x23dfc2,_0x1ded38){const _0x998647=function(_0x5970dc){while(--_0x5970dc){_0x23dfc2['push'](_0x23dfc2['shift']());}};_0x998647(++_0x1ded38);}(a13_0x1ded,0xfa));const a13_0x9986=function(_0x23dfc2,_0x1ded38){_0x23dfc2=_0x23dfc2-0x0;let _0x998647=a13_0x1ded[_0x23dfc2];return _0x998647;};'use strict';var __awaiter=this&&this['__awaiter']||function(_0x130a3a,_0x3ff560,_0x2b0404,_0x477b92){function _0x2f2fc4(_0x4d8487){return _0x4d8487 instanceof _0x2b0404?_0x4d8487:new _0x2b0404(function(_0x24ed84){_0x24ed84(_0x4d8487);});}return new(_0x2b0404||(_0x2b0404=Promise))(function(_0x2d37bd,_0x3e8067){function _0x299f29(_0x364ce6){try{_0x1cf02f(_0x477b92[a13_0x9986('0xf')](_0x364ce6));}catch(_0xc8974b){_0x3e8067(_0xc8974b);}}function _0x47d97c(_0x56383){try{_0x1cf02f(_0x477b92[a13_0x9986('0x3')](_0x56383));}catch(_0x5da5d9){_0x3e8067(_0x5da5d9);}}function _0x1cf02f(_0x1b9adc){_0x1b9adc[a13_0x9986('0x1e')]?_0x2d37bd(_0x1b9adc[a13_0x9986('0x12')]):_0x2f2fc4(_0x1b9adc[a13_0x9986('0x12')])[a13_0x9986('0x10')](_0x299f29,_0x47d97c);}_0x1cf02f((_0x477b92=_0x477b92['apply'](_0x130a3a,_0x3ff560||[]))['next']());});};Object[a13_0x9986('0xe')](exports,a13_0x9986('0x19'),{'value':!![]});exports[a13_0x9986('0x17')]=void 0x0;const create_unchanged_value_timeout_1=require(a13_0x9986('0x1c'));const environment_1=require('../../../utilities/environment');const waiter_1=require(a13_0x9986('0x0'));const process_task_1=require(a13_0x9986('0xc'));const {output}=require(a13_0x9986('0x14'));function processTasks(_0x4b2e33,_0x933dd7,_0xdac0e6,_0x12f7d2){return __awaiter(this,void 0x0,void 0x0,function*(){const _0x23835e={};const _0x24fb48=(0x0,create_unchanged_value_timeout_1[a13_0x9986('0x1d')])({'title':a13_0x9986('0x9')+environment_1[a13_0x9986('0x1b')]/0x3e8+a13_0x9986('0x11'),'timeout':environment_1[a13_0x9986('0x1b')]});const _0x2f6800=new waiter_1[(a13_0x9986('0x7'))]();while(!![]){if(environment_1['VERBOSE_LOGGING']){output[a13_0x9986('0x5')]({'title':'Waiting...'});}yield _0x2f6800['wait']();const _0x2a313=yield _0x4b2e33[a13_0x9986('0x4')](_0xdac0e6);if(environment_1['VERBOSE_LOGGING']){output['note']({'title':'Status\x20update','bodyLines':[a13_0x9986('0x13')+_0xdac0e6,a13_0x9986('0x2')+_0x2a313['executionStatus'],a13_0x9986('0xb')+_0x2a313['completedTasks'][a13_0x9986('0xa')],a13_0x9986('0x8')+_0x2a313[a13_0x9986('0x6')]]});}if(_0x2a313[a13_0x9986('0x6')]){output[a13_0x9986('0x15')]({'title':'Distributed\x20Execution\x20Terminated','bodyLines':[a13_0x9986('0x16'),_0x2a313['criticalErrorMessage']]});process['exit'](0x1);}_0x24fb48(_0x2a313[a13_0x9986('0x1a')]['length']);for(const _0x36f6d8 of _0x2a313['completedTasks']){if(_0x23835e[_0x36f6d8[a13_0x9986('0xd')]])continue;yield(0x0,process_task_1['processTask'])(_0x933dd7,_0x12f7d2,_0x36f6d8);_0x2f6800['reset']();_0x23835e[_0x36f6d8[a13_0x9986('0xd')]]=!![];}if(_0x2a313[a13_0x9986('0x1f')]==='COMPLETED'){return{'commandStatus':_0x2a313[a13_0x9986('0x1')],'runUrl':_0x2a313[a13_0x9986('0x18')]};}}});}exports[a13_0x9986('0x17')]=processTasks;
1
+ "use strict";
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.processTasks = void 0;
13
+ const create_unchanged_value_timeout_1 = require("../../../utilities/create-unchanged-value-timeout");
14
+ const environment_1 = require("../../../utilities/environment");
15
+ const waiter_1 = require("../../../utilities/waiter");
16
+ const process_task_1 = require("./process-task");
17
+ const { output } = require('../../../utilities/nx-imports');
18
+ function processTasks(api, dteArtifactStorage, executionId, tasks) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const processedTasks = {};
21
+ const failIfNumberOfCompletedTasksDoesNotChangeAfterTimeout = (0, create_unchanged_value_timeout_1.createUnchangedValueTimeout)({
22
+ title: `No new completed tasks after ${environment_1.NO_COMPLETED_TASKS_TIMEOUT / 1000} seconds.`,
23
+ timeout: environment_1.NO_COMPLETED_TASKS_TIMEOUT,
24
+ });
25
+ const waiter = new waiter_1.Waiter();
26
+ while (true) {
27
+ if (environment_1.VERBOSE_LOGGING) {
28
+ output.note({
29
+ title: 'Waiting...',
30
+ });
31
+ }
32
+ yield waiter.wait();
33
+ const r = yield api.status(executionId);
34
+ if (environment_1.VERBOSE_LOGGING) {
35
+ output.note({
36
+ title: `Status update`,
37
+ bodyLines: [
38
+ `executionId: ${executionId}`,
39
+ `executionStatus: ${r.executionStatus}`,
40
+ `number of completed tasks: ${r.completedTasks.length}`,
41
+ `error: ${r.criticalErrorMessage}`,
42
+ ],
43
+ });
44
+ }
45
+ if (r.criticalErrorMessage) {
46
+ output.error({
47
+ title: 'Distributed Execution Terminated',
48
+ bodyLines: ['Error:', r.criticalErrorMessage],
49
+ });
50
+ process.exit(1);
51
+ }
52
+ failIfNumberOfCompletedTasksDoesNotChangeAfterTimeout(r.completedTasks.length);
53
+ for (const t of r.completedTasks) {
54
+ if (processedTasks[t.taskId])
55
+ continue;
56
+ yield (0, process_task_1.processTask)(dteArtifactStorage, tasks, t);
57
+ waiter.reset();
58
+ processedTasks[t.taskId] = true;
59
+ }
60
+ if (r.executionStatus === 'COMPLETED') {
61
+ return { commandStatus: r.commandStatus, runUrl: r.runUrl };
62
+ }
63
+ }
64
+ });
65
+ }
66
+ exports.processTasks = processTasks;
67
+ //# sourceMappingURL=process-tasks.js.map
@@ -1 +1,37 @@
1
- const a14_0x2153=['push','map','size','values','__esModule','tasks','has','splitTasksIntoStages'];(function(_0x3c63ac,_0x215344){const _0x571ef9=function(_0x4b6c25){while(--_0x4b6c25){_0x3c63ac['push'](_0x3c63ac['shift']());}};_0x571ef9(++_0x215344);}(a14_0x2153,0x161));const a14_0x571e=function(_0x3c63ac,_0x215344){_0x3c63ac=_0x3c63ac-0x0;let _0x571ef9=a14_0x2153[_0x3c63ac];return _0x571ef9;};'use strict';Object['defineProperty'](exports,a14_0x571e('0x3'),{'value':!![]});exports[a14_0x571e('0x6')]=void 0x0;function splitTasksIntoStages(_0x338855){const _0x30c7d9=[];const _0x853daf=new Set(Object[a14_0x571e('0x2')](_0x338855[a14_0x571e('0x4')])[a14_0x571e('0x0')](_0x33d049=>_0x33d049['id']));let _0x5f4739=0x0;while(_0x853daf[a14_0x571e('0x1')]>0x0){const _0x151680=_0x30c7d9[_0x5f4739]=[];for(const _0x35f280 of _0x853daf){let _0x43d786=!![];for(const _0x36e419 of _0x338855['dependencies'][_0x35f280]){if(_0x853daf[a14_0x571e('0x5')](_0x36e419)){_0x43d786=![];break;}}if(!_0x43d786){continue;}const _0x184198=_0x338855[a14_0x571e('0x4')][_0x35f280];_0x151680[a14_0x571e('0x7')](_0x184198);}for(const _0x50d51d of _0x151680){_0x853daf['delete'](_0x50d51d['id']);}_0x5f4739++;}return _0x30c7d9;}exports['splitTasksIntoStages']=splitTasksIntoStages;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.splitTasksIntoStages = void 0;
4
+ function splitTasksIntoStages(taskGraph) {
5
+ const stages = [];
6
+ const notStagedTaskIds = new Set(Object.values(taskGraph.tasks).map((t) => t.id));
7
+ let stageIndex = 0;
8
+ // Loop through tasks and try to stage them. As tasks are staged, they are removed from the loop
9
+ while (notStagedTaskIds.size > 0) {
10
+ const currentStage = (stages[stageIndex] = []);
11
+ for (const taskId of notStagedTaskIds) {
12
+ let ready = true;
13
+ for (const dependency of taskGraph.dependencies[taskId]) {
14
+ if (notStagedTaskIds.has(dependency)) {
15
+ // dependency has not been staged yet, this task is not ready to be staged.
16
+ ready = false;
17
+ break;
18
+ }
19
+ }
20
+ // Some dependency still has not been staged, skip it for now, it will be processed again
21
+ if (!ready) {
22
+ continue;
23
+ }
24
+ // All the dependencies have been staged, let's stage it.
25
+ const task = taskGraph.tasks[taskId];
26
+ currentStage.push(task);
27
+ }
28
+ // Remove the entire new stage of tasks from the list
29
+ for (const task of currentStage) {
30
+ notStagedTaskIds.delete(task.id);
31
+ }
32
+ stageIndex++;
33
+ }
34
+ return stages;
35
+ }
36
+ exports.splitTasksIntoStages = splitTasksIntoStages;
37
+ //# sourceMappingURL=split-task-graph-into-stages.js.map
@@ -1 +1,100 @@
1
- const a15_0x3fac=['readFileSync','add','createTaskGraphCompat','dependencies','defaultTargetDependencies','projects','createTaskGraph','roots','TaskGraphCreator','targetDependencies','tasks','strictlyOrderedTargets','has','map','self','target','addTaskDependencies','projectGraph','build','indexOf','push','addDependencies','filter','project','findTask','toString','/nx.json','keys','addTaskToGraph'];(function(_0xe7646f,_0x3facf5){const _0x25a1dc=function(_0x529783){while(--_0x529783){_0xe7646f['push'](_0xe7646f['shift']());}};_0x25a1dc(++_0x3facf5);}(a15_0x3fac,0xa0));const a15_0x25a1=function(_0xe7646f,_0x3facf5){_0xe7646f=_0xe7646f-0x0;let _0x25a1dc=a15_0x3fac[_0xe7646f];return _0x25a1dc;};'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]});exports[a15_0x25a1('0x16')]=exports['createTaskGraphCompat']=void 0x0;const stripJsonComments=require('strip-json-comments');const fs_1=require('fs');const {getDependencyConfigs,workspaceRoot}=require('../../../utilities/nx-imports');function createTaskGraphCompat(_0xf86a10,_0x590198,_0x3251e4){const _0x3c589a=JSON['parse'](stripJsonComments((0x0,fs_1[a15_0x25a1('0xe')])(workspaceRoot+a15_0x25a1('0xb'))[a15_0x25a1('0xa')]()));return new TaskGraphCreator(_0x590198,getDefaultDependencyConfigs(_0x3c589a,_0xf86a10))[a15_0x25a1('0x14')](_0x3251e4);}exports[a15_0x25a1('0x10')]=createTaskGraphCompat;function getDefaultDependencyConfigs(_0x7237a6,_0x319edc){var _0x5b2a9f,_0x424a6f;const _0x3679fa=(_0x5b2a9f=_0x7237a6[a15_0x25a1('0x17')])!==null&&_0x5b2a9f!==void 0x0?_0x5b2a9f:{};const _0x43b3d8=_0x319edc?(_0x424a6f=_0x319edc[a15_0x25a1('0x19')])!==null&&_0x424a6f!==void 0x0?_0x424a6f:[a15_0x25a1('0x3')]:[];for(const _0x33006c of _0x43b3d8){_0x3679fa[_0x33006c]=_0x3679fa[_0x33006c]||[];_0x3679fa[_0x33006c]['push']({'target':_0x33006c,'projects':a15_0x25a1('0x11')});}return _0x3679fa;}class TaskGraphCreator{constructor(_0xa22704,_0x44d9e7){this[a15_0x25a1('0x2')]=_0xa22704;this[a15_0x25a1('0x12')]=_0x44d9e7;}[a15_0x25a1('0x14')](_0x238b18){const _0x36744b={'roots':[],'tasks':{},'dependencies':{}};for(const _0x101f6f of _0x238b18){this[a15_0x25a1('0xd')](_0x101f6f,_0x36744b);const _0x1e05d4=getDependencyConfigs(_0x101f6f[a15_0x25a1('0x0')],this[a15_0x25a1('0x12')],this[a15_0x25a1('0x2')]);if(!_0x1e05d4){continue;}this[a15_0x25a1('0x1')](_0x101f6f,_0x1e05d4,_0x238b18,_0x36744b);}_0x36744b[a15_0x25a1('0x15')]=Object[a15_0x25a1('0xc')](_0x36744b['dependencies'])[a15_0x25a1('0x7')](_0x39e5f2=>_0x36744b['dependencies'][_0x39e5f2]['length']===0x0);return _0x36744b;}[a15_0x25a1('0x1')](_0x1f1753,_0x174e65,_0x1e4cb7,_0x6cb5ed){for(const _0x34c9fa of _0x174e65){if(_0x34c9fa['projects']===a15_0x25a1('0x1c')){for(const _0x1e26ff of _0x1e4cb7){if(_0x1e26ff[a15_0x25a1('0x0')][a15_0x25a1('0x8')]===_0x1f1753[a15_0x25a1('0x0')][a15_0x25a1('0x8')]&&_0x1e26ff[a15_0x25a1('0x0')]['target']===_0x34c9fa[a15_0x25a1('0x0')]){_0x6cb5ed['dependencies'][_0x1f1753['id']][a15_0x25a1('0x5')](_0x1e26ff['id']);}}}else if(_0x34c9fa[a15_0x25a1('0x13')]==='dependencies'){const _0x1cbbd4=new Set();this[a15_0x25a1('0x6')](_0x1f1753[a15_0x25a1('0x0')]['project'],_0x34c9fa['target'],_0x1e4cb7,_0x6cb5ed,_0x1f1753['id'],_0x1cbbd4);}}}[a15_0x25a1('0x6')](_0xabe8a0,_0xa1eca3,_0x541671,_0x3e22ff,_0x32334f,_0xc8ce5e){_0xc8ce5e[a15_0x25a1('0xf')](_0xabe8a0);const _0xe2a29c=this[a15_0x25a1('0x2')]['dependencies'][_0xabe8a0];if(_0xe2a29c){const _0x3d6ca0=_0xe2a29c[a15_0x25a1('0x1b')](_0x25517a=>_0x25517a['target']);for(const _0x470b1f of _0x3d6ca0){if(_0xc8ce5e[a15_0x25a1('0x1a')](_0x470b1f)){continue;}const _0xc442cf=this['findTask']({'project':_0x470b1f,'target':_0xa1eca3},_0x541671);if(_0xc442cf){if(_0x3e22ff[a15_0x25a1('0x11')][_0x32334f][a15_0x25a1('0x4')](_0xc442cf['id'])===-0x1){_0x3e22ff['dependencies'][_0x32334f][a15_0x25a1('0x5')](_0xc442cf['id']);}}else{this['addDependencies'](_0x470b1f,_0xa1eca3,_0x541671,_0x3e22ff,_0x32334f,_0xc8ce5e);}}}}[a15_0x25a1('0x9')]({project,target},_0x2ef32f){return _0x2ef32f['find'](_0x5407ea=>_0x5407ea[a15_0x25a1('0x0')][a15_0x25a1('0x8')]===project&&_0x5407ea[a15_0x25a1('0x0')][a15_0x25a1('0x0')]===target);}[a15_0x25a1('0xd')](_0x504519,_0x1c0be3){_0x1c0be3[a15_0x25a1('0x18')][_0x504519['id']]=_0x504519;_0x1c0be3['dependencies'][_0x504519['id']]=[];}}exports[a15_0x25a1('0x16')]=TaskGraphCreator;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskGraphCreator = exports.createTaskGraphCompat = void 0;
4
+ const stripJsonComments = require("strip-json-comments");
5
+ const fs_1 = require("fs");
6
+ const { getDependencyConfigs, workspaceRoot, } = require('../../../utilities/nx-imports');
7
+ function createTaskGraphCompat(options, projectGraph, tasks) {
8
+ const nxjson = JSON.parse(stripJsonComments((0, fs_1.readFileSync)(`${workspaceRoot}/nx.json`).toString()));
9
+ return new TaskGraphCreator(projectGraph, getDefaultDependencyConfigs(nxjson, options)).createTaskGraph(tasks);
10
+ }
11
+ exports.createTaskGraphCompat = createTaskGraphCompat;
12
+ function getDefaultDependencyConfigs(nxJson, runnerOptions) {
13
+ var _a, _b;
14
+ const defaults = (_a = nxJson.targetDependencies) !== null && _a !== void 0 ? _a : {};
15
+ const strictlyOrderedTargets = runnerOptions
16
+ ? (_b = runnerOptions.strictlyOrderedTargets) !== null && _b !== void 0 ? _b : ['build']
17
+ : [];
18
+ // Strictly Ordered Targets depend on their dependencies
19
+ for (const target of strictlyOrderedTargets) {
20
+ defaults[target] = defaults[target] || [];
21
+ defaults[target].push({
22
+ target,
23
+ projects: 'dependencies',
24
+ });
25
+ }
26
+ return defaults;
27
+ }
28
+ /**
29
+ * This is only used for versions of Nx prior to 14 where the task graph
30
+ * wasn't part of the context so we have to recreate it
31
+ */
32
+ class TaskGraphCreator {
33
+ constructor(projectGraph, defaultTargetDependencies) {
34
+ this.projectGraph = projectGraph;
35
+ this.defaultTargetDependencies = defaultTargetDependencies;
36
+ }
37
+ createTaskGraph(tasks) {
38
+ const graph = {
39
+ roots: [],
40
+ tasks: {},
41
+ dependencies: {},
42
+ };
43
+ for (const task of tasks) {
44
+ this.addTaskToGraph(task, graph);
45
+ const dependencyConfigs = getDependencyConfigs(task.target, this.defaultTargetDependencies, this.projectGraph);
46
+ if (!dependencyConfigs) {
47
+ continue;
48
+ }
49
+ this.addTaskDependencies(task, dependencyConfigs, tasks, graph);
50
+ }
51
+ graph.roots = Object.keys(graph.dependencies).filter((k) => graph.dependencies[k].length === 0);
52
+ return graph;
53
+ }
54
+ addTaskDependencies(task, dependencyConfigs, tasks, graph) {
55
+ for (const dependencyConfig of dependencyConfigs) {
56
+ if (dependencyConfig.projects === 'self') {
57
+ for (const t of tasks) {
58
+ if (t.target.project === task.target.project &&
59
+ t.target.target === dependencyConfig.target) {
60
+ graph.dependencies[task.id].push(t.id);
61
+ }
62
+ }
63
+ }
64
+ else if (dependencyConfig.projects === 'dependencies') {
65
+ const seen = new Set();
66
+ this.addDependencies(task.target.project, dependencyConfig.target, tasks, graph, task.id, seen);
67
+ }
68
+ }
69
+ }
70
+ addDependencies(project, target, tasks, graph, taskId, seen) {
71
+ seen.add(project);
72
+ const dependencies = this.projectGraph.dependencies[project];
73
+ if (dependencies) {
74
+ const projectDependencies = dependencies.map((dependency) => dependency.target);
75
+ for (const projectDependency of projectDependencies) {
76
+ if (seen.has(projectDependency)) {
77
+ continue;
78
+ }
79
+ const dependency = this.findTask({ project: projectDependency, target }, tasks);
80
+ if (dependency) {
81
+ if (graph.dependencies[taskId].indexOf(dependency.id) === -1) {
82
+ graph.dependencies[taskId].push(dependency.id);
83
+ }
84
+ }
85
+ else {
86
+ this.addDependencies(projectDependency, target, tasks, graph, taskId, seen);
87
+ }
88
+ }
89
+ }
90
+ }
91
+ findTask({ project, target }, tasks) {
92
+ return tasks.find((t) => t.target.project === project && t.target.target === target);
93
+ }
94
+ addTaskToGraph(task, graph) {
95
+ graph.tasks[task.id] = task;
96
+ graph.dependencies[task.id] = [];
97
+ }
98
+ }
99
+ exports.TaskGraphCreator = TaskGraphCreator;
100
+ //# sourceMappingURL=task-graph-creator.js.map
@@ -47,7 +47,7 @@ function processRunEnd(data, logger) {
47
47
  logger.log('Sending EndRun request');
48
48
  // check the return value
49
49
  try {
50
- const res = yield api.endRun(data.runEnd.runData, data.runEnd.taskExecutions, data.runEnd.linkId);
50
+ const res = yield api.endRun(data.runEnd.runData, data.runEnd.taskExecutions, data.ciExecutionContext, data.runEnd.linkId);
51
51
  if (!res) {
52
52
  throw new Error(reporter.apiError);
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"process-run-end.js","sourceRoot":"","sources":["../../../../../../libs/nx-packages/nx-cloud/lib/daemon/process-run-end.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,oEAAgE;AAChE,+EAA0E;AAC1E,uEAAkE;AAClE,wEAAoE;AACpE,0DAA+E;AAC/E,+EAA2E;AAC3E,8DAA8D;AAE9D,SAA8B,aAAa,CACzC,IAAS,EACT,MAAsC;;QAEtC,MAAM,UAAU,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,0BAAW,CACjC,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAa,EAClB,QAAQ,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,iCAAmB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,EAAS,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAA,4BAAc,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,2BAAW,CACzB,QAAQ,EACR,UAAU,EACV,IAAI,CAAC,aAAa,EAClB,WAAW,CACZ,CAAC;QAEF,UAAU,CAAC,GAAS,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACvC,IAAI;gBACF,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAC5C,CACF,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;aAC7C;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,OAAO;aACR;YAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,YAAY,EAAE;gBAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CACvB,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE;oBACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,CAAC;iBAC1D;gBACD,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC;aACvC;YAED,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACrC,yBAAyB;YACzB,IAAI;gBACF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;gBACF,IAAI,CAAC,GAAG,EAAE;oBACR,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAU,CAAC,CAAC;iBACtC;gBACD,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;aAC3C;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChB;YACD,MAAM,IAAA,gCAAgB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAA,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AArED,gCAqEC"}
1
+ {"version":3,"file":"process-run-end.js","sourceRoot":"","sources":["../../../../../../libs/nx-packages/nx-cloud/lib/daemon/process-run-end.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,oEAAgE;AAChE,+EAA0E;AAC1E,uEAAkE;AAClE,wEAAoE;AACpE,0DAA+E;AAC/E,+EAA2E;AAC3E,8DAA8D;AAE9D,SAA8B,aAAa,CACzC,IAAS,EACT,MAAsC;;QAEtC,MAAM,UAAU,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,0BAAW,CACjC,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAa,EAClB,QAAQ,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,iCAAmB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,EAAS,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAA,4BAAc,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,2BAAW,CACzB,QAAQ,EACR,UAAU,EACV,IAAI,CAAC,aAAa,EAClB,WAAW,CACZ,CAAC;QAEF,UAAU,CAAC,GAAS,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACvC,IAAI;gBACF,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAC5C,CACF,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;aAC7C;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,OAAO;aACR;YAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,YAAY,EAAE;gBAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CACvB,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE;oBACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,CAAC;iBAC1D;gBACD,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC;aACvC;YAED,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACrC,yBAAyB;YACzB,IAAI;gBACF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;gBACF,IAAI,CAAC,GAAG,EAAE;oBACR,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAU,CAAC,CAAC;iBACtC;gBACD,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;aAC3C;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChB;YACD,MAAM,IAAA,gCAAgB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAA,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAtED,gCAsEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/nx-cloud",
3
- "version": "15.3.0",
3
+ "version": "15.3.1-beta.1",
4
4
  "description": "Nx Cloud plugin for Nx",
5
5
  "keywords": [
6
6
  "Monorepo",