@nrwl/nx-cloud 14.0.3 → 14.0.4-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.
@@ -1 +1,65 @@
1
- const a0_0x9aab=['apply','RunGroupApi','../../utilities/axios','defineProperty','message','recordMetric','exit','createMetricRecorder','post','RUNNER_FAILURE_PERF_ENTRY','axiosMultipleTries','next','apiAxiosInstance','createApiAxiosInstance','response','__esModule','value','error','/nx-cloud/executions/create-run-group','createRunGroup','axiosException','mapRespToPerfEntry','done','throw','completeRunGroup','/nx-cloud/executions/complete-run-group'];(function(_0x841bb8,_0x9aab37){const _0x4d79ae=function(_0x4c76ee){while(--_0x4c76ee){_0x841bb8['push'](_0x841bb8['shift']());}};_0x4d79ae(++_0x9aab37);}(a0_0x9aab,0x86));const a0_0x4d79=function(_0x841bb8,_0x9aab37){_0x841bb8=_0x841bb8-0x0;let _0x4d79ae=a0_0x9aab[_0x841bb8];return _0x4d79ae;};'use strict';var __awaiter=this&&this['__awaiter']||function(_0x2494d3,_0x83f74c,_0x1349d4,_0x386c69){function _0x2aa545(_0x6cb8b){return _0x6cb8b instanceof _0x1349d4?_0x6cb8b:new _0x1349d4(function(_0x5cd376){_0x5cd376(_0x6cb8b);});}return new(_0x1349d4||(_0x1349d4=Promise))(function(_0x25b436,_0x38ae08){function _0x308133(_0x2b0b7e){try{_0x476de1(_0x386c69[a0_0x4d79('0x7')](_0x2b0b7e));}catch(_0x1776a8){_0x38ae08(_0x1776a8);}}function _0x32708a(_0x36c0c9){try{_0x476de1(_0x386c69[a0_0x4d79('0x13')](_0x36c0c9));}catch(_0x48679f){_0x38ae08(_0x48679f);}}function _0x476de1(_0x5e5a76){_0x5e5a76[a0_0x4d79('0x12')]?_0x25b436(_0x5e5a76[a0_0x4d79('0xc')]):_0x2aa545(_0x5e5a76[a0_0x4d79('0xc')])['then'](_0x308133,_0x32708a);}_0x476de1((_0x386c69=_0x386c69[a0_0x4d79('0x16')](_0x2494d3,_0x83f74c||[]))[a0_0x4d79('0x7')]());});};Object[a0_0x4d79('0x19')](exports,a0_0x4d79('0xb'),{'value':!![]});exports[a0_0x4d79('0x17')]=void 0x0;const axios_1=require(a0_0x4d79('0x18'));const metric_logger_1=require('../../utilities/metric-logger');const {output}=require('../../utilities/nx-imports');class RunGroupApi{constructor(_0x298250){this[a0_0x4d79('0x8')]=(0x0,axios_1[a0_0x4d79('0x9')])(_0x298250);}[a0_0x4d79('0xf')](_0x20dd62,_0x2b9496){var _0xdbc02;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x132f86=(0x0,metric_logger_1[a0_0x4d79('0x3')])(a0_0x4d79('0xf'));try{const _0xe214dd=yield(0x0,axios_1[a0_0x4d79('0x6')])(()=>this[a0_0x4d79('0x8')]['post'](a0_0x4d79('0xe'),{'branch':_0x20dd62,'runGroup':_0x2b9496}));_0x132f86['recordMetric']((0x0,metric_logger_1[a0_0x4d79('0x11')])(_0xe214dd));}catch(_0x2c9ee8){_0x132f86[a0_0x4d79('0x1')](((_0xdbc02=_0x2c9ee8===null||_0x2c9ee8===void 0x0?void 0x0:_0x2c9ee8[a0_0x4d79('0x10')])===null||_0xdbc02===void 0x0?void 0x0:_0xdbc02[a0_0x4d79('0xa')])?(0x0,metric_logger_1[a0_0x4d79('0x11')])(_0x2c9ee8[a0_0x4d79('0x10')][a0_0x4d79('0xa')]):metric_logger_1[a0_0x4d79('0x5')]);output['error']({'title':_0x2c9ee8['message']});process[a0_0x4d79('0x2')](0x1);}});}[a0_0x4d79('0x14')](_0x4b80d2){var _0x42f671;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x1bb2a3=(0x0,metric_logger_1['createMetricRecorder'])(a0_0x4d79('0xf'));try{const _0x1ed5c4=yield(0x0,axios_1['axiosMultipleTries'])(()=>this[a0_0x4d79('0x8')][a0_0x4d79('0x4')](a0_0x4d79('0x15'),{'runGroup':_0x4b80d2}));_0x1bb2a3[a0_0x4d79('0x1')]((0x0,metric_logger_1['mapRespToPerfEntry'])(_0x1ed5c4));}catch(_0x5b19ae){_0x1bb2a3[a0_0x4d79('0x1')](((_0x42f671=_0x5b19ae===null||_0x5b19ae===void 0x0?void 0x0:_0x5b19ae[a0_0x4d79('0x10')])===null||_0x42f671===void 0x0?void 0x0:_0x42f671[a0_0x4d79('0xa')])?(0x0,metric_logger_1['mapRespToPerfEntry'])(_0x5b19ae[a0_0x4d79('0x10')]['response']):metric_logger_1[a0_0x4d79('0x5')]);output[a0_0x4d79('0xd')]({'title':_0x5b19ae[a0_0x4d79('0x0')]});process[a0_0x4d79('0x2')](0x1);}});}}exports['RunGroupApi']=RunGroupApi;
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) {
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: branch,
27
+ runGroup: runGroup,
28
+ }));
29
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
30
+ }
31
+ catch (e) {
32
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
33
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
34
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
35
+ output.error({
36
+ title: e.message,
37
+ });
38
+ process.exit(1);
39
+ }
40
+ });
41
+ }
42
+ completeRunGroup(runGroup) {
43
+ var _a;
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ const recorder = (0, metric_logger_1.createMetricRecorder)('createRunGroup');
46
+ try {
47
+ const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/complete-run-group', {
48
+ runGroup: runGroup,
49
+ }));
50
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
51
+ }
52
+ catch (e) {
53
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
54
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
55
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
56
+ output.error({
57
+ title: e.message,
58
+ });
59
+ process.exit(1);
60
+ }
61
+ });
62
+ }
63
+ }
64
+ exports.RunGroupApi = RunGroupApi;
65
+ //# sourceMappingURL=run-group.api.js.map
@@ -6,6 +6,7 @@ export declare class FileStorage {
6
6
  store(hash: string, url: string, cacheDirectory: string): Promise<any>;
7
7
  private createFileName;
8
8
  private downloadFile;
9
+ private convertStreamIntoPromise;
9
10
  private createCommitFile;
10
11
  private createCommitFilePath;
11
12
  private createFile;
@@ -105,20 +105,31 @@ class FileStorage {
105
105
  const q = (0, fs_1.createReadStream)(tgz).pipe(tar.x({
106
106
  cwd: path.dirname(tgz),
107
107
  }));
108
- return new Promise((res) => {
109
- q.on('close', () => res(null));
110
- });
108
+ return this.convertStreamIntoPromise(q);
111
109
  }
112
110
  else {
113
111
  const q = resp.data.pipe(tar.x({
114
112
  cwd: path.dirname(tgz),
115
113
  }));
116
- return new Promise((res) => {
117
- q.on('close', () => res(null));
118
- });
114
+ return this.convertStreamIntoPromise(q);
119
115
  }
120
116
  });
121
117
  }
118
+ convertStreamIntoPromise(q) {
119
+ return new Promise((res, rej) => {
120
+ q.on('error', (e) => {
121
+ if (e.tarCode === 'TAR_ABORT' &&
122
+ e.message.indexOf('incorrect header check') > -1) {
123
+ console.warn('FileStorage: Decompression OK, Trailing garbage ignored.');
124
+ res(null);
125
+ }
126
+ else {
127
+ rej(e);
128
+ }
129
+ });
130
+ q.on('close', () => res(null));
131
+ });
132
+ }
122
133
  createCommitFile(commitFilePath) {
123
134
  (0, fs_1.writeFileSync)(commitFilePath, 'true');
124
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/file-storage/file-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/core/file-storage/file-storage.ts"],"names":[],"mappings":"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"}
@@ -1 +1,141 @@
1
- const a0_0x55cc=['Cannot\x20find\x20task\x20','statuses','filter','path','overrides','outputObfuscator','length','nodes','taskId','join','CloudEnabledLifeCycle','configuration','local-cache-kept-existing','MAX_CHARACTERS_FAILED_TASK','hash','getTerminalOutput','target','TRUNCATED\x0a\x0a','runContext','startsWith','endTime','scheduledTasks','readTerminalOutputFile','status','MAX_CHARACTERS_CACHED_TASK','npm:','node_modules','code','../../../utilities/nx-imports','toISOString','terminalOutput','hashDetails','scheduleTask','tasks','startTask','toString','endTasks','cacheableOperations','slice','indexOf','__esModule','endCommand','obfuscate','skipNxCache','find','cache-miss','collectTerminalOutput','push','runtime','implicitDeps','local-cache-hit','project','terminalOutputs','local-cache','params','cacheStatus','cacheDirectory','updateStartedTask'];(function(_0x30411b,_0x55cc05){const _0x46a9c7=function(_0x4f99fb){while(--_0x4f99fb){_0x30411b['push'](_0x30411b['shift']());}};_0x46a9c7(++_0x55cc05);}(a0_0x55cc,0x12e));const a0_0x46a9=function(_0x30411b,_0x55cc05){_0x30411b=_0x30411b-0x0;let _0x46a9c7=a0_0x55cc[_0x30411b];return _0x46a9c7;};'use strict';Object['defineProperty'](exports,a0_0x46a9('0x1c'),{'value':!![]});exports[a0_0x46a9('0x38')]=void 0x0;const path=require('path');const path_1=require(a0_0x46a9('0x31'));const fs_1=require('fs');const environment_1=require('../../../utilities/environment');const {appRootPath,unparse}=require(a0_0x46a9('0x10'));class CloudEnabledLifeCycle{constructor(_0xde5dc1,_0x3f86e2,_0x588649,_0x3f73e0,_0x4f83d2,_0x2ed529,_0x26327e){this['runContext']=_0xde5dc1;this['cacheDirectory']=_0x3f86e2;this[a0_0x46a9('0x1f')]=_0x588649;this[a0_0x46a9('0x22')]=_0x3f73e0;this[a0_0x46a9('0x19')]=_0x4f83d2;this[a0_0x46a9('0x33')]=_0x2ed529;this[a0_0x46a9('0x15')]=_0x26327e;}[a0_0x46a9('0x14')](_0x404e20){this[a0_0x46a9('0x6')][a0_0x46a9('0x9')][a0_0x46a9('0x23')](_0x404e20);}[a0_0x46a9('0x16')](_0x4a519e){const _0x382aae=Object['assign']({},_0x4a519e[a0_0x46a9('0x32')]||{});if(_0x4a519e[a0_0x46a9('0x4')][a0_0x46a9('0x39')]){_0x382aae[a0_0x46a9('0x39')]=_0x4a519e[a0_0x46a9('0x4')][a0_0x46a9('0x39')];}this[a0_0x46a9('0x15')]['push']({'taskId':_0x4a519e['id'],'startTime':new Date()[a0_0x46a9('0x11')](),'target':_0x4a519e['target'][a0_0x46a9('0x4')],'projectName':_0x4a519e['target'][a0_0x46a9('0x27')],'hash':_0x4a519e[a0_0x46a9('0x2')],'hashDetails':this['cleanUpHashDetails'](_0x4a519e[a0_0x46a9('0x13')]),'params':unparse(_0x382aae)[a0_0x46a9('0x37')]('\x20')});}['endTask'](_0xb95b4c,_0x27bf0d){let _0x295ea3;if(this['runContext'][a0_0x46a9('0x2f')][_0xb95b4c[a0_0x46a9('0x2')]]){_0x295ea3=this['runContext'][a0_0x46a9('0x2f')][_0xb95b4c[a0_0x46a9('0x2')]];}else{if(this['cacheableOperations'][a0_0x46a9('0x1b')](_0xb95b4c[a0_0x46a9('0x4')][a0_0x46a9('0x4')])>-0x1&&!this['skipNxCache']){_0x295ea3=a0_0x46a9('0x26');}else{_0x295ea3=a0_0x46a9('0x21');}}this[a0_0x46a9('0x2d')](_0xb95b4c,_0x27bf0d,_0x295ea3);}[a0_0x46a9('0x18')](_0x279f0e){for(let _0x2e111f of _0x279f0e){const _0x1b8f90=_0x2e111f[a0_0x46a9('0xb')]==='remote-cache'?'remote-cache-hit':_0x2e111f[a0_0x46a9('0xb')]===a0_0x46a9('0x29')||_0x2e111f[a0_0x46a9('0xb')]===a0_0x46a9('0x0')?a0_0x46a9('0x26'):'cache-miss';this['updateStartedTask'](_0x2e111f['task'],_0x2e111f[a0_0x46a9('0xf')],_0x1b8f90);}}[a0_0x46a9('0x1d')](){}['updateStartedTask'](_0x98f635,_0x5d8187,_0x4882f4){const _0xb6132a=this['tasks'][a0_0x46a9('0x20')](_0x1d3105=>_0x1d3105[a0_0x46a9('0x36')]===_0x98f635['id']);if(!_0xb6132a){throw new Error(a0_0x46a9('0x2e')+_0x98f635['id']);}_0xb6132a[a0_0x46a9('0x8')]=new Date()[a0_0x46a9('0x11')]();_0xb6132a[a0_0x46a9('0xb')]=_0x5d8187;_0xb6132a['params']=this[a0_0x46a9('0x33')][a0_0x46a9('0x1e')](_0xb6132a[a0_0x46a9('0x2a')]);_0xb6132a['cacheStatus']=_0x4882f4;if(this[a0_0x46a9('0x22')]){_0xb6132a['terminalOutput']=this[a0_0x46a9('0x3')](_0x98f635[a0_0x46a9('0x2')],_0xb6132a[a0_0x46a9('0x2b')],_0x5d8187);}}['getTerminalOutput'](_0x10b7fe,_0x2efb5f,_0x3b1f1e){let _0x5e1569;if(this[a0_0x46a9('0x2c')]){if(this[a0_0x46a9('0x2c')][a0_0x46a9('0x7')]('./')){_0x5e1569=(0x0,path_1[a0_0x46a9('0x37')])(appRootPath,this[a0_0x46a9('0x2c')]);}else{_0x5e1569=this[a0_0x46a9('0x2c')];}}else{_0x5e1569=(0x0,path_1['join'])(appRootPath,a0_0x46a9('0xe'),'.cache','nx');}try{const _0x4ecdbe=this['readTerminalOutputFile'](_0x5e1569,_0x10b7fe);const _0x1c9fc0=this[a0_0x46a9('0x33')]['obfuscate'](_0x4ecdbe);if(environment_1['NX_CLOUD_UNLIMITED_OUTPUT'])return _0x1c9fc0;const _0x43c591=_0x2efb5f===a0_0x46a9('0x21')?_0x3b1f1e===0x0?CloudEnabledLifeCycle['MAX_CHARACTERS_SUCCESSFUL_TASK']:CloudEnabledLifeCycle[a0_0x46a9('0x1')]:CloudEnabledLifeCycle[a0_0x46a9('0xc')];return _0x1c9fc0[a0_0x46a9('0x34')]>_0x43c591?a0_0x46a9('0x5')+_0x1c9fc0[a0_0x46a9('0x1a')](_0x1c9fc0[a0_0x46a9('0x34')]-_0x43c591):_0x1c9fc0;}catch(_0x40c383){return'';}}['cleanUpHashDetails'](_0x29c29e){const _0x260d9b={};Object['keys'](_0x29c29e[a0_0x46a9('0x35')])[a0_0x46a9('0x30')](_0x475455=>!_0x475455['startsWith'](a0_0x46a9('0xd')))['forEach'](_0x3b3269=>{_0x260d9b[_0x3b3269]=_0x29c29e['nodes'][_0x3b3269];});return{'nodes':_0x260d9b,'runtime':_0x29c29e[a0_0x46a9('0x24')],'implicitDeps':_0x29c29e[a0_0x46a9('0x25')]};}[a0_0x46a9('0xa')](_0x44956f,_0x448ebc){try{return(0x0,fs_1['readFileSync'])(path[a0_0x46a9('0x37')](_0x44956f,a0_0x46a9('0x28'),_0x448ebc))[a0_0x46a9('0x17')]();}catch(_0x323de6){try{return(0x0,fs_1['readFileSync'])(path[a0_0x46a9('0x37')](_0x44956f,_0x448ebc,a0_0x46a9('0x12')))[a0_0x46a9('0x17')]();}catch(_0x594479){return'';}}}}exports[a0_0x46a9('0x38')]=CloudEnabledLifeCycle;CloudEnabledLifeCycle[a0_0x46a9('0x1')]=0x30d40;CloudEnabledLifeCycle['MAX_CHARACTERS_SUCCESSFUL_TASK']=0x4e20;CloudEnabledLifeCycle[a0_0x46a9('0xc')]=0x4e20;
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 { appRootPath, unparse } = require('../../../utilities/nx-imports');
9
+ class CloudEnabledLifeCycle {
10
+ constructor(runContext, cacheDirectory, skipNxCache, collectTerminalOutput, cacheableOperations, outputObfuscator, tasks) {
11
+ this.runContext = runContext;
12
+ this.cacheDirectory = cacheDirectory;
13
+ this.skipNxCache = skipNxCache;
14
+ this.collectTerminalOutput = collectTerminalOutput;
15
+ this.cacheableOperations = cacheableOperations;
16
+ this.outputObfuscator = outputObfuscator;
17
+ this.tasks = tasks;
18
+ }
19
+ scheduleTask(task) {
20
+ this.runContext.scheduledTasks.push(task);
21
+ }
22
+ startTask(task) {
23
+ const overrides = Object.assign({}, (task.overrides || {}));
24
+ if (task.target.configuration) {
25
+ overrides['configuration'] = task.target.configuration;
26
+ }
27
+ this.tasks.push({
28
+ taskId: task.id,
29
+ startTime: new Date().toISOString(),
30
+ target: task.target.target,
31
+ projectName: task.target.project,
32
+ hash: task.hash,
33
+ hashDetails: this.cleanUpHashDetails(task.hashDetails),
34
+ params: unparse(overrides).join(' '),
35
+ });
36
+ }
37
+ // Used for older version for Nx. Remove in Dec 2022
38
+ endTask(task, code) {
39
+ let cacheStatus;
40
+ if (this.runContext.statuses[task.hash]) {
41
+ cacheStatus = this.runContext.statuses[task.hash];
42
+ }
43
+ else {
44
+ if (this.cacheableOperations.indexOf(task.target.target) > -1 &&
45
+ !this.skipNxCache) {
46
+ cacheStatus = 'local-cache-hit';
47
+ }
48
+ else {
49
+ cacheStatus = 'cache-miss';
50
+ }
51
+ }
52
+ this.updateStartedTask(task, code, cacheStatus);
53
+ }
54
+ endTasks(tasks) {
55
+ for (let t of tasks) {
56
+ const status = t.status === 'remote-cache'
57
+ ? 'remote-cache-hit'
58
+ : t.status === 'local-cache' ||
59
+ t.status === 'local-cache-kept-existing'
60
+ ? 'local-cache-hit'
61
+ : 'cache-miss';
62
+ this.updateStartedTask(t.task, t.code, status);
63
+ }
64
+ }
65
+ endCommand() { }
66
+ updateStartedTask(task, code, cacheStatus) {
67
+ const startedTask = this.tasks.find((t) => t.taskId === task.id);
68
+ if (!startedTask) {
69
+ throw new Error(`Cannot find task ${task.id}`);
70
+ }
71
+ startedTask.endTime = new Date().toISOString();
72
+ startedTask.status = code;
73
+ startedTask.params = this.outputObfuscator.obfuscate(startedTask.params);
74
+ startedTask.cacheStatus = cacheStatus;
75
+ if (this.collectTerminalOutput) {
76
+ startedTask.terminalOutput = this.getTerminalOutput(task.hash, startedTask.cacheStatus, code);
77
+ }
78
+ }
79
+ getTerminalOutput(hash, cacheStatus, code) {
80
+ let dir;
81
+ if (this.cacheDirectory) {
82
+ if (this.cacheDirectory.startsWith('./')) {
83
+ dir = (0, path_1.join)(appRootPath, this.cacheDirectory);
84
+ }
85
+ else {
86
+ dir = this.cacheDirectory;
87
+ }
88
+ }
89
+ else {
90
+ dir = (0, path_1.join)(appRootPath, 'node_modules', '.cache', 'nx');
91
+ }
92
+ try {
93
+ const taskOutput = this.readTerminalOutputFile(dir, hash);
94
+ const taskOutputSanitized = this.outputObfuscator.obfuscate(taskOutput);
95
+ if (environment_1.NX_CLOUD_UNLIMITED_OUTPUT)
96
+ return taskOutputSanitized;
97
+ const maxCharacters = cacheStatus === 'cache-miss'
98
+ ? code === 0
99
+ ? CloudEnabledLifeCycle.MAX_CHARACTERS_SUCCESSFUL_TASK
100
+ : CloudEnabledLifeCycle.MAX_CHARACTERS_FAILED_TASK
101
+ : CloudEnabledLifeCycle.MAX_CHARACTERS_CACHED_TASK;
102
+ return taskOutputSanitized.length > maxCharacters
103
+ ? `TRUNCATED\n\n${taskOutputSanitized.slice(taskOutputSanitized.length - maxCharacters)}`
104
+ : taskOutputSanitized;
105
+ }
106
+ catch (e) {
107
+ return '';
108
+ }
109
+ }
110
+ cleanUpHashDetails(hashDetails) {
111
+ const nodes = {};
112
+ Object.keys(hashDetails.nodes)
113
+ .filter((k) => !k.startsWith('npm:'))
114
+ .forEach((k) => {
115
+ nodes[k] = hashDetails.nodes[k];
116
+ });
117
+ return {
118
+ nodes,
119
+ runtime: hashDetails.runtime,
120
+ implicitDeps: hashDetails.implicitDeps,
121
+ };
122
+ }
123
+ readTerminalOutputFile(dir, hash) {
124
+ try {
125
+ return (0, fs_1.readFileSync)(path.join(dir, 'terminalOutputs', hash)).toString();
126
+ }
127
+ catch (_a) {
128
+ try {
129
+ return (0, fs_1.readFileSync)(path.join(dir, hash, 'terminalOutput')).toString();
130
+ }
131
+ catch (_b) {
132
+ return '';
133
+ }
134
+ }
135
+ }
136
+ }
137
+ exports.CloudEnabledLifeCycle = CloudEnabledLifeCycle;
138
+ CloudEnabledLifeCycle.MAX_CHARACTERS_FAILED_TASK = 200000;
139
+ CloudEnabledLifeCycle.MAX_CHARACTERS_SUCCESSFUL_TASK = 20000;
140
+ CloudEnabledLifeCycle.MAX_CHARACTERS_CACHED_TASK = 20000;
141
+ //# sourceMappingURL=cloud-enabled-life-cycle.js.map
@@ -1 +1,167 @@
1
- const a1_0x5309=['../../file-storage/file-storage','DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE','path','anyErrors','getRunGroup','./cloud-run.api','extractGitSha','../../../utilities/metric-logger','join','printCacheHitsMessage','getMachineInfo','forEach','hash','MessageReporter','AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION','toISOString','parseCommand','NX_CLOUD_DISTRIBUTED_EXECUTION_ID','Executed\x20tasks\x20with\x20hashes:\x20','./cloud-enabled-life-cycle','requests','FileStorage','cacheableOperations','all','EndOfRunMessage','__awaiter','note','./cloud-remote-cache','scan','cloudEnabledTasksRunner','exit','error','CloudRunApi','CloudEnabledLifeCycle','submitRunMetrics','../../terminal-output/output-obfuscator','cacheDirectory','defineProperty','maskedProperties','filter','map','complete','apply','next','skipNxCache','endRun','encryptionKey','Agent\x20wasn\x27t\x20able\x20to\x20record\x20its\x20run','__esModule','rxjs/internal/Subject','getBranch','stringify','VERBOSE_LOGGING','Subject','../../terminal-output/end-of-run-message','printMessages','tasks-hashes-','lifeCycle','then','assign','waitForStoreRequestsToComplete','CloudRemoteCache','OutputObfuscator','taskId','value','../../file-storage/e2e-encryption','E2EEncryption','../../../utilities/environment','../../terminal-output/message-reporter','done'];(function(_0x10711b,_0x53098e){const _0x7ae59e=function(_0x29a4bf){while(--_0x29a4bf){_0x10711b['push'](_0x10711b['shift']());}};_0x7ae59e(++_0x53098e);}(a1_0x5309,0xa9));const a1_0x7ae5=function(_0x10711b,_0x53098e){_0x10711b=_0x10711b-0x0;let _0x7ae59e=a1_0x5309[_0x10711b];return _0x7ae59e;};'use strict';var __awaiter=this&&this[a1_0x7ae5('0x42')]||function(_0x269467,_0x1ee7ab,_0x1a710f,_0x5c9121){function _0x14c897(_0x49a8c9){return _0x49a8c9 instanceof _0x1a710f?_0x49a8c9:new _0x1a710f(function(_0x3def0f){_0x3def0f(_0x49a8c9);});}return new(_0x1a710f||(_0x1a710f=Promise))(function(_0x927a55,_0x5f4ab7){function _0x20f2e0(_0x32ec46){try{_0x2c9fb8(_0x5c9121[a1_0x7ae5('0xe')](_0x32ec46));}catch(_0x401bbd){_0x5f4ab7(_0x401bbd);}}function _0x47a7bd(_0x4a6870){try{_0x2c9fb8(_0x5c9121['throw'](_0x4a6870));}catch(_0x4128c0){_0x5f4ab7(_0x4128c0);}}function _0x2c9fb8(_0x4b8b79){_0x4b8b79[a1_0x7ae5('0x28')]?_0x927a55(_0x4b8b79[a1_0x7ae5('0x23')]):_0x14c897(_0x4b8b79['value'])[a1_0x7ae5('0x1d')](_0x20f2e0,_0x47a7bd);}_0x2c9fb8((_0x5c9121=_0x5c9121[a1_0x7ae5('0xd')](_0x269467,_0x1ee7ab||[]))[a1_0x7ae5('0xe')]());});};Object[a1_0x7ae5('0x8')](exports,a1_0x7ae5('0x13'),{'value':!![]});exports[a1_0x7ae5('0x0')]=void 0x0;const Subject_1=require(a1_0x7ae5('0x14'));const message_reporter_1=require(a1_0x7ae5('0x27'));const end_of_run_message_1=require(a1_0x7ae5('0x19'));const output_obfuscator_1=require(a1_0x7ae5('0x6'));const cloud_enabled_life_cycle_1=require(a1_0x7ae5('0x3c'));const file_storage_1=require(a1_0x7ae5('0x29'));const e2e_encryption_1=require(a1_0x7ae5('0x24'));const environment_1=require(a1_0x7ae5('0x26'));const cloud_remote_cache_1=require(a1_0x7ae5('0x44'));const cloud_run_api_1=require(a1_0x7ae5('0x2e'));const fs_1=require('fs');const path=require(a1_0x7ae5('0x2b'));const metric_logger_1=require(a1_0x7ae5('0x30'));const {tasksRunnerV2,output}=require('../../../utilities/nx-imports');function createApi(_0x11dde4,_0x17e6ea,_0x578468){const _0x37ba5f=(0x0,environment_1[a1_0x7ae5('0x33')])(_0x17e6ea);return new cloud_run_api_1[(a1_0x7ae5('0x3'))](_0x11dde4,_0x578468,_0x17e6ea,_0x37ba5f);}function storeTaskHashes(_0x51ad15,_0x427c51,_0xe64b67){const _0x3c5110=JSON[a1_0x7ae5('0x16')](_0x51ad15[a1_0x7ae5('0xb')](_0x3c34ba=>({'taskId':_0x3c34ba[a1_0x7ae5('0x22')],'hash':_0x3c34ba[a1_0x7ae5('0x35')]})));if(environment_1[a1_0x7ae5('0x17')]){output[a1_0x7ae5('0x43')]({'title':a1_0x7ae5('0x3b')+_0x3c5110});}(0x0,fs_1['writeFileSync'])(path[a1_0x7ae5('0x31')](_0x427c51,a1_0x7ae5('0x1b')+_0xe64b67),_0x3c5110);}function onComplete(_0x94a757,_0x1e8ffa,_0x2b1a68,_0x17c81e,_0x206550,_0x1c4f5e,_0x14ec2,_0x33fbc4,_0xa9da88,_0x5bc2ab,_0x1e4335){return __awaiter(this,void 0x0,void 0x0,function*(){const _0xcac456=new Date()[a1_0x7ae5('0x38')]();if(environment_1[a1_0x7ae5('0x37')]){storeTaskHashes(_0xa9da88,_0x1e8ffa[a1_0x7ae5('0x7')]||'./node_modules/.cache/nx',environment_1[a1_0x7ae5('0x3a')]);}const _0x53c1a5=(0x0,environment_1[a1_0x7ae5('0x15')])();const _0x5a757f=yield Promise[a1_0x7ae5('0x40')]([_0x2b1a68[a1_0x7ae5('0x1f')](),_0x17c81e[a1_0x7ae5('0x10')]({'command':_0x206550['obfuscate']((0x0,environment_1[a1_0x7ae5('0x39')])()),'startTime':_0x1c4f5e,'endTime':_0xcac456,'distributedExecutionId':environment_1['NX_CLOUD_DISTRIBUTED_EXECUTION_ID'],'branch':_0x53c1a5,'scan':!![],'runGroup':(0x0,environment_1[a1_0x7ae5('0x2d')])(),'sha':_0x53c1a5?(0x0,environment_1[a1_0x7ae5('0x2f')])():undefined,'inner':_0x1e4335},_0xa9da88)]);if(_0x5bc2ab){setTimeout(()=>{_0x14ec2[a1_0x7ae5('0x1a')]();if(!_0x14ec2[a1_0x7ae5('0x2c')]&&!_0x1e4335){_0x33fbc4[a1_0x7ae5('0x32')]();}},0x0);}else{_0x14ec2[a1_0x7ae5('0x1a')]();if(!_0x14ec2[a1_0x7ae5('0x2c')]&&!_0x1e4335){_0x33fbc4[a1_0x7ae5('0x32')]();}}if(environment_1[a1_0x7ae5('0x37')]){if(!_0x5a757f[0x0]){output[a1_0x7ae5('0x2')]({'title':'Agent\x20wasn\x27t\x20able\x20to\x20store\x20artifacts'});_0x14ec2['printMessages']();process[a1_0x7ae5('0x1')](environment_1[a1_0x7ae5('0x2a')]);}if(!_0x5a757f[0x1]){output['error']({'title':a1_0x7ae5('0x12')});_0x14ec2[a1_0x7ae5('0x1a')]();process[a1_0x7ae5('0x1')](environment_1[a1_0x7ae5('0x2a')]);}}yield(0x0,metric_logger_1[a1_0x7ae5('0x5')])(_0x1e8ffa);});}function createLifeCycle(_0x32934d,_0xeb3467,_0x25161a,_0x60c42){const _0x5b9050=new cloud_enabled_life_cycle_1[(a1_0x7ae5('0x4'))](_0x32934d,_0xeb3467[a1_0x7ae5('0x7')],!!_0xeb3467[a1_0x7ae5('0xf')],_0xeb3467[a1_0x7ae5('0x45')]===undefined?!![]:_0xeb3467['scan'],_0xeb3467[a1_0x7ae5('0x3f')]||[],_0x25161a,_0x60c42);try{const {CompositeLifeCycle}=require('../../../utilities/nx-imports');if(!CompositeLifeCycle)return _0x5b9050;return new CompositeLifeCycle([_0xeb3467['lifeCycle'],_0x5b9050]);}catch(_0x83ae4e){return _0x5b9050;}}function cloudEnabledTasksRunner(_0x5daed6,_0x488450,_0x48f5c9,_0x4bce08=![]){const _0x1c57dd={'statuses':{},'scheduledTasks':[],'requests':{},'allTasks':_0x5daed6};const _0x206223=_0x488450[a1_0x7ae5('0x1c')]===undefined;const _0x2b4243=[];const _0x44ec77=new message_reporter_1[(a1_0x7ae5('0x36'))](_0x488450);const _0x19287e=createApi(_0x44ec77,_0x488450,_0x1c57dd);const _0x550c4d=new end_of_run_message_1[(a1_0x7ae5('0x41'))](_0x1c57dd,_0x2b4243);const _0x535c27=new output_obfuscator_1[(a1_0x7ae5('0x21'))](_0x488450[a1_0x7ae5('0x9')]);const _0x53f608=_0x5daed6[a1_0x7ae5('0xb')](_0x4886ff=>_0x4886ff['hash'])[a1_0x7ae5('0xa')](_0x2cf4c8=>!!_0x2cf4c8);const _0x3e1224=_0x19287e['startRun'](environment_1[a1_0x7ae5('0x3a')],_0x53f608);_0x53f608[a1_0x7ae5('0x34')](_0x360d24=>{_0x1c57dd[a1_0x7ae5('0x3d')][_0x360d24]=_0x3e1224;});const _0x3566aa=new Date()['toISOString']();const _0x182266=createLifeCycle(_0x1c57dd,_0x488450,_0x535c27,_0x2b4243);const _0x24a3b2=new e2e_encryption_1[(a1_0x7ae5('0x25'))](environment_1['ENCRYPTION_KEY']||_0x488450[a1_0x7ae5('0x11')]);const _0x34b4d1=new file_storage_1[(a1_0x7ae5('0x3e'))](_0x24a3b2);const _0x4cc90c=new cloud_remote_cache_1[(a1_0x7ae5('0x20'))](_0x44ec77,_0x19287e,_0x1c57dd,_0x34b4d1);delete process['env'][a1_0x7ae5('0x3a')];const _0x99b6ec=tasksRunnerV2(_0x5daed6,Object[a1_0x7ae5('0x1e')](Object['assign']({},_0x488450),{'remoteCache':_0x4cc90c,'lifeCycle':_0x182266}),_0x48f5c9);if(_0x99b6ec['subscribe']){const _0x289888=new Subject_1[(a1_0x7ae5('0x18'))]();_0x99b6ec['subscribe']({'next':_0x2779d8=>_0x289888[a1_0x7ae5('0xe')](_0x2779d8),'error':_0x339db3=>_0x289888[a1_0x7ae5('0x2')](_0x339db3),'complete':()=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete(_0x182266,_0x488450,_0x4cc90c,_0x19287e,_0x535c27,_0x3566aa,_0x44ec77,_0x550c4d,_0x2b4243,_0x206223,_0x4bce08);_0x289888[a1_0x7ae5('0xc')]();})});return _0x289888;}else{return _0x99b6ec[a1_0x7ae5('0x1d')](_0x2a6481=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete(_0x182266,_0x488450,_0x4cc90c,_0x19287e,_0x535c27,_0x3566aa,_0x44ec77,_0x550c4d,_0x2b4243,_0x206223,_0x4bce08);return _0x2a6481;}))['catch'](_0x41202e=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete(_0x182266,_0x488450,_0x4cc90c,_0x19287e,_0x535c27,_0x3566aa,_0x44ec77,_0x550c4d,_0x2b4243,_0x206223,_0x4bce08);throw _0x41202e;}));}}exports[a1_0x7ae5('0x0')]=cloudEnabledTasksRunner;
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 Subject_1 = require("rxjs/internal/Subject");
14
+ const message_reporter_1 = require("../../terminal-output/message-reporter");
15
+ const end_of_run_message_1 = require("../../terminal-output/end-of-run-message");
16
+ const output_obfuscator_1 = require("../../terminal-output/output-obfuscator");
17
+ const cloud_enabled_life_cycle_1 = require("./cloud-enabled-life-cycle");
18
+ const file_storage_1 = require("../../file-storage/file-storage");
19
+ const e2e_encryption_1 = require("../../file-storage/e2e-encryption");
20
+ const environment_1 = require("../../../utilities/environment");
21
+ const cloud_remote_cache_1 = require("./cloud-remote-cache");
22
+ const cloud_run_api_1 = require("./cloud-run.api");
23
+ const fs_1 = require("fs");
24
+ const path = require("path");
25
+ const metric_logger_1 = require("../../../utilities/metric-logger");
26
+ const { tasksRunnerV2, output } = require('../../../utilities/nx-imports');
27
+ function createApi(errors, options, runContext) {
28
+ const machineInfo = (0, environment_1.getMachineInfo)(options);
29
+ return new cloud_run_api_1.CloudRunApi(errors, runContext, options, machineInfo);
30
+ }
31
+ function storeTaskHashes(taskExecutions, directory, distributedExecutionId) {
32
+ const hashes = JSON.stringify(taskExecutions.map((t) => ({
33
+ taskId: t.taskId,
34
+ hash: t.hash,
35
+ })));
36
+ if (environment_1.VERBOSE_LOGGING) {
37
+ output.note({
38
+ title: `Executed tasks with hashes: ${hashes}`,
39
+ });
40
+ }
41
+ (0, fs_1.writeFileSync)(path.join(directory, `tasks-hashes-${distributedExecutionId}`), hashes);
42
+ }
43
+ function onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133, inner) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ const runEndTime = new Date().toISOString();
46
+ if (environment_1.AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION) {
47
+ storeTaskHashes(taskExecutions, options.cacheDirectory || './node_modules/.cache/nx', environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID);
48
+ }
49
+ const branch = (0, environment_1.getBranch)();
50
+ const endRequest = yield Promise.all([
51
+ remoteCache.waitForStoreRequestsToComplete(),
52
+ api.endRun({
53
+ command: outputObfuscator.obfuscate((0, environment_1.parseCommand)()),
54
+ startTime: runStartTime,
55
+ endTime: runEndTime,
56
+ distributedExecutionId: environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID,
57
+ branch: branch,
58
+ scan: true,
59
+ runGroup: (0, environment_1.getRunGroup)(),
60
+ // only set sha if branch is set because we invoke a separate process,
61
+ // which adds a few millis
62
+ sha: branch ? (0, environment_1.extractGitSha)() : undefined,
63
+ inner: inner,
64
+ }, taskExecutions),
65
+ ]);
66
+ // this workaround is required because prior to Nx 13.3 we printed
67
+ // the end message after the runner completes, so we need to wait for the
68
+ // message to appear in the right place
69
+ if (versionOfNxBefore133) {
70
+ setTimeout(() => {
71
+ messages.printMessages();
72
+ if (!messages.anyErrors && !inner) {
73
+ endOfRunMessage.printCacheHitsMessage();
74
+ }
75
+ }, 0);
76
+ }
77
+ else {
78
+ messages.printMessages();
79
+ if (!messages.anyErrors && !inner) {
80
+ endOfRunMessage.printCacheHitsMessage();
81
+ }
82
+ }
83
+ if (environment_1.AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION) {
84
+ if (!endRequest[0]) {
85
+ output.error({
86
+ title: `Agent wasn't able to store artifacts`,
87
+ });
88
+ messages.printMessages();
89
+ process.exit(environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE);
90
+ }
91
+ if (!endRequest[1]) {
92
+ output.error({
93
+ title: `Agent wasn't able to record its run`,
94
+ });
95
+ messages.printMessages();
96
+ process.exit(environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE);
97
+ }
98
+ }
99
+ yield (0, metric_logger_1.submitRunMetrics)(options);
100
+ });
101
+ }
102
+ function createLifeCycle(runContext, options, outputObfuscator, tasks) {
103
+ const cloudEnabledLifeCycle = new cloud_enabled_life_cycle_1.CloudEnabledLifeCycle(runContext, options.cacheDirectory, !!options.skipNxCache, options.scan === undefined ? true : options.scan, options.cacheableOperations || [], outputObfuscator, tasks);
104
+ try {
105
+ const { CompositeLifeCycle } = require('../../../utilities/nx-imports');
106
+ if (!CompositeLifeCycle)
107
+ return cloudEnabledLifeCycle;
108
+ return new CompositeLifeCycle([options.lifeCycle, cloudEnabledLifeCycle]);
109
+ }
110
+ catch (e) {
111
+ return cloudEnabledLifeCycle;
112
+ }
113
+ }
114
+ function cloudEnabledTasksRunner(tasks, options, context, inner = false) {
115
+ const runContext = {
116
+ statuses: {},
117
+ scheduledTasks: [],
118
+ requests: {},
119
+ allTasks: tasks,
120
+ };
121
+ const versionOfNxBefore133 = options.lifeCycle === undefined;
122
+ const taskExecutions = [];
123
+ const messages = new message_reporter_1.MessageReporter(options);
124
+ const api = createApi(messages, options, runContext);
125
+ const endOfRunMessage = new end_of_run_message_1.EndOfRunMessage(runContext, taskExecutions);
126
+ const outputObfuscator = new output_obfuscator_1.OutputObfuscator(options.maskedProperties);
127
+ const hashes = tasks.map((t) => t.hash).filter((h) => !!h);
128
+ const startRunRequest = api.startRun(environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID, hashes);
129
+ hashes.forEach((hash) => {
130
+ runContext.requests[hash] = startRunRequest;
131
+ });
132
+ const runStartTime = new Date().toISOString();
133
+ const lifeCycle = createLifeCycle(runContext, options, outputObfuscator, taskExecutions);
134
+ const encryption = new e2e_encryption_1.E2EEncryption(environment_1.ENCRYPTION_KEY || options.encryptionKey);
135
+ const fileStorage = new file_storage_1.FileStorage(encryption);
136
+ const remoteCache = new cloud_remote_cache_1.CloudRemoteCache(messages, api, runContext, fileStorage);
137
+ // have to reset it so we don't capture inner tasks
138
+ delete process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_ID;
139
+ const res = tasksRunnerV2(tasks, Object.assign(Object.assign({}, options), { remoteCache, lifeCycle }), context);
140
+ // observable -> legacy
141
+ if (res.subscribe) {
142
+ const wrappedRes = new Subject_1.Subject();
143
+ res.subscribe({
144
+ next: (value) => wrappedRes.next(value),
145
+ error: (err) => wrappedRes.error(err),
146
+ complete: () => __awaiter(this, void 0, void 0, function* () {
147
+ yield onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133, inner);
148
+ wrappedRes.complete();
149
+ }),
150
+ });
151
+ return wrappedRes;
152
+ // promise
153
+ }
154
+ else {
155
+ return res
156
+ .then((r) => __awaiter(this, void 0, void 0, function* () {
157
+ yield onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133, inner);
158
+ return r;
159
+ }))
160
+ .catch((e) => __awaiter(this, void 0, void 0, function* () {
161
+ yield onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133, inner);
162
+ throw e;
163
+ }));
164
+ }
165
+ }
166
+ exports.cloudEnabledTasksRunner = cloudEnabledTasksRunner;
167
+ //# sourceMappingURL=cloud-enabled.runner.js.map
@@ -1 +1,113 @@
1
- const a2_0x21ea=['map','api','runContext','fileStorage','VERBOSE_LOGGING','defineProperty','messages','retrieve','put','NX_CLOUD_DISTRIBUTED_EXECUTION_ID','../../../utilities/environment','.\x20Status\x20404.','value','__awaiter','hashUrls','requests','__esModule','status','storage','statuses','note','storeRequests','remote-cache-hit','store','apply','hash','waitForStoreRequestsToComplete','cacheError','axiosException','get','extractErrorMessage','reduce','then','next','response','Nx\x20Cloud:\x20Skipping\x20storing\x20','.\x20Read\x20only\x20token\x20is\x20used.','all','CloudRemoteCache','Nx\x20Cloud:\x20Cache\x20miss\x20'];(function(_0x4b8d6a,_0x21eafb){const _0x55112c=function(_0x2c4c21){while(--_0x2c4c21){_0x4b8d6a['push'](_0x4b8d6a['shift']());}};_0x55112c(++_0x21eafb);}(a2_0x21ea,0x1a1));const a2_0x5511=function(_0x4b8d6a,_0x21eafb){_0x4b8d6a=_0x4b8d6a-0x0;let _0x55112c=a2_0x21ea[_0x4b8d6a];return _0x55112c;};'use strict';var __awaiter=this&&this[a2_0x5511('0x24')]||function(_0x1bf809,_0x167b0e,_0xd3c674,_0x57f4e6){function _0x4412e4(_0x34d058){return _0x34d058 instanceof _0xd3c674?_0x34d058:new _0xd3c674(function(_0xebb755){_0xebb755(_0x34d058);});}return new(_0xd3c674||(_0xd3c674=Promise))(function(_0x28e19c,_0x1ea122){function _0x17a3d6(_0x48bae0){try{_0x157889(_0x57f4e6[a2_0x5511('0x10')](_0x48bae0));}catch(_0x2c37ef){_0x1ea122(_0x2c37ef);}}function _0x2d59a1(_0x631ba0){try{_0x157889(_0x57f4e6['throw'](_0x631ba0));}catch(_0x42c110){_0x1ea122(_0x42c110);}}function _0x157889(_0x535f15){_0x535f15['done']?_0x28e19c(_0x535f15[a2_0x5511('0x23')]):_0x4412e4(_0x535f15[a2_0x5511('0x23')])[a2_0x5511('0xf')](_0x17a3d6,_0x2d59a1);}_0x157889((_0x57f4e6=_0x57f4e6[a2_0x5511('0x7')](_0x1bf809,_0x167b0e||[]))['next']());});};Object[a2_0x5511('0x1c')](exports,a2_0x5511('0x27'),{'value':!![]});exports['CloudRemoteCache']=void 0x0;const environment_1=require(a2_0x5511('0x21'));const {output}=require('../../../utilities/nx-imports');class CloudRemoteCache{constructor(_0x43f47f,_0x454bf4,_0x14d8bc,_0x5503a0){this['messages']=_0x43f47f;this[a2_0x5511('0x18')]=_0x454bf4;this[a2_0x5511('0x19')]=_0x14d8bc;this[a2_0x5511('0x1a')]=_0x5503a0;this[a2_0x5511('0x4')]=[];}[a2_0x5511('0x1e')](_0x103e7b,_0x1b922b){var _0x410038;return __awaiter(this,void 0x0,void 0x0,function*(){if(this[a2_0x5511('0x1d')][a2_0x5511('0xa')])return![];const _0x54935e=yield this['hashUrls'](_0x103e7b);if(!_0x54935e||!_0x54935e[a2_0x5511('0xc')]){if(environment_1[a2_0x5511('0x1b')]){output[a2_0x5511('0x3')]({'title':a2_0x5511('0x16')+_0x103e7b+'.'});}this[a2_0x5511('0x19')][a2_0x5511('0x2')][_0x103e7b]='cache-miss';return![];}try{yield this[a2_0x5511('0x1a')][a2_0x5511('0x1e')](_0x103e7b,_0x54935e[a2_0x5511('0xc')],_0x1b922b);this[a2_0x5511('0x19')][a2_0x5511('0x2')][_0x103e7b]=a2_0x5511('0x5');return!![];}catch(_0x546f41){const _0x5b6743=(_0x410038=_0x546f41[a2_0x5511('0xb')])!==null&&_0x410038!==void 0x0?_0x410038:_0x546f41;if(_0x5b6743[a2_0x5511('0x11')]&&_0x5b6743['response'][a2_0x5511('0x0')]===0x194){if(environment_1[a2_0x5511('0x1b')]){output['note']({'title':a2_0x5511('0x16')+_0x103e7b+a2_0x5511('0x22')});}}else{this[a2_0x5511('0x1d')][a2_0x5511('0xa')]=this['messages'][a2_0x5511('0xd')](_0x5b6743,a2_0x5511('0x1'));}this[a2_0x5511('0x19')][a2_0x5511('0x2')][_0x103e7b]='cache-miss';return![];}});}[a2_0x5511('0x6')](_0x3e6aa6,_0x30ff97){return __awaiter(this,void 0x0,void 0x0,function*(){if(this[a2_0x5511('0x1d')][a2_0x5511('0xa')])return![];const _0x49ff5a=Promise['resolve']()[a2_0x5511('0xf')](()=>__awaiter(this,void 0x0,void 0x0,function*(){var _0x14f3f6;const _0x56cd0e=yield this[a2_0x5511('0x25')](_0x3e6aa6);if(!_0x56cd0e)return![];if(!_0x56cd0e[a2_0x5511('0x1f')]){if(environment_1['VERBOSE_LOGGING']){output[a2_0x5511('0x3')]({'title':a2_0x5511('0x12')+_0x3e6aa6+a2_0x5511('0x13')});}return!![];}try{yield this['fileStorage'][a2_0x5511('0x6')](_0x3e6aa6,_0x56cd0e['put'],_0x30ff97);return!![];}catch(_0x381b1d){const _0x367559=(_0x14f3f6=_0x381b1d[a2_0x5511('0xb')])!==null&&_0x14f3f6!==void 0x0?_0x14f3f6:_0x381b1d;this[a2_0x5511('0x1d')][a2_0x5511('0xa')]=this['messages'][a2_0x5511('0xd')](_0x367559,'storage');return![];}}));this[a2_0x5511('0x4')]['push'](_0x49ff5a);return _0x49ff5a;});}[a2_0x5511('0x25')](_0xe7bc6b){return __awaiter(this,void 0x0,void 0x0,function*(){if(_0xe7bc6b in this[a2_0x5511('0x19')][a2_0x5511('0x26')]){return(yield this[a2_0x5511('0x19')]['requests'][_0xe7bc6b])[_0xe7bc6b];}else{const _0x5609c7=this[a2_0x5511('0x19')]['scheduledTasks']['filter'](_0x2fc2ed=>!this[a2_0x5511('0x19')]['requests'][_0x2fc2ed[a2_0x5511('0x8')]])[a2_0x5511('0x17')](_0x48108c=>_0x48108c[a2_0x5511('0x8')]);if(_0x5609c7['indexOf'](_0xe7bc6b)===-0x1){_0x5609c7['push'](_0xe7bc6b);}const _0x4261f4=this[a2_0x5511('0x18')]['startRun'](environment_1[a2_0x5511('0x20')],_0x5609c7);_0x5609c7['forEach'](_0x2a617e=>{this['runContext'][a2_0x5511('0x26')][_0x2a617e]=_0x4261f4;});return(yield _0x4261f4)[_0xe7bc6b];}});}[a2_0x5511('0x9')](){return Promise[a2_0x5511('0x14')](this[a2_0x5511('0x4')])[a2_0x5511('0xf')](_0x1752d8=>_0x1752d8[a2_0x5511('0xe')]((_0x1f004d,_0x5bddd1)=>_0x1f004d&&_0x5bddd1,!![]));}}exports[a2_0x5511('0x15')]=CloudRemoteCache;
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.CloudRemoteCache = void 0;
13
+ const environment_1 = require("../../../utilities/environment");
14
+ const { output } = require('../../../utilities/nx-imports');
15
+ class CloudRemoteCache {
16
+ constructor(messages, api, runContext, fileStorage) {
17
+ this.messages = messages;
18
+ this.api = api;
19
+ this.runContext = runContext;
20
+ this.fileStorage = fileStorage;
21
+ this.storeRequests = [];
22
+ }
23
+ retrieve(hash, cacheDirectory) {
24
+ var _a;
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ if (this.messages.cacheError)
27
+ return false;
28
+ const hashUrls = yield this.hashUrls(hash);
29
+ if (!hashUrls || !hashUrls.get) {
30
+ if (environment_1.VERBOSE_LOGGING) {
31
+ output.note({ title: `Nx Cloud: Cache miss ${hash}.` });
32
+ }
33
+ this.runContext.statuses[hash] = 'cache-miss';
34
+ return false;
35
+ }
36
+ try {
37
+ yield this.fileStorage.retrieve(hash, hashUrls.get, cacheDirectory);
38
+ this.runContext.statuses[hash] = 'remote-cache-hit';
39
+ return true;
40
+ }
41
+ catch (ee) {
42
+ const e = (_a = ee.axiosException) !== null && _a !== void 0 ? _a : ee;
43
+ if (e.response && e.response.status === 404) {
44
+ if (environment_1.VERBOSE_LOGGING) {
45
+ output.note({ title: `Nx Cloud: Cache miss ${hash}. Status 404.` });
46
+ }
47
+ // cache miss. print nothing
48
+ }
49
+ else {
50
+ this.messages.cacheError = this.messages.extractErrorMessage(e, 'storage');
51
+ }
52
+ this.runContext.statuses[hash] = 'cache-miss';
53
+ return false;
54
+ }
55
+ });
56
+ }
57
+ store(hash, cacheDirectory) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ if (this.messages.cacheError)
60
+ return false;
61
+ const res = Promise.resolve().then(() => __awaiter(this, void 0, void 0, function* () {
62
+ var _a;
63
+ const hashUrls = yield this.hashUrls(hash);
64
+ if (!hashUrls)
65
+ return false;
66
+ if (!hashUrls.put) {
67
+ if (environment_1.VERBOSE_LOGGING) {
68
+ output.note({
69
+ title: `Nx Cloud: Skipping storing ${hash}. Read only token is used.`,
70
+ });
71
+ }
72
+ return true;
73
+ }
74
+ try {
75
+ yield this.fileStorage.store(hash, hashUrls.put, cacheDirectory);
76
+ return true;
77
+ }
78
+ catch (ee) {
79
+ const e = (_a = ee.axiosException) !== null && _a !== void 0 ? _a : ee;
80
+ this.messages.cacheError = this.messages.extractErrorMessage(e, 'storage');
81
+ return false;
82
+ }
83
+ }));
84
+ this.storeRequests.push(res);
85
+ return res;
86
+ });
87
+ }
88
+ hashUrls(hash) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ if (hash in this.runContext.requests) {
91
+ return (yield this.runContext.requests[hash])[hash];
92
+ }
93
+ else {
94
+ const scheduledTaskHashesWithoutRequests = this.runContext.scheduledTasks
95
+ .filter((t) => !this.runContext.requests[t.hash])
96
+ .map((t) => t.hash);
97
+ if (scheduledTaskHashesWithoutRequests.indexOf(hash) === -1) {
98
+ scheduledTaskHashesWithoutRequests.push(hash);
99
+ }
100
+ const request = this.api.startRun(environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID, scheduledTaskHashesWithoutRequests);
101
+ scheduledTaskHashesWithoutRequests.forEach((taskHash) => {
102
+ this.runContext.requests[taskHash] = request;
103
+ });
104
+ return (yield request)[hash];
105
+ }
106
+ });
107
+ }
108
+ waitForStoreRequestsToComplete() {
109
+ return Promise.all(this.storeRequests).then((r) => r.reduce((a, b) => a && b, true));
110
+ }
111
+ }
112
+ exports.CloudRemoteCache = CloudRemoteCache;
113
+ //# sourceMappingURL=cloud-remote-cache.js.map