@nrwl/nx-cloud 14.7.0-beta.1 → 14.7.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.
@@ -1,36 +1 @@
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.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_0x4ede=['apply','axiosMultipleTries','post','/nx-cloud/report-client-error','../../utilities/nx-imports','defineProperty','__esModule','done','../../utilities/axios','apiAxiosInstance','ErrorReporterApi','then','next','createApiAxiosInstance','value','__awaiter','warn','throw'];(function(_0xa38f65,_0x4edea3){const _0x1ae5c1=function(_0x10822a){while(--_0x10822a){_0xa38f65['push'](_0xa38f65['shift']());}};_0x1ae5c1(++_0x4edea3);}(a0_0x4ede,0x8e));const a0_0x1ae5=function(_0xa38f65,_0x4edea3){_0xa38f65=_0xa38f65-0x0;let _0x1ae5c1=a0_0x4ede[_0xa38f65];return _0x1ae5c1;};'use strict';var __awaiter=this&&this[a0_0x1ae5('0x11')]||function(_0x2508b1,_0x59b354,_0x2850fc,_0x1bdfef){function _0x267e03(_0x43916d){return _0x43916d instanceof _0x2850fc?_0x43916d:new _0x2850fc(function(_0x39e481){_0x39e481(_0x43916d);});}return new(_0x2850fc||(_0x2850fc=Promise))(function(_0x2e674e,_0x38f628){function _0x39811e(_0x16e7ab){try{_0x39c3b6(_0x1bdfef[a0_0x1ae5('0xe')](_0x16e7ab));}catch(_0xb80fcc){_0x38f628(_0xb80fcc);}}function _0x18d7df(_0x53d344){try{_0x39c3b6(_0x1bdfef[a0_0x1ae5('0x1')](_0x53d344));}catch(_0xf1abde){_0x38f628(_0xf1abde);}}function _0x39c3b6(_0x109f2f){_0x109f2f[a0_0x1ae5('0x9')]?_0x2e674e(_0x109f2f[a0_0x1ae5('0x10')]):_0x267e03(_0x109f2f[a0_0x1ae5('0x10')])[a0_0x1ae5('0xd')](_0x39811e,_0x18d7df);}_0x39c3b6((_0x1bdfef=_0x1bdfef[a0_0x1ae5('0x2')](_0x2508b1,_0x59b354||[]))[a0_0x1ae5('0xe')]());});};Object[a0_0x1ae5('0x7')](exports,a0_0x1ae5('0x8'),{'value':!![]});exports[a0_0x1ae5('0xc')]=void 0x0;const axios_1=require(a0_0x1ae5('0xa'));const {output}=require(a0_0x1ae5('0x6'));class ErrorReporterApi{constructor(_0x117b2f){this['apiAxiosInstance']=(0x0,axios_1[a0_0x1ae5('0xf')])(_0x117b2f);}['reportError'](_0xbbdb77){return __awaiter(this,void 0x0,void 0x0,function*(){try{yield(0x0,axios_1[a0_0x1ae5('0x3')])(()=>this[a0_0x1ae5('0xb')][a0_0x1ae5('0x4')](a0_0x1ae5('0x5'),{'message':_0xbbdb77}));}catch(_0x3c450d){output[a0_0x1ae5('0x0')]({'title':'Unable\x20to\x20record\x20the\x20following\x20error:\x20\x27'+_0xbbdb77+'\x27','bodyLines':[_0x3c450d['message']]});}});}}exports[a0_0x1ae5('0xc')]=ErrorReporterApi;
@@ -1,68 +1 @@
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.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_0x3280=['/nx-cloud/executions/complete-run-group','createRunGroup','RunGroupApi','axiosException','__esModule','../../utilities/metric-logger','error','recordMetric','defineProperty','completeRunGroup','throw','axiosMultipleTries','post','then','RUNNER_FAILURE_PERF_ENTRY','mapRespToPerfEntry','value','exit','createMetricRecorder','apiAxiosInstance','/nx-cloud/executions/create-run-group','response','message','apply','done','../../utilities/axios','next'];(function(_0x41512f,_0x328082){const _0x5b17e3=function(_0x4b5406){while(--_0x4b5406){_0x41512f['push'](_0x41512f['shift']());}};_0x5b17e3(++_0x328082);}(a1_0x3280,0x75));const a1_0x5b17=function(_0x41512f,_0x328082){_0x41512f=_0x41512f-0x0;let _0x5b17e3=a1_0x3280[_0x41512f];return _0x5b17e3;};'use strict';var __awaiter=this&&this['__awaiter']||function(_0x2fb956,_0xcdaa05,_0x2fb191,_0x1c2e96){function _0x48dac1(_0x3b925e){return _0x3b925e instanceof _0x2fb191?_0x3b925e:new _0x2fb191(function(_0x455f14){_0x455f14(_0x3b925e);});}return new(_0x2fb191||(_0x2fb191=Promise))(function(_0x14bd12,_0xfc5b3b){function _0x1a7c3c(_0x5bfe06){try{_0x2a779b(_0x1c2e96[a1_0x5b17('0x11')](_0x5bfe06));}catch(_0x34fba3){_0xfc5b3b(_0x34fba3);}}function _0x58b27a(_0x63b8d3){try{_0x2a779b(_0x1c2e96[a1_0x5b17('0x1')](_0x63b8d3));}catch(_0x1bea77){_0xfc5b3b(_0x1bea77);}}function _0x2a779b(_0x584392){_0x584392[a1_0x5b17('0xf')]?_0x14bd12(_0x584392[a1_0x5b17('0x7')]):_0x48dac1(_0x584392[a1_0x5b17('0x7')])[a1_0x5b17('0x4')](_0x1a7c3c,_0x58b27a);}_0x2a779b((_0x1c2e96=_0x1c2e96[a1_0x5b17('0xe')](_0x2fb956,_0xcdaa05||[]))[a1_0x5b17('0x11')]());});};Object[a1_0x5b17('0x1a')](exports,a1_0x5b17('0x16'),{'value':!![]});exports[a1_0x5b17('0x14')]=void 0x0;const axios_1=require(a1_0x5b17('0x10'));const metric_logger_1=require(a1_0x5b17('0x17'));const {output}=require('../../utilities/nx-imports');class RunGroupApi{constructor(_0x313eb4){this[a1_0x5b17('0xa')]=(0x0,axios_1['createApiAxiosInstance'])(_0x313eb4);}[a1_0x5b17('0x13')](_0x185c08,_0x1681f5,_0x36fe4a,_0x357295,_0x5c238c){var _0x47cda7;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x338ec9=(0x0,metric_logger_1[a1_0x5b17('0x9')])(a1_0x5b17('0x13'));try{const _0x397dc6=yield(0x0,axios_1[a1_0x5b17('0x2')])(()=>this[a1_0x5b17('0xa')][a1_0x5b17('0x3')](a1_0x5b17('0xb'),{'branch':_0x185c08,'runGroup':_0x1681f5,'stopAgentsOnFailure':_0x36fe4a,'agentCount':_0x357295,'stopAgentsAfter':_0x5c238c}));_0x338ec9[a1_0x5b17('0x19')]((0x0,metric_logger_1[a1_0x5b17('0x6')])(_0x397dc6));}catch(_0x1c0a8e){_0x338ec9[a1_0x5b17('0x19')](((_0x47cda7=_0x1c0a8e===null||_0x1c0a8e===void 0x0?void 0x0:_0x1c0a8e[a1_0x5b17('0x15')])===null||_0x47cda7===void 0x0?void 0x0:_0x47cda7[a1_0x5b17('0xc')])?(0x0,metric_logger_1[a1_0x5b17('0x6')])(_0x1c0a8e[a1_0x5b17('0x15')][a1_0x5b17('0xc')]):metric_logger_1['RUNNER_FAILURE_PERF_ENTRY']);output[a1_0x5b17('0x18')]({'title':_0x1c0a8e[a1_0x5b17('0xd')]});process[a1_0x5b17('0x8')](0x1);}});}[a1_0x5b17('0x0')](_0x4d2118){var _0x4132bb;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x45d6b9=(0x0,metric_logger_1[a1_0x5b17('0x9')])(a1_0x5b17('0x13'));try{const _0x228044=yield(0x0,axios_1['axiosMultipleTries'])(()=>this[a1_0x5b17('0xa')][a1_0x5b17('0x3')](a1_0x5b17('0x12'),{'runGroup':_0x4d2118}));_0x45d6b9[a1_0x5b17('0x19')]((0x0,metric_logger_1[a1_0x5b17('0x6')])(_0x228044));}catch(_0x1c3170){_0x45d6b9[a1_0x5b17('0x19')](((_0x4132bb=_0x1c3170===null||_0x1c3170===void 0x0?void 0x0:_0x1c3170[a1_0x5b17('0x15')])===null||_0x4132bb===void 0x0?void 0x0:_0x4132bb['response'])?(0x0,metric_logger_1[a1_0x5b17('0x6')])(_0x1c3170['axiosException'][a1_0x5b17('0xc')]):metric_logger_1[a1_0x5b17('0x5')]);output[a1_0x5b17('0x18')]({'title':_0x1c3170['message']});process[a1_0x5b17('0x8')](0x1);}});}}exports[a1_0x5b17('0x14')]=RunGroupApi;
@@ -1,156 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CloudEnabledLifeCycle = void 0;
4
- const path = require("path");
5
- const path_1 = require("path");
6
- const fs_1 = require("fs");
7
- const environment_1 = require("../../../utilities/environment");
8
- const serializer_overrides_1 = require("../../../utilities/serializer-overrides");
9
- const { workspaceRoot } = require('../../../utilities/nx-imports');
10
- class CloudEnabledLifeCycle {
11
- constructor(runContext, cacheDirectory, skipNxCache, collectTerminalOutput, cacheableOperations, outputObfuscator, tasks) {
12
- this.runContext = runContext;
13
- this.cacheDirectory = cacheDirectory;
14
- this.skipNxCache = skipNxCache;
15
- this.collectTerminalOutput = collectTerminalOutput;
16
- this.cacheableOperations = cacheableOperations;
17
- this.outputObfuscator = outputObfuscator;
18
- this.tasks = tasks;
19
- }
20
- scheduleTask(task) {
21
- this.runContext.scheduledTasks.push(task);
22
- }
23
- startTask(task) {
24
- this.tasks.push({
25
- taskId: task.id,
26
- startTime: new Date().toISOString(),
27
- target: task.target.target,
28
- projectName: task.target.project,
29
- hash: task.hash,
30
- hashDetails: this.cleanUpHashDetails(task.hashDetails),
31
- params: (0, serializer_overrides_1.serializeOverrides)(task),
32
- });
33
- }
34
- // Used for older version for Nx. Remove in Dec 2022
35
- endTask(task, code) {
36
- let cacheStatus;
37
- if (this.runContext.statuses[task.hash]) {
38
- cacheStatus = this.runContext.statuses[task.hash];
39
- }
40
- else {
41
- if (this.cacheableOperations.indexOf(task.target.target) > -1 &&
42
- !this.skipNxCache) {
43
- cacheStatus = 'local-cache-hit';
44
- }
45
- else {
46
- cacheStatus = 'cache-miss';
47
- }
48
- }
49
- this.updateStartedTask(task, code, cacheStatus);
50
- }
51
- endTasks(tasks) {
52
- for (let t of tasks) {
53
- let cacheStatus;
54
- const taskIsRemoteCacheHit = t.status === 'remote-cache';
55
- const taskIsLocalCacheHitPreNx135 = t.status === 'cache';
56
- const taskIsLocalCacheHit = t.status === 'local-cache' ||
57
- t.status === 'local-cache-kept-existing' ||
58
- taskIsLocalCacheHitPreNx135;
59
- if (this.runContext.statuses[t.task.hash]) {
60
- cacheStatus = this.runContext.statuses[t.task.hash];
61
- }
62
- else if (taskIsRemoteCacheHit) {
63
- cacheStatus = 'remote-cache-hit';
64
- }
65
- else if (taskIsLocalCacheHit) {
66
- cacheStatus = 'local-cache-hit';
67
- }
68
- else {
69
- if (this.cacheableOperations.indexOf(t.task.target.target) > -1 &&
70
- !this.skipNxCache) {
71
- cacheStatus = 'local-cache-hit';
72
- }
73
- else {
74
- cacheStatus = 'cache-miss';
75
- }
76
- }
77
- this.updateStartedTask(t.task, t.code, cacheStatus);
78
- }
79
- }
80
- endCommand() { }
81
- updateStartedTask(task, code, cacheStatus) {
82
- const startedTask = this.tasks.find((t) => t.taskId === task.id);
83
- if (!startedTask) {
84
- throw new Error(`Cannot find task ${task.id}`);
85
- }
86
- startedTask.endTime = new Date().toISOString();
87
- startedTask.status = code;
88
- startedTask.params = this.outputObfuscator.obfuscate(startedTask.params);
89
- startedTask.cacheStatus = cacheStatus;
90
- if (this.collectTerminalOutput) {
91
- startedTask.terminalOutput = this.getTerminalOutput(task.hash, startedTask.cacheStatus, code);
92
- }
93
- }
94
- getTerminalOutput(hash, cacheStatus, code) {
95
- let dir;
96
- if (this.cacheDirectory) {
97
- if (this.cacheDirectory.startsWith('./')) {
98
- dir = (0, path_1.join)(workspaceRoot, this.cacheDirectory);
99
- }
100
- else {
101
- dir = this.cacheDirectory;
102
- }
103
- }
104
- else {
105
- dir = (0, path_1.join)(workspaceRoot, 'node_modules', '.cache', 'nx');
106
- }
107
- try {
108
- const taskOutput = this.readTerminalOutputFile(dir, hash);
109
- const taskOutputSanitized = this.outputObfuscator.obfuscate(taskOutput);
110
- if (environment_1.NX_CLOUD_UNLIMITED_OUTPUT)
111
- return taskOutputSanitized;
112
- const maxCharacters = cacheStatus === 'cache-miss'
113
- ? code === 0
114
- ? CloudEnabledLifeCycle.MAX_CHARACTERS_SUCCESSFUL_TASK
115
- : CloudEnabledLifeCycle.MAX_CHARACTERS_FAILED_TASK
116
- : CloudEnabledLifeCycle.MAX_CHARACTERS_CACHED_TASK;
117
- return taskOutputSanitized.length > maxCharacters
118
- ? `TRUNCATED\n\n${taskOutputSanitized.slice(taskOutputSanitized.length - maxCharacters)}`
119
- : taskOutputSanitized;
120
- }
121
- catch (e) {
122
- return '';
123
- }
124
- }
125
- cleanUpHashDetails(hashDetails) {
126
- const nodes = {};
127
- Object.keys(hashDetails.nodes)
128
- .filter((k) => !k.startsWith('npm:'))
129
- .forEach((k) => {
130
- nodes[k] = hashDetails.nodes[k];
131
- });
132
- return {
133
- nodes,
134
- runtime: hashDetails.runtime,
135
- implicitDeps: hashDetails.implicitDeps,
136
- };
137
- }
138
- readTerminalOutputFile(dir, hash) {
139
- try {
140
- return (0, fs_1.readFileSync)(path.join(dir, 'terminalOutputs', hash)).toString();
141
- }
142
- catch (_a) {
143
- try {
144
- return (0, fs_1.readFileSync)(path.join(dir, hash, 'terminalOutput')).toString();
145
- }
146
- catch (_b) {
147
- return '';
148
- }
149
- }
150
- }
151
- }
152
- exports.CloudEnabledLifeCycle = CloudEnabledLifeCycle;
153
- CloudEnabledLifeCycle.MAX_CHARACTERS_FAILED_TASK = 200000;
154
- CloudEnabledLifeCycle.MAX_CHARACTERS_SUCCESSFUL_TASK = 20000;
155
- CloudEnabledLifeCycle.MAX_CHARACTERS_CACHED_TASK = 20000;
156
- //# sourceMappingURL=cloud-enabled-life-cycle.js.map
1
+ const a0_0x3adf=['taskId','path','toString','toISOString','readTerminalOutputFile','startTask','join','skipNxCache','TRUNCATED\x0a\x0a','MAX_CHARACTERS_CACHED_TASK','cacheDirectory','length','__esModule','hash','../../../utilities/nx-imports','scheduledTasks','project','forEach','tasks','endTask','indexOf','endTime','keys','outputObfuscator','../../../utilities/environment','cache-miss','filter','scheduleTask','remote-cache','collectTerminalOutput','slice','Cannot\x20find\x20task\x20','cacheableOperations','params','task','local-cache-hit','defineProperty','cacheStatus','cache','find','local-cache','MAX_CHARACTERS_FAILED_TASK','status','nodes','cleanUpHashDetails','getTerminalOutput','obfuscate','npm:','runContext','serializeOverrides','updateStartedTask','endTasks','terminalOutput','NX_CLOUD_UNLIMITED_OUTPUT','statuses','target','local-cache-kept-existing','node_modules','code','MAX_CHARACTERS_SUCCESSFUL_TASK','startsWith','push'];(function(_0x5ab962,_0x3adf65){const _0x3ad915=function(_0x2a1563){while(--_0x2a1563){_0x5ab962['push'](_0x5ab962['shift']());}};_0x3ad915(++_0x3adf65);}(a0_0x3adf,0x1e1));const a0_0x3ad9=function(_0x5ab962,_0x3adf65){_0x5ab962=_0x5ab962-0x0;let _0x3ad915=a0_0x3adf[_0x5ab962];return _0x3ad915;};'use strict';Object[a0_0x3ad9('0x33')](exports,a0_0x3ad9('0x1b'),{'value':!![]});exports['CloudEnabledLifeCycle']=void 0x0;const path=require(a0_0x3ad9('0x10'));const path_1=require('path');const fs_1=require('fs');const environment_1=require(a0_0x3ad9('0x27'));const serializer_overrides_1=require('../../../utilities/serializer-overrides');const {workspaceRoot}=require(a0_0x3ad9('0x1d'));class CloudEnabledLifeCycle{constructor(_0x118d70,_0x16a9d3,_0x224b98,_0x2f4bcd,_0xfacc1f,_0x53fa62,_0x432854){this[a0_0x3ad9('0x1')]=_0x118d70;this[a0_0x3ad9('0x19')]=_0x16a9d3;this[a0_0x3ad9('0x16')]=_0x224b98;this['collectTerminalOutput']=_0x2f4bcd;this[a0_0x3ad9('0x2f')]=_0xfacc1f;this[a0_0x3ad9('0x26')]=_0x53fa62;this[a0_0x3ad9('0x21')]=_0x432854;}[a0_0x3ad9('0x2a')](_0x4d35a4){this[a0_0x3ad9('0x1')][a0_0x3ad9('0x1e')][a0_0x3ad9('0xe')](_0x4d35a4);}[a0_0x3ad9('0x14')](_0x3dffb0){this['tasks'][a0_0x3ad9('0xe')]({'taskId':_0x3dffb0['id'],'startTime':new Date()[a0_0x3ad9('0x12')](),'target':_0x3dffb0['target'][a0_0x3ad9('0x8')],'projectName':_0x3dffb0[a0_0x3ad9('0x8')][a0_0x3ad9('0x1f')],'hash':_0x3dffb0['hash'],'hashDetails':this[a0_0x3ad9('0x3b')](_0x3dffb0['hashDetails']),'params':(0x0,serializer_overrides_1[a0_0x3ad9('0x2')])(_0x3dffb0)});}[a0_0x3ad9('0x22')](_0x1b6264,_0x375f9d){let _0x58fb47;if(this[a0_0x3ad9('0x1')]['statuses'][_0x1b6264['hash']]){_0x58fb47=this[a0_0x3ad9('0x1')][a0_0x3ad9('0x7')][_0x1b6264['hash']];}else{if(this[a0_0x3ad9('0x2f')]['indexOf'](_0x1b6264['target']['target'])>-0x1&&!this['skipNxCache']){_0x58fb47=a0_0x3ad9('0x32');}else{_0x58fb47=a0_0x3ad9('0x28');}}this[a0_0x3ad9('0x3')](_0x1b6264,_0x375f9d,_0x58fb47);}[a0_0x3ad9('0x4')](_0x2eafcf){for(let _0x428d24 of _0x2eafcf){let _0x2fb125;const _0x15ca65=_0x428d24['status']===a0_0x3ad9('0x2b');const _0x221abd=_0x428d24[a0_0x3ad9('0x39')]===a0_0x3ad9('0x35');const _0x160ee0=_0x428d24[a0_0x3ad9('0x39')]===a0_0x3ad9('0x37')||_0x428d24[a0_0x3ad9('0x39')]===a0_0x3ad9('0x9')||_0x221abd;if(this[a0_0x3ad9('0x1')][a0_0x3ad9('0x7')][_0x428d24[a0_0x3ad9('0x31')][a0_0x3ad9('0x1c')]]){_0x2fb125=this[a0_0x3ad9('0x1')][a0_0x3ad9('0x7')][_0x428d24[a0_0x3ad9('0x31')][a0_0x3ad9('0x1c')]];}else if(_0x15ca65){_0x2fb125='remote-cache-hit';}else if(_0x160ee0){_0x2fb125='local-cache-hit';}else{if(this[a0_0x3ad9('0x2f')][a0_0x3ad9('0x23')](_0x428d24[a0_0x3ad9('0x31')]['target']['target'])>-0x1&&!this[a0_0x3ad9('0x16')]){_0x2fb125=a0_0x3ad9('0x32');}else{_0x2fb125=a0_0x3ad9('0x28');}}this[a0_0x3ad9('0x3')](_0x428d24['task'],_0x428d24[a0_0x3ad9('0xb')],_0x2fb125);}}['endCommand'](){}[a0_0x3ad9('0x3')](_0x4e5936,_0x1fe223,_0x1ceaab){const _0x5cee12=this['tasks'][a0_0x3ad9('0x36')](_0x4b5e71=>_0x4b5e71[a0_0x3ad9('0xf')]===_0x4e5936['id']);if(!_0x5cee12){throw new Error(a0_0x3ad9('0x2e')+_0x4e5936['id']);}_0x5cee12[a0_0x3ad9('0x24')]=new Date()[a0_0x3ad9('0x12')]();_0x5cee12[a0_0x3ad9('0x39')]=_0x1fe223;_0x5cee12[a0_0x3ad9('0x30')]=this[a0_0x3ad9('0x26')][a0_0x3ad9('0x3d')](_0x5cee12['params']);_0x5cee12['cacheStatus']=_0x1ceaab;if(this[a0_0x3ad9('0x2c')]){_0x5cee12['terminalOutput']=this[a0_0x3ad9('0x3c')](_0x4e5936['hash'],_0x5cee12[a0_0x3ad9('0x34')],_0x1fe223);}}[a0_0x3ad9('0x3c')](_0x498373,_0x2dc74c,_0x147d7a){let _0x1f5d81;if(this[a0_0x3ad9('0x19')]){if(this[a0_0x3ad9('0x19')]['startsWith']('./')){_0x1f5d81=(0x0,path_1['join'])(workspaceRoot,this[a0_0x3ad9('0x19')]);}else{_0x1f5d81=this[a0_0x3ad9('0x19')];}}else{_0x1f5d81=(0x0,path_1[a0_0x3ad9('0x15')])(workspaceRoot,a0_0x3ad9('0xa'),'.cache','nx');}try{const _0x15f5ea=this[a0_0x3ad9('0x13')](_0x1f5d81,_0x498373);const _0x2f2864=this[a0_0x3ad9('0x26')][a0_0x3ad9('0x3d')](_0x15f5ea);if(environment_1[a0_0x3ad9('0x6')])return _0x2f2864;const _0x3a09ad=_0x2dc74c===a0_0x3ad9('0x28')?_0x147d7a===0x0?CloudEnabledLifeCycle[a0_0x3ad9('0xc')]:CloudEnabledLifeCycle[a0_0x3ad9('0x38')]:CloudEnabledLifeCycle[a0_0x3ad9('0x18')];return _0x2f2864[a0_0x3ad9('0x1a')]>_0x3a09ad?a0_0x3ad9('0x17')+_0x2f2864[a0_0x3ad9('0x2d')](_0x2f2864[a0_0x3ad9('0x1a')]-_0x3a09ad):_0x2f2864;}catch(_0x803f7){return'';}}[a0_0x3ad9('0x3b')](_0x4092f7){const _0x5d7342={};Object[a0_0x3ad9('0x25')](_0x4092f7[a0_0x3ad9('0x3a')])[a0_0x3ad9('0x29')](_0x5e948a=>!_0x5e948a[a0_0x3ad9('0xd')](a0_0x3ad9('0x0')))[a0_0x3ad9('0x20')](_0x588da4=>{_0x5d7342[_0x588da4]=_0x4092f7[a0_0x3ad9('0x3a')][_0x588da4];});return{'nodes':_0x5d7342,'runtime':_0x4092f7['runtime'],'implicitDeps':_0x4092f7['implicitDeps']};}[a0_0x3ad9('0x13')](_0x3b58b2,_0x52fd43){try{return(0x0,fs_1['readFileSync'])(path['join'](_0x3b58b2,'terminalOutputs',_0x52fd43))[a0_0x3ad9('0x11')]();}catch(_0x147be3){try{return(0x0,fs_1['readFileSync'])(path[a0_0x3ad9('0x15')](_0x3b58b2,_0x52fd43,a0_0x3ad9('0x5')))[a0_0x3ad9('0x11')]();}catch(_0x19a374){return'';}}}}exports['CloudEnabledLifeCycle']=CloudEnabledLifeCycle;CloudEnabledLifeCycle[a0_0x3ad9('0x38')]=0x30d40;CloudEnabledLifeCycle[a0_0x3ad9('0xc')]=0x4e20;CloudEnabledLifeCycle[a0_0x3ad9('0x18')]=0x4e20;
@@ -1,288 +1 @@
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.cloudEnabledTasksRunner = void 0;
13
- const message_reporter_1 = require("../../terminal-output/message-reporter");
14
- const end_of_run_message_1 = require("../../terminal-output/end-of-run-message");
15
- const output_obfuscator_1 = require("../../terminal-output/output-obfuscator");
16
- const cloud_enabled_life_cycle_1 = require("./cloud-enabled-life-cycle");
17
- const file_storage_1 = require("../../file-storage/file-storage");
18
- const e2e_encryption_1 = require("../../file-storage/e2e-encryption");
19
- const environment_1 = require("../../../utilities/environment");
20
- const cloud_remote_cache_1 = require("./cloud-remote-cache");
21
- const cloud_run_api_1 = require("./cloud-run.api");
22
- const fs_1 = require("fs");
23
- const path = require("path");
24
- const metric_logger_1 = require("../../../utilities/metric-logger");
25
- const error_reporter_api_1 = require("../../api/error-reporter.api");
26
- const path_1 = require("path");
27
- const fs_extra_1 = require("fs-extra");
28
- const id_generator_1 = require("./id-generator");
29
- const { tasksRunner, output, Cache } = require('../../../utilities/nx-imports');
30
- function createApi(errors, options, runContext) {
31
- const machineInfo = (0, environment_1.getMachineInfo)(options);
32
- return new cloud_run_api_1.CloudRunApi(errors, runContext, options, machineInfo);
33
- }
34
- function storeTaskHashes(taskExecutions, directory, distributedExecutionId) {
35
- const hashes = JSON.stringify(taskExecutions.map((t) => ({
36
- taskId: t.taskId,
37
- hash: t.hash,
38
- })));
39
- if (environment_1.VERBOSE_LOGGING) {
40
- output.note({
41
- title: `Executed tasks with hashes: ${hashes}`,
42
- });
43
- }
44
- (0, fs_1.writeFileSync)(path.join(directory, `tasks-hashes-${distributedExecutionId}`), hashes);
45
- }
46
- function onComplete({ daemon, lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133, inner, encryptionKey, fileStorage, uploadInCurrentProcess, runContext, }) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const runEndTime = new Date().toISOString();
49
- const branch = (0, environment_1.getBranch)();
50
- const runData = {
51
- command: outputObfuscator.obfuscate((0, environment_1.parseCommand)()),
52
- startTime: runStartTime,
53
- endTime: runEndTime,
54
- distributedExecutionId: environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID,
55
- branch: branch,
56
- scan: true,
57
- runGroup: (0, environment_1.getRunGroup)(),
58
- // only set sha if branch is set because we invoke a separate process,
59
- // which adds a few millis
60
- sha: branch ? (0, environment_1.extractGitSha)() : undefined,
61
- inner: inner,
62
- };
63
- if (uploadInCurrentProcess) {
64
- if (environment_1.AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION) {
65
- storeTaskHashes(taskExecutions, options.cacheDirectory || './node_modules/.cache/nx', environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID);
66
- }
67
- try {
68
- yield remoteCache.waitForStoreRequestsToComplete();
69
- }
70
- catch (e) {
71
- output.error({
72
- title: `Nx Cloud wasn't able to store artifacts.`,
73
- });
74
- messages.printMessages();
75
- process.exit(environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE);
76
- }
77
- try {
78
- yield api.endRun(runData, taskExecutions);
79
- }
80
- catch (e) {
81
- output.error({
82
- title: `Nx Cloud wasn't able to record its run.`,
83
- });
84
- messages.printMessages();
85
- process.exit(environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE);
86
- }
87
- yield (0, metric_logger_1.submitRunMetrics)(options);
88
- }
89
- else {
90
- try {
91
- const accessToken = environment_1.ACCESS_TOKEN ? environment_1.ACCESS_TOKEN : options.accessToken;
92
- const linkId = (0, id_generator_1.generateUniqueLinkId)();
93
- yield daemon.processInBackground('@nrwl/nx-cloud/lib/daemon/process-run-end', {
94
- encryptionKey,
95
- runnerOptions: Object.assign(Object.assign({}, options), { accessToken }),
96
- uploads: fileStorage.uploads,
97
- runEnd: {
98
- runData,
99
- taskExecutions,
100
- linkId,
101
- },
102
- });
103
- runContext.runUrl = `${options.url || 'https://nx.app'}/runs/${linkId}`;
104
- }
105
- catch (e) {
106
- output.warn({
107
- title: `Nx Cloud Problems`,
108
- bodyLines: [e.message || e.toString()],
109
- });
110
- }
111
- }
112
- // this workaround is required because prior to Nx 13.3 we printed
113
- // the end message after the runner completes, so we need to wait for the
114
- // message to appear in the right place
115
- if (versionOfNxBefore133) {
116
- setTimeout(() => {
117
- messages.printMessages();
118
- if (!messages.anyErrors && !inner) {
119
- endOfRunMessage.printCacheHitsMessage();
120
- }
121
- }, 0);
122
- }
123
- else {
124
- messages.printMessages();
125
- if (!messages.anyErrors && !inner) {
126
- endOfRunMessage.printCacheHitsMessage();
127
- }
128
- }
129
- });
130
- }
131
- function createLifeCycle(runContext, options, outputObfuscator, tasks) {
132
- const cloudEnabledLifeCycle = new cloud_enabled_life_cycle_1.CloudEnabledLifeCycle(runContext, options.cacheDirectory, !!options.skipNxCache, options.scan === undefined ? true : options.scan, options.cacheableOperations || [], outputObfuscator, tasks);
133
- try {
134
- const { CompositeLifeCycle } = require('../../../utilities/nx-imports');
135
- if (!CompositeLifeCycle)
136
- return cloudEnabledLifeCycle;
137
- return new CompositeLifeCycle([options.lifeCycle, cloudEnabledLifeCycle]);
138
- }
139
- catch (e) {
140
- return cloudEnabledLifeCycle;
141
- }
142
- }
143
- function fetchUrlsForKnownHashesUpfront(api, runContext, tasks, options) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- let hashes = tasks.map((t) => t.hash).filter((h) => !!h);
146
- const c = new Cache(options);
147
- if (!options.skipNxCache) {
148
- // filter out the urls that don't have artifact stored locally
149
- const promises = yield Promise.all(hashes.map((hash) => {
150
- const tdCommit = (0, path_1.join)(c.cachePath, `${hash}.commit`);
151
- return (0, fs_extra_1.pathExists)(tdCommit);
152
- }));
153
- const missingHashes = [];
154
- for (let i = 0; i < promises.length; ++i) {
155
- if (promises[i]) {
156
- missingHashes.push(hashes[i]);
157
- }
158
- }
159
- hashes = missingHashes;
160
- }
161
- if (hashes.length > 0) {
162
- const startRunRequest = api.startRun(environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID, hashes);
163
- for (const hash of hashes) {
164
- runContext.requests[hash] = startRunRequest;
165
- }
166
- }
167
- });
168
- }
169
- function isConnectedToPrivateCloud(options) {
170
- if (!options.url)
171
- return false;
172
- if (options.url.endsWith('api.nrwl.io'))
173
- return false;
174
- if (options.url.endsWith('.nx.app'))
175
- return false;
176
- if (options.url.indexOf('localhost') > -1)
177
- return false;
178
- return true;
179
- }
180
- function cloudEnabledTasksRunner(tasks, options, context, inner = false) {
181
- var _a;
182
- const runContext = {
183
- statuses: {},
184
- scheduledTasks: [],
185
- requests: {},
186
- allTasks: tasks,
187
- };
188
- const versionOfNxBefore133 = options.lifeCycle === undefined;
189
- const taskExecutions = [];
190
- const messages = new message_reporter_1.MessageReporter(options);
191
- const api = createApi(messages, options, runContext);
192
- const endOfRunMessage = new end_of_run_message_1.EndOfRunMessage(runContext, taskExecutions);
193
- const outputObfuscator = new output_obfuscator_1.OutputObfuscator(options.maskedProperties);
194
- const runStartTime = new Date().toISOString();
195
- const lifeCycle = createLifeCycle(runContext, options, outputObfuscator, taskExecutions);
196
- const encryptionKey = environment_1.ENCRYPTION_KEY || options.encryptionKey;
197
- const encryption = new e2e_encryption_1.E2EEncryption(encryptionKey);
198
- const errorApi = new error_reporter_api_1.ErrorReporterApi(options);
199
- const uploadInCurrentProcess = !!environment_1.AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION ||
200
- !((_a = context.daemon) === null || _a === void 0 ? void 0 : _a.enabled()) ||
201
- isConnectedToPrivateCloud(options);
202
- const fileStorage = new file_storage_1.FileStorage(encryption, errorApi, false, uploadInCurrentProcess);
203
- const remoteCache = new cloud_remote_cache_1.CloudRemoteCache(messages, api, runContext, fileStorage);
204
- // we don't await for it cause this step is optional
205
- fetchUrlsForKnownHashesUpfront(api, runContext, tasks, options);
206
- // have to reset it so we don't capture inner tasks
207
- delete process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_ID;
208
- const res = tasksRunner(tasks, Object.assign(Object.assign({}, options), { remoteCache, lifeCycle }), context);
209
- // observable -> legacy
210
- if (res.subscribe) {
211
- const { Subject } = require('rxjs/internal/Subject');
212
- const wrappedRes = new Subject();
213
- res.subscribe({
214
- next: (value) => wrappedRes.next(value),
215
- error: (err) => wrappedRes.error(err),
216
- complete: () => __awaiter(this, void 0, void 0, function* () {
217
- yield onComplete({
218
- daemon: context.daemon,
219
- lifeCycle,
220
- options,
221
- remoteCache,
222
- api,
223
- outputObfuscator,
224
- runStartTime,
225
- messages,
226
- endOfRunMessage,
227
- taskExecutions,
228
- versionOfNxBefore133,
229
- inner,
230
- encryptionKey,
231
- fileStorage,
232
- uploadInCurrentProcess,
233
- runContext,
234
- });
235
- wrappedRes.complete();
236
- }),
237
- });
238
- return wrappedRes;
239
- // promise
240
- }
241
- else {
242
- return res
243
- .then((r) => __awaiter(this, void 0, void 0, function* () {
244
- yield onComplete({
245
- daemon: context.daemon,
246
- lifeCycle,
247
- options,
248
- remoteCache,
249
- api,
250
- outputObfuscator,
251
- runStartTime,
252
- messages,
253
- endOfRunMessage,
254
- taskExecutions,
255
- versionOfNxBefore133,
256
- inner,
257
- encryptionKey,
258
- fileStorage,
259
- uploadInCurrentProcess,
260
- runContext,
261
- });
262
- return r;
263
- }))
264
- .catch((e) => __awaiter(this, void 0, void 0, function* () {
265
- yield onComplete({
266
- daemon: context.daemon,
267
- lifeCycle,
268
- options,
269
- remoteCache,
270
- api,
271
- outputObfuscator,
272
- runStartTime,
273
- messages,
274
- endOfRunMessage,
275
- taskExecutions,
276
- versionOfNxBefore133,
277
- inner,
278
- encryptionKey,
279
- fileStorage,
280
- uploadInCurrentProcess,
281
- runContext,
282
- });
283
- throw e;
284
- }));
285
- }
286
- }
287
- exports.cloudEnabledTasksRunner = cloudEnabledTasksRunner;
288
- //# sourceMappingURL=cloud-enabled.runner.js.map
1
+ const a1_0x443f=['indexOf','toISOString','encryptionKey','rxjs/internal/Subject','OutputObfuscator','../../file-storage/e2e-encryption','getMachineInfo','printCacheHitsMessage','endsWith','complete','map','Executed\x20tasks\x20with\x20hashes:\x20','Nx\x20Cloud\x20Problems','filter','next','env','exit','Nx\x20Cloud\x20wasn\x27t\x20able\x20to\x20store\x20artifacts.','error','__awaiter','push','endRun','ErrorReporterApi','then','join','./id-generator','taskId','message','../../api/error-reporter.api','__esModule','skipNxCache','warn','DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE','@nrwl/nx-cloud/lib/daemon/process-run-end','value','../../terminal-output/message-reporter','../../file-storage/file-storage','cacheDirectory','url','waitForStoreRequestsToComplete','runUrl','requests','hash','../../terminal-output/end-of-run-message','subscribe','./cloud-remote-cache','length','MessageReporter','obfuscate','printMessages','../../../utilities/metric-logger','https://nx.app','daemon','CloudRemoteCache','E2EEncryption','writeFileSync','processInBackground','../../../utilities/nx-imports','accessToken','scan','done','CloudRunApi','path','anyErrors','stringify','../../../utilities/environment','Nx\x20Cloud\x20wasn\x27t\x20able\x20to\x20record\x20its\x20run.','generateUniqueLinkId','ENCRYPTION_KEY','CloudEnabledLifeCycle','tasks-hashes-','throw','.commit','lifeCycle','NX_CLOUD_DISTRIBUTED_EXECUTION_ID','EndOfRunMessage','toString','catch','cloudEnabledTasksRunner','api.nrwl.io','.nx.app','defineProperty','VERBOSE_LOGGING','../../terminal-output/output-obfuscator','AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION','FileStorage','./cloud-run.api','parseCommand','cacheableOperations','assign','submitRunMetrics','uploads'];(function(_0x5e9318,_0x443f66){const _0x41c4e1=function(_0x13d6ba){while(--_0x13d6ba){_0x5e9318['push'](_0x5e9318['shift']());}};_0x41c4e1(++_0x443f66);}(a1_0x443f,0x1f1));const a1_0x41c4=function(_0x5e9318,_0x443f66){_0x5e9318=_0x5e9318-0x0;let _0x41c4e1=a1_0x443f[_0x5e9318];return _0x41c4e1;};'use strict';var __awaiter=this&&this[a1_0x41c4('0x4a')]||function(_0x126de3,_0x4ea62d,_0x54bd41,_0x4b0685){function _0x2d2914(_0x31d032){return _0x31d032 instanceof _0x54bd41?_0x31d032:new _0x54bd41(function(_0x127442){_0x127442(_0x31d032);});}return new(_0x54bd41||(_0x54bd41=Promise))(function(_0x33f3ac,_0x48704e){function _0x533e61(_0x34091a){try{_0x5e1482(_0x4b0685[a1_0x41c4('0x45')](_0x34091a));}catch(_0x39c500){_0x48704e(_0x39c500);}}function _0x16fc7f(_0x45a683){try{_0x5e1482(_0x4b0685[a1_0x41c4('0x22')](_0x45a683));}catch(_0x4cd27f){_0x48704e(_0x4cd27f);}}function _0x5e1482(_0x20dc8a){_0x20dc8a[a1_0x41c4('0x17')]?_0x33f3ac(_0x20dc8a[a1_0x41c4('0x59')]):_0x2d2914(_0x20dc8a[a1_0x41c4('0x59')])[a1_0x41c4('0x4e')](_0x533e61,_0x16fc7f);}_0x5e1482((_0x4b0685=_0x4b0685['apply'](_0x126de3,_0x4ea62d||[]))['next']());});};Object[a1_0x41c4('0x2c')](exports,a1_0x41c4('0x54'),{'value':!![]});exports[a1_0x41c4('0x29')]=void 0x0;const message_reporter_1=require(a1_0x41c4('0x5a'));const end_of_run_message_1=require(a1_0x41c4('0x6'));const output_obfuscator_1=require(a1_0x41c4('0x2e'));const cloud_enabled_life_cycle_1=require('./cloud-enabled-life-cycle');const file_storage_1=require(a1_0x41c4('0x5b'));const e2e_encryption_1=require(a1_0x41c4('0x3c'));const environment_1=require(a1_0x41c4('0x1c'));const cloud_remote_cache_1=require(a1_0x41c4('0x8'));const cloud_run_api_1=require(a1_0x41c4('0x31'));const fs_1=require('fs');const path=require(a1_0x41c4('0x19'));const metric_logger_1=require(a1_0x41c4('0xd'));const error_reporter_api_1=require(a1_0x41c4('0x53'));const path_1=require(a1_0x41c4('0x19'));const fs_extra_1=require('fs-extra');const id_generator_1=require(a1_0x41c4('0x50'));const {tasksRunner,output,Cache}=require(a1_0x41c4('0x14'));function createApi(_0x28ac43,_0x48673f,_0x1420ff){const _0x3275f5=(0x0,environment_1[a1_0x41c4('0x3d')])(_0x48673f);return new cloud_run_api_1[(a1_0x41c4('0x18'))](_0x28ac43,_0x1420ff,_0x48673f,_0x3275f5);}function storeTaskHashes(_0x493a35,_0x18853c,_0x499984){const _0x34f6c7=JSON[a1_0x41c4('0x1b')](_0x493a35[a1_0x41c4('0x41')](_0x1e5749=>({'taskId':_0x1e5749[a1_0x41c4('0x51')],'hash':_0x1e5749[a1_0x41c4('0x5')]})));if(environment_1[a1_0x41c4('0x2d')]){output['note']({'title':a1_0x41c4('0x42')+_0x34f6c7});}(0x0,fs_1[a1_0x41c4('0x12')])(path[a1_0x41c4('0x4f')](_0x18853c,a1_0x41c4('0x21')+_0x499984),_0x34f6c7);}function onComplete({daemon,lifeCycle,options,remoteCache,api,outputObfuscator,runStartTime,messages,endOfRunMessage,taskExecutions,versionOfNxBefore133,inner,encryptionKey,fileStorage,uploadInCurrentProcess,runContext}){return __awaiter(this,void 0x0,void 0x0,function*(){const _0x1a3112=new Date()[a1_0x41c4('0x38')]();const _0x7cb9bd=(0x0,environment_1['getBranch'])();const _0xeaaf07={'command':outputObfuscator[a1_0x41c4('0xb')]((0x0,environment_1[a1_0x41c4('0x32')])()),'startTime':runStartTime,'endTime':_0x1a3112,'distributedExecutionId':environment_1['NX_CLOUD_DISTRIBUTED_EXECUTION_ID'],'branch':_0x7cb9bd,'scan':!![],'runGroup':(0x0,environment_1['getRunGroup'])(),'sha':_0x7cb9bd?(0x0,environment_1['extractGitSha'])():undefined,'inner':inner};if(uploadInCurrentProcess){if(environment_1[a1_0x41c4('0x2f')]){storeTaskHashes(taskExecutions,options[a1_0x41c4('0x0')]||'./node_modules/.cache/nx',environment_1['NX_CLOUD_DISTRIBUTED_EXECUTION_ID']);}try{yield remoteCache[a1_0x41c4('0x2')]();}catch(_0x146761){output[a1_0x41c4('0x49')]({'title':a1_0x41c4('0x48')});messages[a1_0x41c4('0xc')]();process[a1_0x41c4('0x47')](environment_1['DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE']);}try{yield api[a1_0x41c4('0x4c')](_0xeaaf07,taskExecutions);}catch(_0x3f00cc){output[a1_0x41c4('0x49')]({'title':a1_0x41c4('0x1d')});messages['printMessages']();process[a1_0x41c4('0x47')](environment_1[a1_0x41c4('0x57')]);}yield(0x0,metric_logger_1[a1_0x41c4('0x35')])(options);}else{try{const _0x5e9f92=environment_1['ACCESS_TOKEN']?environment_1['ACCESS_TOKEN']:options[a1_0x41c4('0x15')];const _0x48ccd4=(0x0,id_generator_1[a1_0x41c4('0x1e')])();yield daemon[a1_0x41c4('0x13')](a1_0x41c4('0x58'),{'encryptionKey':encryptionKey,'runnerOptions':Object[a1_0x41c4('0x34')](Object[a1_0x41c4('0x34')]({},options),{'accessToken':_0x5e9f92}),'uploads':fileStorage[a1_0x41c4('0x36')],'runEnd':{'runData':_0xeaaf07,'taskExecutions':taskExecutions,'linkId':_0x48ccd4}});runContext[a1_0x41c4('0x3')]=(options[a1_0x41c4('0x1')]||a1_0x41c4('0xe'))+'/runs/'+_0x48ccd4;}catch(_0x21d579){output[a1_0x41c4('0x56')]({'title':a1_0x41c4('0x43'),'bodyLines':[_0x21d579[a1_0x41c4('0x52')]||_0x21d579[a1_0x41c4('0x27')]()]});}}if(versionOfNxBefore133){setTimeout(()=>{messages[a1_0x41c4('0xc')]();if(!messages[a1_0x41c4('0x1a')]&&!inner){endOfRunMessage[a1_0x41c4('0x3e')]();}},0x0);}else{messages[a1_0x41c4('0xc')]();if(!messages[a1_0x41c4('0x1a')]&&!inner){endOfRunMessage[a1_0x41c4('0x3e')]();}}});}function createLifeCycle(_0x198ef9,_0x5e31a6,_0x43c50f,_0x1a8f1a){const _0x4b3976=new cloud_enabled_life_cycle_1[(a1_0x41c4('0x20'))](_0x198ef9,_0x5e31a6[a1_0x41c4('0x0')],!!_0x5e31a6[a1_0x41c4('0x55')],_0x5e31a6[a1_0x41c4('0x16')]===undefined?!![]:_0x5e31a6[a1_0x41c4('0x16')],_0x5e31a6[a1_0x41c4('0x33')]||[],_0x43c50f,_0x1a8f1a);try{const {CompositeLifeCycle}=require(a1_0x41c4('0x14'));if(!CompositeLifeCycle)return _0x4b3976;return new CompositeLifeCycle([_0x5e31a6['lifeCycle'],_0x4b3976]);}catch(_0x170515){return _0x4b3976;}}function fetchUrlsForKnownHashesUpfront(_0x1f6482,_0x574b67,_0x51bb85,_0xfd2507){return __awaiter(this,void 0x0,void 0x0,function*(){let _0x3230fa=_0x51bb85['map'](_0xf086e6=>_0xf086e6[a1_0x41c4('0x5')])[a1_0x41c4('0x44')](_0x4dac51=>!!_0x4dac51);const _0x154ed6=new Cache(_0xfd2507);if(!_0xfd2507['skipNxCache']){const _0x8fa7dc=yield Promise['all'](_0x3230fa[a1_0x41c4('0x41')](_0x31e9dc=>{const _0x10c267=(0x0,path_1[a1_0x41c4('0x4f')])(_0x154ed6['cachePath'],_0x31e9dc+a1_0x41c4('0x23'));return(0x0,fs_extra_1['pathExists'])(_0x10c267);}));const _0x18f286=[];for(let _0x49f7d7=0x0;_0x49f7d7<_0x8fa7dc[a1_0x41c4('0x9')];++_0x49f7d7){if(_0x8fa7dc[_0x49f7d7]){_0x18f286[a1_0x41c4('0x4b')](_0x3230fa[_0x49f7d7]);}}_0x3230fa=_0x18f286;}if(_0x3230fa['length']>0x0){const _0x3de0a0=_0x1f6482['startRun'](environment_1[a1_0x41c4('0x25')],_0x3230fa);for(const _0x2d17e0 of _0x3230fa){_0x574b67[a1_0x41c4('0x4')][_0x2d17e0]=_0x3de0a0;}}});}function isConnectedToPrivateCloud(_0x246785){if(!_0x246785[a1_0x41c4('0x1')])return![];if(_0x246785[a1_0x41c4('0x1')][a1_0x41c4('0x3f')](a1_0x41c4('0x2a')))return![];if(_0x246785[a1_0x41c4('0x1')]['endsWith'](a1_0x41c4('0x2b')))return![];if(_0x246785['url'][a1_0x41c4('0x37')]('localhost')>-0x1)return![];return!![];}function cloudEnabledTasksRunner(_0x2f5843,_0x13ad23,_0x5198cc,_0xafbaf0=![]){var _0x187b33;const _0x395324={'statuses':{},'scheduledTasks':[],'requests':{},'allTasks':_0x2f5843};const _0x223dcd=_0x13ad23[a1_0x41c4('0x24')]===undefined;const _0x344508=[];const _0x1cb1d3=new message_reporter_1[(a1_0x41c4('0xa'))](_0x13ad23);const _0x49e643=createApi(_0x1cb1d3,_0x13ad23,_0x395324);const _0x44ad61=new end_of_run_message_1[(a1_0x41c4('0x26'))](_0x395324,_0x344508);const _0x38af7d=new output_obfuscator_1[(a1_0x41c4('0x3b'))](_0x13ad23['maskedProperties']);const _0x4eb840=new Date()[a1_0x41c4('0x38')]();const _0x55e964=createLifeCycle(_0x395324,_0x13ad23,_0x38af7d,_0x344508);const _0x4af367=environment_1[a1_0x41c4('0x1f')]||_0x13ad23[a1_0x41c4('0x39')];const _0x14f39b=new e2e_encryption_1[(a1_0x41c4('0x11'))](_0x4af367);const _0x572ce9=new error_reporter_api_1[(a1_0x41c4('0x4d'))](_0x13ad23);const _0x3efc14=!!environment_1[a1_0x41c4('0x2f')]||!((_0x187b33=_0x5198cc['daemon'])===null||_0x187b33===void 0x0?void 0x0:_0x187b33['enabled']())||isConnectedToPrivateCloud(_0x13ad23);const _0x4c36db=new file_storage_1[(a1_0x41c4('0x30'))](_0x14f39b,_0x572ce9,![],_0x3efc14);const _0x4abca=new cloud_remote_cache_1[(a1_0x41c4('0x10'))](_0x1cb1d3,_0x49e643,_0x395324,_0x4c36db);fetchUrlsForKnownHashesUpfront(_0x49e643,_0x395324,_0x2f5843,_0x13ad23);delete process[a1_0x41c4('0x46')]['NX_CLOUD_DISTRIBUTED_EXECUTION_ID'];const _0xb9aea=tasksRunner(_0x2f5843,Object['assign'](Object[a1_0x41c4('0x34')]({},_0x13ad23),{'remoteCache':_0x4abca,'lifeCycle':_0x55e964}),_0x5198cc);if(_0xb9aea[a1_0x41c4('0x7')]){const {Subject}=require(a1_0x41c4('0x3a'));const _0x44ea32=new Subject();_0xb9aea[a1_0x41c4('0x7')]({'next':_0x279dd4=>_0x44ea32['next'](_0x279dd4),'error':_0x319fcb=>_0x44ea32[a1_0x41c4('0x49')](_0x319fcb),'complete':()=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete({'daemon':_0x5198cc[a1_0x41c4('0xf')],'lifeCycle':_0x55e964,'options':_0x13ad23,'remoteCache':_0x4abca,'api':_0x49e643,'outputObfuscator':_0x38af7d,'runStartTime':_0x4eb840,'messages':_0x1cb1d3,'endOfRunMessage':_0x44ad61,'taskExecutions':_0x344508,'versionOfNxBefore133':_0x223dcd,'inner':_0xafbaf0,'encryptionKey':_0x4af367,'fileStorage':_0x4c36db,'uploadInCurrentProcess':_0x3efc14,'runContext':_0x395324});_0x44ea32[a1_0x41c4('0x40')]();})});return _0x44ea32;}else{return _0xb9aea[a1_0x41c4('0x4e')](_0x282114=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete({'daemon':_0x5198cc[a1_0x41c4('0xf')],'lifeCycle':_0x55e964,'options':_0x13ad23,'remoteCache':_0x4abca,'api':_0x49e643,'outputObfuscator':_0x38af7d,'runStartTime':_0x4eb840,'messages':_0x1cb1d3,'endOfRunMessage':_0x44ad61,'taskExecutions':_0x344508,'versionOfNxBefore133':_0x223dcd,'inner':_0xafbaf0,'encryptionKey':_0x4af367,'fileStorage':_0x4c36db,'uploadInCurrentProcess':_0x3efc14,'runContext':_0x395324});return _0x282114;}))[a1_0x41c4('0x28')](_0x425d7c=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete({'daemon':_0x5198cc[a1_0x41c4('0xf')],'lifeCycle':_0x55e964,'options':_0x13ad23,'remoteCache':_0x4abca,'api':_0x49e643,'outputObfuscator':_0x38af7d,'runStartTime':_0x4eb840,'messages':_0x1cb1d3,'endOfRunMessage':_0x44ad61,'taskExecutions':_0x344508,'versionOfNxBefore133':_0x223dcd,'inner':_0xafbaf0,'encryptionKey':_0x4af367,'fileStorage':_0x4c36db,'uploadInCurrentProcess':_0x3efc14,'runContext':_0x395324});throw _0x425d7c;}));}}exports['cloudEnabledTasksRunner']=cloudEnabledTasksRunner;