@nrwl/nx-cloud 15.3.5 → 16.0.0-beta.3

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 (186) hide show
  1. package/README.md +1 -1
  2. package/generators.json +3 -3
  3. package/index.js +1 -5
  4. package/package.json +3 -14
  5. package/project.json +3 -28
  6. package/bin/nx-cloud.d.ts +0 -2
  7. package/bin/nx-cloud.js +0 -50
  8. package/bin/nx-cloud.js.map +0 -1
  9. package/index.d.ts +0 -2
  10. package/index.js.map +0 -1
  11. package/lib/core/api/error-reporter.api.d.ts +0 -6
  12. package/lib/core/api/error-reporter.api.js +0 -1
  13. package/lib/core/api/error-reporter.api.js.map +0 -1
  14. package/lib/core/api/run-group.api.d.ts +0 -7
  15. package/lib/core/api/run-group.api.js +0 -1
  16. package/lib/core/api/run-group.api.js.map +0 -1
  17. package/lib/core/commands/clean-up-agents.d.ts +0 -1
  18. package/lib/core/commands/clean-up-agents.js +0 -34
  19. package/lib/core/commands/clean-up-agents.js.map +0 -1
  20. package/lib/core/commands/record-output.d.ts +0 -1
  21. package/lib/core/commands/record-output.js +0 -186
  22. package/lib/core/commands/record-output.js.map +0 -1
  23. package/lib/core/commands/start-ci-run.d.ts +0 -1
  24. package/lib/core/commands/start-ci-run.js +0 -60
  25. package/lib/core/commands/start-ci-run.js.map +0 -1
  26. package/lib/core/commands/stop-all-agents.d.ts +0 -1
  27. package/lib/core/commands/stop-all-agents.js +0 -40
  28. package/lib/core/commands/stop-all-agents.js.map +0 -1
  29. package/lib/core/commands/upload-and-show-run-details.d.ts +0 -1
  30. package/lib/core/commands/upload-and-show-run-details.js +0 -66
  31. package/lib/core/commands/upload-and-show-run-details.js.map +0 -1
  32. package/lib/core/error/print-cacheable-targets-error.d.ts +0 -1
  33. package/lib/core/error/print-cacheable-targets-error.js +0 -15
  34. package/lib/core/error/print-cacheable-targets-error.js.map +0 -1
  35. package/lib/core/error/print-invalid-runner-error.d.ts +0 -1
  36. package/lib/core/error/print-invalid-runner-error.js +0 -17
  37. package/lib/core/error/print-invalid-runner-error.js.map +0 -1
  38. package/lib/core/error/print-run-group-error.d.ts +0 -2
  39. package/lib/core/error/print-run-group-error.js +0 -20
  40. package/lib/core/error/print-run-group-error.js.map +0 -1
  41. package/lib/core/file-storage/e2e-encryption.d.ts +0 -9
  42. package/lib/core/file-storage/e2e-encryption.js +0 -46
  43. package/lib/core/file-storage/e2e-encryption.js.map +0 -1
  44. package/lib/core/file-storage/file-storage.d.ts +0 -23
  45. package/lib/core/file-storage/file-storage.js +0 -266
  46. package/lib/core/file-storage/file-storage.js.map +0 -1
  47. package/lib/core/models/cache-urls.model.d.ts +0 -6
  48. package/lib/core/models/cache-urls.model.js +0 -3
  49. package/lib/core/models/cache-urls.model.js.map +0 -1
  50. package/lib/core/models/cloud-task-runner-options.d.ts +0 -21
  51. package/lib/core/models/cloud-task-runner-options.js +0 -3
  52. package/lib/core/models/cloud-task-runner-options.js.map +0 -1
  53. package/lib/core/models/distributed-agent/grouped-tasks.model.d.ts +0 -6
  54. package/lib/core/models/distributed-agent/grouped-tasks.model.js +0 -3
  55. package/lib/core/models/distributed-agent/grouped-tasks.model.js.map +0 -1
  56. package/lib/core/models/distributed-agent/index.d.ts +0 -3
  57. package/lib/core/models/distributed-agent/index.js +0 -20
  58. package/lib/core/models/distributed-agent/index.js.map +0 -1
  59. package/lib/core/models/distributed-agent/task-to-execute.model.d.ts +0 -7
  60. package/lib/core/models/distributed-agent/task-to-execute.model.js +0 -3
  61. package/lib/core/models/distributed-agent/task-to-execute.model.js.map +0 -1
  62. package/lib/core/models/distributed-agent/tasks-api-response.model.d.ts +0 -15
  63. package/lib/core/models/distributed-agent/tasks-api-response.model.js +0 -3
  64. package/lib/core/models/distributed-agent/tasks-api-response.model.js.map +0 -1
  65. package/lib/core/models/machine-info.model.d.ts +0 -6
  66. package/lib/core/models/machine-info.model.js +0 -3
  67. package/lib/core/models/machine-info.model.js.map +0 -1
  68. package/lib/core/models/run-context.model.d.ts +0 -130
  69. package/lib/core/models/run-context.model.js +0 -22
  70. package/lib/core/models/run-context.model.js.map +0 -1
  71. package/lib/core/models/run-data.model.d.ts +0 -10
  72. package/lib/core/models/run-data.model.js +0 -3
  73. package/lib/core/models/run-data.model.js.map +0 -1
  74. package/lib/core/models/task-execution.model.d.ts +0 -14
  75. package/lib/core/models/task-execution.model.js +0 -3
  76. package/lib/core/models/task-execution.model.js.map +0 -1
  77. package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.d.ts +0 -19
  78. package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js +0 -1
  79. package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js.map +0 -1
  80. package/lib/core/runners/cloud-enabled/cloud-enabled.runner.d.ts +0 -3
  81. package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js +0 -1
  82. package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js.map +0 -1
  83. package/lib/core/runners/cloud-enabled/cloud-remote-cache.d.ts +0 -22
  84. package/lib/core/runners/cloud-enabled/cloud-remote-cache.js +0 -1
  85. package/lib/core/runners/cloud-enabled/cloud-remote-cache.js.map +0 -1
  86. package/lib/core/runners/cloud-enabled/cloud-run.api.d.ts +0 -23
  87. package/lib/core/runners/cloud-enabled/cloud-run.api.js +0 -1
  88. package/lib/core/runners/cloud-enabled/cloud-run.api.js.map +0 -1
  89. package/lib/core/runners/cloud-enabled/id-generator.d.ts +0 -1
  90. package/lib/core/runners/cloud-enabled/id-generator.js +0 -1
  91. package/lib/core/runners/cloud-enabled/id-generator.js.map +0 -1
  92. package/lib/core/runners/distributed-agent/distributed-agent.api.d.ts +0 -16
  93. package/lib/core/runners/distributed-agent/distributed-agent.api.js +0 -1
  94. package/lib/core/runners/distributed-agent/distributed-agent.api.js.map +0 -1
  95. package/lib/core/runners/distributed-agent/distributed-agent.impl.d.ts +0 -1
  96. package/lib/core/runners/distributed-agent/distributed-agent.impl.js +0 -1
  97. package/lib/core/runners/distributed-agent/distributed-agent.impl.js.map +0 -1
  98. package/lib/core/runners/distributed-agent/execute-tasks.d.ts +0 -10
  99. package/lib/core/runners/distributed-agent/execute-tasks.js +0 -1
  100. package/lib/core/runners/distributed-agent/execute-tasks.js.map +0 -1
  101. package/lib/core/runners/distributed-agent/invoke-tasks-using-nx-imperative-api.d.ts +0 -9
  102. package/lib/core/runners/distributed-agent/invoke-tasks-using-nx-imperative-api.js +0 -1
  103. package/lib/core/runners/distributed-agent/invoke-tasks-using-nx-imperative-api.js.map +0 -1
  104. package/lib/core/runners/distributed-agent/invoke-tasks-using-run-many.d.ts +0 -9
  105. package/lib/core/runners/distributed-agent/invoke-tasks-using-run-many.js +0 -1
  106. package/lib/core/runners/distributed-agent/invoke-tasks-using-run-many.js.map +0 -1
  107. package/lib/core/runners/distributed-execution/distributed-execution.api.d.ts +0 -10
  108. package/lib/core/runners/distributed-execution/distributed-execution.api.js +0 -1
  109. package/lib/core/runners/distributed-execution/distributed-execution.api.js.map +0 -1
  110. package/lib/core/runners/distributed-execution/distributed-execution.runner.d.ts +0 -1
  111. package/lib/core/runners/distributed-execution/distributed-execution.runner.js +0 -1
  112. package/lib/core/runners/distributed-execution/distributed-execution.runner.js.map +0 -1
  113. package/lib/core/runners/distributed-execution/process-task.d.ts +0 -7
  114. package/lib/core/runners/distributed-execution/process-task.js +0 -1
  115. package/lib/core/runners/distributed-execution/process-task.js.map +0 -1
  116. package/lib/core/runners/distributed-execution/process-tasks.d.ts +0 -7
  117. package/lib/core/runners/distributed-execution/process-tasks.js +0 -1
  118. package/lib/core/runners/distributed-execution/process-tasks.js.map +0 -1
  119. package/lib/core/runners/distributed-execution/split-task-graph-into-stages.d.ts +0 -2
  120. package/lib/core/runners/distributed-execution/split-task-graph-into-stages.js +0 -1
  121. package/lib/core/runners/distributed-execution/split-task-graph-into-stages.js.map +0 -1
  122. package/lib/core/runners/distributed-execution/task-graph-creator.d.ts +0 -17
  123. package/lib/core/runners/distributed-execution/task-graph-creator.js +0 -1
  124. package/lib/core/runners/distributed-execution/task-graph-creator.js.map +0 -1
  125. package/lib/core/terminal-output/end-of-run-message.d.ts +0 -9
  126. package/lib/core/terminal-output/end-of-run-message.js +0 -45
  127. package/lib/core/terminal-output/end-of-run-message.js.map +0 -1
  128. package/lib/core/terminal-output/message-reporter.d.ts +0 -11
  129. package/lib/core/terminal-output/message-reporter.js +0 -71
  130. package/lib/core/terminal-output/message-reporter.js.map +0 -1
  131. package/lib/core/terminal-output/output-obfuscator.d.ts +0 -6
  132. package/lib/core/terminal-output/output-obfuscator.js +0 -48
  133. package/lib/core/terminal-output/output-obfuscator.js.map +0 -1
  134. package/lib/core/terminal-output/read-task-terminal-output.d.ts +0 -2
  135. package/lib/core/terminal-output/read-task-terminal-output.js +0 -60
  136. package/lib/core/terminal-output/read-task-terminal-output.js.map +0 -1
  137. package/lib/daemon/process-run-end.d.ts +0 -3
  138. package/lib/daemon/process-run-end.js +0 -66
  139. package/lib/daemon/process-run-end.js.map +0 -1
  140. package/lib/generators/init/init.d.ts +0 -1
  141. package/lib/generators/init/init.js +0 -96
  142. package/lib/generators/init/init.js.map +0 -1
  143. package/lib/generators/init/schema.json +0 -21
  144. package/lib/nx-cloud-tasks-runner.d.ts +0 -2
  145. package/lib/nx-cloud-tasks-runner.js +0 -154
  146. package/lib/nx-cloud-tasks-runner.js.map +0 -1
  147. package/lib/utilities/axios.d.ts +0 -10
  148. package/lib/utilities/axios.js +0 -87
  149. package/lib/utilities/axios.js.map +0 -1
  150. package/lib/utilities/create-unchanged-value-timeout.d.ts +0 -4
  151. package/lib/utilities/create-unchanged-value-timeout.js +0 -24
  152. package/lib/utilities/create-unchanged-value-timeout.js.map +0 -1
  153. package/lib/utilities/distributed-task-execution-detection.d.ts +0 -2
  154. package/lib/utilities/distributed-task-execution-detection.js +0 -36
  155. package/lib/utilities/distributed-task-execution-detection.js.map +0 -1
  156. package/lib/utilities/dte-artifact-storage.d.ts +0 -7
  157. package/lib/utilities/dte-artifact-storage.js +0 -43
  158. package/lib/utilities/dte-artifact-storage.js.map +0 -1
  159. package/lib/utilities/environment.d.ts +0 -28
  160. package/lib/utilities/environment.js +0 -222
  161. package/lib/utilities/environment.js.map +0 -1
  162. package/lib/utilities/is-ci.d.ts +0 -1
  163. package/lib/utilities/is-ci.js +0 -21
  164. package/lib/utilities/is-ci.js.map +0 -1
  165. package/lib/utilities/is-private-cloud.d.ts +0 -1
  166. package/lib/utilities/is-private-cloud.js +0 -32
  167. package/lib/utilities/is-private-cloud.js.map +0 -1
  168. package/lib/utilities/metric-logger.d.ts +0 -22
  169. package/lib/utilities/metric-logger.js +0 -70
  170. package/lib/utilities/metric-logger.js.map +0 -1
  171. package/lib/utilities/nx-imports.d.ts +0 -0
  172. package/lib/utilities/nx-imports.js +0 -60
  173. package/lib/utilities/nx-imports.js.map +0 -1
  174. package/lib/utilities/print-message.d.ts +0 -1
  175. package/lib/utilities/print-message.js +0 -64
  176. package/lib/utilities/print-message.js.map +0 -1
  177. package/lib/utilities/serializer-overrides.d.ts +0 -3
  178. package/lib/utilities/serializer-overrides.js +0 -44
  179. package/lib/utilities/serializer-overrides.js.map +0 -1
  180. package/lib/utilities/waiter.d.ts +0 -6
  181. package/lib/utilities/waiter.js +0 -36
  182. package/lib/utilities/waiter.js.map +0 -1
  183. package/tsconfig.json +0 -16
  184. package/tsconfig.lib.json +0 -11
  185. package/tsconfig.spec.json +0 -21
  186. package/tslint.json +0 -7
@@ -1,66 +0,0 @@
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
- const file_storage_1 = require("../core/file-storage/file-storage");
13
- const cloud_run_api_1 = require("../core/runners/cloud-enabled/cloud-run.api");
14
- const error_reporter_api_1 = require("../core/api/error-reporter.api");
15
- const e2e_encryption_1 = require("../core/file-storage/e2e-encryption");
16
- const environment_1 = require("../utilities/environment");
17
- const message_reporter_1 = require("../core/terminal-output/message-reporter");
18
- const metric_logger_1 = require("../utilities/metric-logger");
19
- function processRunEnd(data, logger) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- const encryption = new e2e_encryption_1.E2EEncryption(data.encryptionKey);
22
- const errorApi = new error_reporter_api_1.ErrorReporterApi(data.runnerOptions);
23
- const fileStorage = new file_storage_1.FileStorage(encryption, errorApi, data.runnerOptions, 'daemon');
24
- const cachePath = (0, environment_1.getNxCacheDirectory)(data.runnerOptions);
25
- const reporter = new message_reporter_1.MessageReporter(data.runnerOptions);
26
- const runContext = {};
27
- const machineInfo = (0, environment_1.getMachineInfo)(data.runnerOptions);
28
- const api = new cloud_run_api_1.CloudRunApi(reporter, runContext, data.runnerOptions, machineInfo);
29
- setTimeout(() => __awaiter(this, void 0, void 0, function* () {
30
- logger.log('Uploading file artifacts');
31
- try {
32
- yield Promise.all(data.delayedStoreRequests.map((t) => fileStorage.store(t.hash, t.url, cachePath)));
33
- logger.log('Done uploading file artifacts');
34
- }
35
- catch (e) {
36
- logger.log('Error when uploading file artifacts');
37
- console.log(e);
38
- return;
39
- }
40
- for (const hash of fileStorage.storedHashes) {
41
- const matchingTask = data.runEnd.taskExecutions.find((t) => t.hash === hash);
42
- if (!matchingTask) {
43
- throw new Error(`Task with hash ${hash} isn't recorded`);
44
- }
45
- matchingTask.uploadedToStorage = true;
46
- }
47
- logger.log('Sending EndRun request');
48
- // check the return value
49
- try {
50
- const res = yield api.endRun(data.runEnd.runData, data.runEnd.taskExecutions, data.ciExecutionContext, data.runEnd.linkId);
51
- if (!res) {
52
- throw new Error(reporter.apiError);
53
- }
54
- logger.log('Done sending EndRun request');
55
- }
56
- catch (e) {
57
- logger.log('Error when sending EndRun');
58
- console.log(e);
59
- }
60
- yield (0, metric_logger_1.submitRunMetrics)(data.runOptions);
61
- }), 0);
62
- return '{}';
63
- });
64
- }
65
- exports.default = processRunEnd;
66
- //# sourceMappingURL=process-run-end.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-run-end.js","sourceRoot":"","sources":["../../../../../../libs/nx-packages/nx-cloud/lib/daemon/process-run-end.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function generator(host: any, schema: any): Promise<() => void>;
@@ -1,96 +0,0 @@
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.generator = void 0;
13
- const fs_1 = require("fs");
14
- function updateNxJson(json, token) {
15
- var _a, _b, _c;
16
- const alreadySetOptions = (_c = (_b = (_a = json.tasksRunnerOptions) === null || _a === void 0 ? void 0 : _a.default) === null || _b === void 0 ? void 0 : _b.options) !== null && _c !== void 0 ? _c : {};
17
- const options = Object.assign(Object.assign({}, alreadySetOptions), { accessToken: token });
18
- if (process.env.NX_CLOUD_API) {
19
- options.url = process.env.NX_CLOUD_API;
20
- }
21
- json.tasksRunnerOptions = {
22
- default: {
23
- runner: '@nrwl/nx-cloud',
24
- options,
25
- },
26
- };
27
- }
28
- function updateNxJsonUsingNx(host, token) {
29
- try {
30
- const jsonUtils = require('nx/src/utils/json');
31
- const json = jsonUtils.parseJson(host.read('nx.json', 'utf-8'));
32
- updateNxJson(json, token);
33
- host.write('nx.json', jsonUtils.serializeJson(json));
34
- }
35
- catch (ee) {
36
- const json = JSON.parse(host.read('nx.json', 'utf-8'));
37
- updateNxJson(json, token);
38
- host.write('nx.json', JSON.stringify(json, null, 2));
39
- }
40
- }
41
- function getRootPackageName() {
42
- var _a;
43
- let packageJson;
44
- try {
45
- packageJson = JSON.parse((0, fs_1.readFileSync)('package.json').toString());
46
- }
47
- catch (e) { }
48
- return (_a = packageJson === null || packageJson === void 0 ? void 0 : packageJson.name) !== null && _a !== void 0 ? _a : 'my-workspace';
49
- }
50
- function removeTrailingSlash(apiUrl) {
51
- return apiUrl[apiUrl.length - 1] === '/'
52
- ? apiUrl.substr(0, apiUrl.length - 1)
53
- : apiUrl;
54
- }
55
- function createNxCloudWorkspace(workspaceName, installationSource) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const apiUrl = removeTrailingSlash(process.env.NX_CLOUD_API || process.env.NRWL_API || `https://cloud.nx.app`);
58
- const response = yield require('axios').post(`${apiUrl}/nx-cloud/create-org-and-workspace`, {
59
- workspaceName,
60
- installationSource,
61
- });
62
- if (response.data.message) {
63
- throw new Error(response.data.message);
64
- }
65
- return response.data;
66
- });
67
- }
68
- function printMessage(url) {
69
- const { output } = require('../../utilities/nx-imports');
70
- let host = 'nx.app';
71
- try {
72
- host = new (require('url').URL)(url).host;
73
- }
74
- catch (e) { }
75
- output.note({
76
- title: `Distributed caching via Nx Cloud has been enabled`,
77
- bodyLines: [
78
- `In addition to the caching, Nx Cloud provides config-free distributed execution,`,
79
- `UI for viewing complex runs and GitHub integration. Learn more at https://nx.app`,
80
- ``,
81
- `Your workspace is currently unclaimed. Run details from unclaimed workspaces can be viewed on ${host} by anyone`,
82
- `with the link. Claim your workspace at the following link to restrict access.`,
83
- ``,
84
- `${url}`,
85
- ],
86
- });
87
- }
88
- function generator(host, schema) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- const r = yield createNxCloudWorkspace(getRootPackageName(), schema.installationSource);
91
- updateNxJsonUsingNx(host, r.token);
92
- return () => printMessage(r.url);
93
- });
94
- }
95
- exports.generator = generator;
96
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/nx-cloud/lib/generators/init/init.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "id": "NxCloudInit",
4
- "title": "Add Nx Cloud Configuration to the workspace",
5
- "type": "object",
6
- "cli": "nx",
7
- "properties": {
8
- "analytics": {
9
- "type": "boolean",
10
- "description": "Anonymously store hashed machine ID for task runs",
11
- "default": false
12
- },
13
- "installationSource": {
14
- "type": "string",
15
- "description": "Name of Nx Cloud installation invoker (ex. user, add-nx-to-monorepo, create-nx-workspace, nx-upgrade",
16
- "default": "user"
17
- }
18
- },
19
- "additionalProperties": false,
20
- "required": []
21
- }
@@ -1,2 +0,0 @@
1
- declare const nxCloudTasksRunner: any;
2
- export default nxCloudTasksRunner;
@@ -1,154 +0,0 @@
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
- const environment_1 = require("./utilities/environment");
13
- const axios_1 = require("./utilities/axios");
14
- const cloud_enabled_runner_1 = require("./core/runners/cloud-enabled/cloud-enabled.runner");
15
- const distributed_task_execution_detection_1 = require("./utilities/distributed-task-execution-detection");
16
- const { tasksRunner, output, runnerReturnsPromise, } = require('./utilities/nx-imports');
17
- const nxCloudTasksRunner = (tasks, options, context) => {
18
- const nxArgs = context.nxArgs;
19
- const noAccessTokenDefined = !environment_1.ACCESS_TOKEN && !options.accessToken;
20
- const noCloud = nxArgs['cloud'] === false || options.skipNxCache;
21
- if (options.skipNxCache) {
22
- output.warn({
23
- title: '--skip-nx-cache disables the connection to Nx Cloud for the current run.',
24
- bodyLines: [
25
- 'The remote cache will not be read from or written to during this run.',
26
- ],
27
- });
28
- }
29
- if (noAccessTokenDefined || noCloud) {
30
- return tasksRunner(tasks, options, context);
31
- }
32
- if ((0, environment_1.nxInvokedByRunner)()) {
33
- if (anyCacheableTargets(tasks, options)) {
34
- return (0, cloud_enabled_runner_1.cloudEnabledTasksRunner)(tasks, options, context, true);
35
- }
36
- else {
37
- return tasksRunner(tasks, options, context);
38
- }
39
- }
40
- if ((0, environment_1.agentRunningInDistributedExecution)(process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_ID)) {
41
- verifyAllOperationsAreCacheableOnAgent(tasks, options);
42
- }
43
- // distributed execution, main job
44
- if ((0, distributed_task_execution_detection_1.isDistributedExecutionEnabled)(nxArgs['dte']) &&
45
- !(0, environment_1.agentRunningInDistributedExecution)(process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_ID)) {
46
- verifyAllOperationsAreCacheableOnMainJob(tasks, options);
47
- if (runnerReturnsPromise) {
48
- return dtePromiseVersion(tasks, options, context);
49
- }
50
- else {
51
- return dteLegacyObservableVersion(tasks, options, context);
52
- }
53
- }
54
- // This disables using Cloud for all inner nx invocations, so it won't create an extra run.
55
- process.env.NX_INVOKED_BY_RUNNER = 'true';
56
- return (0, cloud_enabled_runner_1.cloudEnabledTasksRunner)(tasks, options, context);
57
- };
58
- function dteLegacyObservableVersion(tasks, options, context) {
59
- const { from } = require('rxjs/internal/observable/from');
60
- const { switchMap } = require('rxjs/internal/operators/switchMap');
61
- return from(verifyNxCloudWorkspaceEnabled(options)).pipe(switchMap((res) => {
62
- if (res.data.enabled) {
63
- return require('./core/runners/distributed-execution/distributed-execution.runner').nxCloudDistributedTasksRunner(tasks, options, context);
64
- }
65
- output.warn({
66
- title: 'Nx Cloud: Workspace Disabled',
67
- bodyLines: [
68
- 'This run and following runs will not use distributed task execution until',
69
- 'the outstanding balance is paid or additional coupons are added for this',
70
- 'workspace. If you believe you are receiving this message in error, please',
71
- 'contact support at cloud-support@nrwl.io.',
72
- '',
73
- 'Execution will now continue using this machine only.',
74
- ],
75
- });
76
- // This disables using Cloud for all inner nx invocations, so it won't create an extra run.
77
- process.env.NX_INVOKED_BY_RUNNER = 'true';
78
- return (0, cloud_enabled_runner_1.cloudEnabledTasksRunner)(tasks, options, context);
79
- }));
80
- }
81
- function dtePromiseVersion(tasks, options, context) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const isEnabled = yield verifyNxCloudWorkspaceEnabled(options);
84
- if (isEnabled.data.enabled) {
85
- return require('./core/runners/distributed-execution/distributed-execution.runner').nxCloudDistributedTasksRunner(tasks, options, context);
86
- }
87
- else {
88
- output.warn({
89
- title: 'Nx Cloud: Workspace Disabled',
90
- bodyLines: [
91
- 'This run and following runs will not use distributed task execution until',
92
- 'the outstanding balance is paid or additional coupons are added for this',
93
- 'workspace. If you believe you are receiving this message in error, please',
94
- 'contact support at cloud-support@nrwl.io.',
95
- '',
96
- 'Execution will now continue using this machine only.',
97
- ],
98
- });
99
- // This disables using Cloud for all inner nx invocations, so it won't create an extra run.
100
- process.env.NX_INVOKED_BY_RUNNER = 'true';
101
- return (0, cloud_enabled_runner_1.cloudEnabledTasksRunner)(tasks, options, context);
102
- }
103
- });
104
- }
105
- function verifyNxCloudWorkspaceEnabled(options) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- const axiosInstance = (0, axios_1.createApiAxiosInstance)(options);
108
- return yield (0, axios_1.axiosMultipleTries)(() => axiosInstance.get('/nx-cloud/executions/workspace-status'));
109
- });
110
- }
111
- function anyCacheableTargets(tasks, options) {
112
- const cacheableTargets = options.cacheableOperations || [];
113
- for (const task of tasks) {
114
- if (cacheableTargets.indexOf(task.target.target) > -1) {
115
- return true;
116
- }
117
- }
118
- return false;
119
- }
120
- function verifyAllOperationsAreCacheableOnMainJob(tasks, options) {
121
- const cacheableTargets = options.cacheableOperations || [];
122
- for (const task of tasks) {
123
- if (cacheableTargets.indexOf(task.target.target) === -1) {
124
- output.error({
125
- title: `Distributed task execution only works for cacheable targets`,
126
- bodyLines: [
127
- `Target '${task.target.project}:${task.target.target}' cannot be executed.`,
128
- `To be able to replay the output of the target, distributed task execution only supports cacheable targets.`,
129
- `You can verify that '${task.target.target}' is part of the list of cacheable targets in the 'nx.json' file.`,
130
- `You can invoke this command without distribution by doing "NX_CLOUD_DISTRIBUTED_EXECUTION=false nx ...".`,
131
- ],
132
- });
133
- process.exit(1);
134
- }
135
- }
136
- }
137
- function verifyAllOperationsAreCacheableOnAgent(tasks, options) {
138
- const cacheableTargets = options.cacheableOperations || [];
139
- tasks.forEach((task) => {
140
- if (cacheableTargets.indexOf(task.target.target) === -1) {
141
- output.error({
142
- title: `Distributed task execution only works for cacheable targets`,
143
- bodyLines: [
144
- `Target ${task.target.project}:${task.target.target} cannot be executed.`,
145
- `To be able to replay the output of the target, distributed task execution only supports cacheable targets.`,
146
- `You can still invoke "nx ${task.target.target} ${task.target.project}" from within a cacheable target when using "nx:run-commands".`,
147
- ],
148
- });
149
- process.exit(environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE);
150
- }
151
- });
152
- }
153
- exports.default = nxCloudTasksRunner;
154
- //# sourceMappingURL=nx-cloud-tasks-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx-cloud-tasks-runner.js","sourceRoot":"","sources":["../../../../../libs/nx-packages/nx-cloud/lib/nx-cloud-tasks-runner.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { CloudTaskRunnerOptions } from '../core/models/cloud-task-runner-options';
2
- export declare class AxiosException {
3
- readonly type: 'timeout' | 'failure';
4
- readonly message: string;
5
- readonly axiosException: any;
6
- constructor(type: 'timeout' | 'failure', message: string, axiosException: any);
7
- }
8
- export declare function createApiAxiosInstance(options: CloudTaskRunnerOptions): any;
9
- export declare function printDuration(description: string, callback: Function): Promise<any>;
10
- export declare function axiosMultipleTries(axiosCallCreator: () => Promise<any>, retriesLeft?: number): any;
@@ -1,87 +0,0 @@
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.axiosMultipleTries = exports.printDuration = exports.createApiAxiosInstance = exports.AxiosException = void 0;
13
- const environment_1 = require("./environment");
14
- const waiter_1 = require("./waiter");
15
- const { output } = require('./nx-imports');
16
- const axios = require('axios');
17
- class AxiosException {
18
- constructor(type, message, axiosException) {
19
- this.type = type;
20
- this.message = message;
21
- this.axiosException = axiosException;
22
- }
23
- }
24
- exports.AxiosException = AxiosException;
25
- function createApiAxiosInstance(options) {
26
- const baseUrl = options.url || 'https://cloud.nx.app';
27
- const accessToken = environment_1.ACCESS_TOKEN ? environment_1.ACCESS_TOKEN : options.accessToken;
28
- if (!accessToken) {
29
- throw new Error(`Unable to authenticate. Either define accessToken in nx.json or set the NX_CLOUD_ACCESS_TOKEN env variable.`);
30
- }
31
- return axios.create({
32
- baseURL: baseUrl,
33
- timeout: environment_1.NX_CLOUD_NO_TIMEOUTS ? environment_1.UNLIMITED_TIMEOUT : 10000,
34
- headers: { authorization: accessToken },
35
- });
36
- }
37
- exports.createApiAxiosInstance = createApiAxiosInstance;
38
- function printDuration(description, callback) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- const b = new Date();
41
- const res = yield callback();
42
- const a = new Date();
43
- if (environment_1.VERBOSE_LOGGING) {
44
- console.log(`${description}: ${a.getTime() - b.getTime()}`);
45
- }
46
- return res;
47
- });
48
- }
49
- exports.printDuration = printDuration;
50
- function axiosMultipleTries(axiosCallCreator, retriesLeft = environment_1.NUMBER_OF_AXIOS_RETRIES) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- try {
53
- return yield axiosCallCreator();
54
- }
55
- catch (e) {
56
- const code = e.code || (e.response && e.response.status);
57
- // Do not retry if we receive an unauthorized or forbidden response
58
- if (code === 401 || code === 403) {
59
- retriesLeft = 0;
60
- }
61
- if (retriesLeft === 0) {
62
- let message = e.response
63
- ? e.response.data.message
64
- ? e.response.data.message
65
- : e.response.data
66
- : e.message;
67
- if (typeof message !== 'string') {
68
- message = e.message;
69
- }
70
- throw new AxiosException('failure', `Error when connecting to Nx Cloud. Code: ${code}. Error: ${message}.`, e);
71
- }
72
- else {
73
- const retryAfter = 1000 +
74
- (environment_1.NUMBER_OF_AXIOS_RETRIES + 1 - retriesLeft) * 4000 * Math.random();
75
- if (environment_1.VERBOSE_LOGGING) {
76
- output.note({
77
- title: `Received ${code}. Retrying in ${retryAfter}ms.`,
78
- });
79
- }
80
- yield (0, waiter_1.wait)(retryAfter);
81
- return axiosMultipleTries(axiosCallCreator, retriesLeft - 1);
82
- }
83
- }
84
- });
85
- }
86
- exports.axiosMultipleTries = axiosMultipleTries;
87
- //# sourceMappingURL=axios.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../../../../../libs/nx-packages/nx-cloud/lib/utilities/axios.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAMuB;AACvB,qCAAgC;AAGhC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,MAAa,cAAc;IACzB,YACkB,IAA2B,EAC3B,OAAe,EACf,cAAmB;QAFnB,SAAI,GAAJ,IAAI,CAAuB;QAC3B,YAAO,GAAP,OAAO,CAAQ;QACf,mBAAc,GAAd,cAAc,CAAK;IAClC,CAAC;CACL;AAND,wCAMC;AAED,SAAgB,sBAAsB,CAAC,OAA+B;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,sBAAsB,CAAC;IACtD,MAAM,WAAW,GAAG,0BAAY,CAAC,CAAC,CAAC,0BAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAY,CAAC;IAEvE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;KACH;IAED,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,kCAAoB,CAAC,CAAC,CAAC,+BAAiB,CAAC,CAAC,CAAC,KAAK;QACzD,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE;KACxC,CAAC,CAAC;AACL,CAAC;AAfD,wDAeC;AAED,SAAsB,aAAa,CAAC,WAAmB,EAAE,QAAkB;;QACzE,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAErB,IAAI,6BAAe,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SAC7D;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAAA;AAVD,sCAUC;AAED,SAAsB,kBAAkB,CACtC,gBAAoC,EACpC,WAAW,GAAG,qCAAuB;;QAErC,IAAI;YACF,OAAO,MAAM,gBAAgB,EAAE,CAAC;SACjC;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEzD,mEAAmE;YACnE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;gBAChC,WAAW,GAAG,CAAC,CAAC;aACjB;YAED,IAAI,WAAW,KAAK,CAAC,EAAE;gBACrB,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ;oBACtB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO;wBACvB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO;wBACzB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;oBACnB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACd,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC/B,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;iBACrB;gBACD,MAAM,IAAI,cAAc,CACtB,SAAS,EACT,4CAA4C,IAAI,YAAY,OAAO,GAAG,EACtE,CAAC,CACF,CAAC;aACH;iBAAM;gBACL,MAAM,UAAU,GACd,IAAI;oBACJ,CAAC,qCAAuB,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrE,IAAI,6BAAe,EAAE;oBACnB,MAAM,CAAC,IAAI,CAAC;wBACV,KAAK,EAAE,YAAY,IAAI,iBAAiB,UAAU,KAAK;qBACxD,CAAC,CAAC;iBACJ;gBACD,MAAM,IAAA,aAAI,EAAC,UAAU,CAAC,CAAC;gBACvB,OAAO,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;aAC9D;SACF;IACH,CAAC;CAAA;AAzCD,gDAyCC"}
@@ -1,4 +0,0 @@
1
- export declare function createUnchangedValueTimeout(options: {
2
- title: string;
3
- timeout: number;
4
- }): (newValue: any) => void;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createUnchangedValueTimeout = void 0;
4
- const { output } = require('./nx-imports');
5
- function createUnchangedValueTimeout(options) {
6
- let value = new Object();
7
- let valueIsSetAt;
8
- return (newValue) => {
9
- if (value !== newValue) {
10
- value = newValue;
11
- valueIsSetAt = new Date();
12
- }
13
- else {
14
- if (new Date().getTime() - valueIsSetAt.getTime() > options.timeout) {
15
- output.error({
16
- title: options.title,
17
- });
18
- process.exit(1);
19
- }
20
- }
21
- };
22
- }
23
- exports.createUnchangedValueTimeout = createUnchangedValueTimeout;
24
- //# sourceMappingURL=create-unchanged-value-timeout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-unchanged-value-timeout.js","sourceRoot":"","sources":["../../../../../../libs/nx-packages/nx-cloud/lib/utilities/create-unchanged-value-timeout.ts"],"names":[],"mappings":";;;AAAA,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE3C,SAAgB,2BAA2B,CAAC,OAG3C;IACC,IAAI,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC;IACzB,IAAI,YAAY,CAAC;IACjB,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,KAAK,GAAG,QAAQ,CAAC;YACjB,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;SAC3B;aAAM;YACL,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;gBACnE,MAAM,CAAC,KAAK,CAAC;oBACX,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;IACH,CAAC,CAAC;AACJ,CAAC;AAnBD,kEAmBC"}
@@ -1,2 +0,0 @@
1
- export declare function storeDteMarker(): void;
2
- export declare function isDistributedExecutionEnabled(explicitOption: true | false | undefined): boolean;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDistributedExecutionEnabled = exports.storeDteMarker = void 0;
4
- const fs_extra_1 = require("fs-extra");
5
- const path_1 = require("path");
6
- const fs_1 = require("fs");
7
- const nxCacheDirectory = process.env.NX_CACHE_DIRECTORY
8
- ? [process.env['NX_CACHE_DIRECTORY']]
9
- : ['node_modules', '.cache', 'nx'];
10
- const dir = (0, path_1.join)(process.cwd(), ...nxCacheDirectory);
11
- const dteMarker = (0, path_1.join)(dir, 'NX_CLOUD_DISTRIBUTED_EXECUTION');
12
- function storeDteMarker() {
13
- (0, fs_extra_1.ensureDirSync)(dir);
14
- (0, fs_extra_1.writeFileSync)(dteMarker, 'true');
15
- }
16
- exports.storeDteMarker = storeDteMarker;
17
- function isDistributedExecutionEnabled(explicitOption) {
18
- if (explicitOption === true)
19
- return true;
20
- if (explicitOption === false)
21
- return false;
22
- const envVar = process.env.NX_CLOUD_DISTRIBUTED_EXECUTION;
23
- if (envVar === 'false' || envVar === 'FALSE' || envVar === '0')
24
- return false;
25
- if (envVar === 'true' || envVar === 'TRUE' || envVar === '1')
26
- return true;
27
- try {
28
- (0, fs_1.readFileSync)(dteMarker);
29
- return true;
30
- }
31
- catch (e) {
32
- return false;
33
- }
34
- }
35
- exports.isDistributedExecutionEnabled = isDistributedExecutionEnabled;
36
- //# sourceMappingURL=distributed-task-execution-detection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"distributed-task-execution-detection.js","sourceRoot":"","sources":["../../../../../../libs/nx-packages/nx-cloud/lib/utilities/distributed-task-execution-detection.ts"],"names":[],"mappings":";;;AAAA,uCAAwD;AACxD,+BAA4B;AAC5B,2BAAkC;AAElC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB;IACrD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrC,MAAM,GAAG,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,gBAAgB,CAAC,CAAC;AACrD,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;AAE9D,SAAgB,cAAc;IAC5B,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC;IACnB,IAAA,wBAAa,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAHD,wCAGC;AAED,SAAgB,6BAA6B,CAC3C,cAAwC;IAExC,IAAI,cAAc,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,cAAc,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IAC1D,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAE1E,IAAI;QACF,IAAA,iBAAY,EAAC,SAAS,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAhBD,sEAgBC"}
@@ -1,7 +0,0 @@
1
- import { FileStorage } from '../core/file-storage/file-storage';
2
- export declare class DteArtifactStorage {
3
- private readonly fileStorage;
4
- private readonly cacheDirectory;
5
- constructor(fileStorage: FileStorage, cacheDirectory: string);
6
- retrieveAndExtract(hash: string, url: string): Promise<string>;
7
- }
@@ -1,43 +0,0 @@
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.DteArtifactStorage = void 0;
13
- const environment_1 = require("./environment");
14
- const fs_extra_1 = require("fs-extra");
15
- const path_1 = require("path");
16
- const { output, workspaceRoot } = require('./nx-imports');
17
- class DteArtifactStorage {
18
- constructor(fileStorage, cacheDirectory) {
19
- this.fileStorage = fileStorage;
20
- this.cacheDirectory = cacheDirectory;
21
- (0, fs_extra_1.mkdirSync)(cacheDirectory, { recursive: true });
22
- }
23
- retrieveAndExtract(hash, url) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- if (environment_1.VERBOSE_LOGGING) {
26
- output.note({
27
- title: `Retrieving artifacts from ${url}`,
28
- });
29
- }
30
- yield this.fileStorage.retrieve(hash, url, this.cacheDirectory);
31
- if (environment_1.VERBOSE_LOGGING) {
32
- output.note({
33
- title: `Extracting artifacts`,
34
- });
35
- }
36
- const outputs = (0, path_1.join)(this.cacheDirectory, hash, 'outputs');
37
- yield (0, fs_extra_1.copy)(outputs, workspaceRoot);
38
- return (yield (0, fs_extra_1.readFile)((0, path_1.join)(this.cacheDirectory, hash, 'terminalOutput'))).toString();
39
- });
40
- }
41
- }
42
- exports.DteArtifactStorage = DteArtifactStorage;
43
- //# sourceMappingURL=dte-artifact-storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dte-artifact-storage.js","sourceRoot":"","sources":["../../../../../../libs/nx-packages/nx-cloud/lib/utilities/dte-artifact-storage.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAAgD;AAChD,uCAAqD;AACrD,+BAA4B;AAE5B,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE1D,MAAa,kBAAkB;IAC7B,YACmB,WAAwB,EACxB,cAAsB;QADtB,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAQ;QAEvC,IAAA,oBAAS,EAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAEK,kBAAkB,CAAC,IAAY,EAAE,GAAW;;YAChD,IAAI,6BAAe,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,6BAA6B,GAAG,EAAE;iBAC1C,CAAC,CAAC;aACJ;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAEhE,IAAI,6BAAe,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,sBAAsB;iBAC9B,CAAC,CAAC;aACJ;YACD,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,IAAA,eAAI,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACnC,OAAO,CACL,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAClE,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC;KAAA;CACF;AA5BD,gDA4BC"}