@datadog/datadog-ci 5.8.0 → 5.9.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.
Files changed (163) hide show
  1. package/README.md +2 -2
  2. package/dist/cli.js +1 -2
  3. package/dist/cli.js.map +1 -1
  4. package/package.json +10 -16
  5. package/dist/commands/cli.d.ts +0 -32
  6. package/dist/commands/cli.js +0 -27
  7. package/dist/commands/cli.js.map +0 -1
  8. package/dist/commands/elf-symbols/cli.d.ts +0 -2
  9. package/dist/commands/elf-symbols/cli.js +0 -6
  10. package/dist/commands/elf-symbols/cli.js.map +0 -1
  11. package/dist/commands/elf-symbols/elf-constants.d.ts +0 -256
  12. package/dist/commands/elf-symbols/elf-constants.js +0 -465
  13. package/dist/commands/elf-symbols/elf-constants.js.map +0 -1
  14. package/dist/commands/elf-symbols/elf.d.ts +0 -105
  15. package/dist/commands/elf-symbols/elf.js +0 -431
  16. package/dist/commands/elf-symbols/elf.js.map +0 -1
  17. package/dist/commands/elf-symbols/helpers.d.ts +0 -4
  18. package/dist/commands/elf-symbols/helpers.js +0 -29
  19. package/dist/commands/elf-symbols/helpers.js.map +0 -1
  20. package/dist/commands/elf-symbols/interfaces.d.ts +0 -18
  21. package/dist/commands/elf-symbols/interfaces.js +0 -7
  22. package/dist/commands/elf-symbols/interfaces.js.map +0 -1
  23. package/dist/commands/elf-symbols/renderer.d.ts +0 -19
  24. package/dist/commands/elf-symbols/renderer.js +0 -87
  25. package/dist/commands/elf-symbols/renderer.js.map +0 -1
  26. package/dist/commands/elf-symbols/upload.d.ts +0 -31
  27. package/dist/commands/elf-symbols/upload.js +0 -412
  28. package/dist/commands/elf-symbols/upload.js.map +0 -1
  29. package/dist/commands/flutter-symbols/cli.d.ts +0 -2
  30. package/dist/commands/flutter-symbols/cli.js +0 -6
  31. package/dist/commands/flutter-symbols/cli.js.map +0 -1
  32. package/dist/commands/flutter-symbols/helpers.d.ts +0 -8
  33. package/dist/commands/flutter-symbols/helpers.js +0 -51
  34. package/dist/commands/flutter-symbols/helpers.js.map +0 -1
  35. package/dist/commands/flutter-symbols/interfaces.d.ts +0 -17
  36. package/dist/commands/flutter-symbols/interfaces.js +0 -10
  37. package/dist/commands/flutter-symbols/interfaces.js.map +0 -1
  38. package/dist/commands/flutter-symbols/renderer.d.ts +0 -23
  39. package/dist/commands/flutter-symbols/renderer.js +0 -106
  40. package/dist/commands/flutter-symbols/renderer.js.map +0 -1
  41. package/dist/commands/flutter-symbols/upload.d.ts +0 -44
  42. package/dist/commands/flutter-symbols/upload.js +0 -510
  43. package/dist/commands/flutter-symbols/upload.js.map +0 -1
  44. package/dist/commands/measure/cli.d.ts +0 -2
  45. package/dist/commands/measure/cli.js +0 -6
  46. package/dist/commands/measure/cli.js.map +0 -1
  47. package/dist/commands/measure/measure.d.ts +0 -18
  48. package/dist/commands/measure/measure.js +0 -171
  49. package/dist/commands/measure/measure.js.map +0 -1
  50. package/dist/commands/pe-symbols/breakpad.d.ts +0 -2
  51. package/dist/commands/pe-symbols/breakpad.js +0 -159
  52. package/dist/commands/pe-symbols/breakpad.js.map +0 -1
  53. package/dist/commands/pe-symbols/cli.d.ts +0 -2
  54. package/dist/commands/pe-symbols/cli.js +0 -6
  55. package/dist/commands/pe-symbols/cli.js.map +0 -1
  56. package/dist/commands/pe-symbols/helpers.d.ts +0 -4
  57. package/dist/commands/pe-symbols/helpers.js +0 -30
  58. package/dist/commands/pe-symbols/helpers.js.map +0 -1
  59. package/dist/commands/pe-symbols/interfaces.d.ts +0 -17
  60. package/dist/commands/pe-symbols/interfaces.js +0 -7
  61. package/dist/commands/pe-symbols/interfaces.js.map +0 -1
  62. package/dist/commands/pe-symbols/pe-constants.d.ts +0 -51
  63. package/dist/commands/pe-symbols/pe-constants.js +0 -160
  64. package/dist/commands/pe-symbols/pe-constants.js.map +0 -1
  65. package/dist/commands/pe-symbols/pe.d.ts +0 -40
  66. package/dist/commands/pe-symbols/pe.js +0 -249
  67. package/dist/commands/pe-symbols/pe.js.map +0 -1
  68. package/dist/commands/pe-symbols/renderer.d.ts +0 -19
  69. package/dist/commands/pe-symbols/renderer.js +0 -87
  70. package/dist/commands/pe-symbols/renderer.js.map +0 -1
  71. package/dist/commands/pe-symbols/upload.d.ts +0 -34
  72. package/dist/commands/pe-symbols/upload.js +0 -457
  73. package/dist/commands/pe-symbols/upload.js.map +0 -1
  74. package/dist/commands/react-native/cli.d.ts +0 -5
  75. package/dist/commands/react-native/cli.js +0 -14
  76. package/dist/commands/react-native/cli.js.map +0 -1
  77. package/dist/commands/react-native/codepush.d.ts +0 -29
  78. package/dist/commands/react-native/codepush.js +0 -176
  79. package/dist/commands/react-native/codepush.js.map +0 -1
  80. package/dist/commands/react-native/errors.d.ts +0 -9
  81. package/dist/commands/react-native/errors.js +0 -34
  82. package/dist/commands/react-native/errors.js.map +0 -1
  83. package/dist/commands/react-native/injectDebugId.d.ts +0 -42
  84. package/dist/commands/react-native/injectDebugId.js +0 -252
  85. package/dist/commands/react-native/injectDebugId.js.map +0 -1
  86. package/dist/commands/react-native/interfaces.d.ts +0 -20
  87. package/dist/commands/react-native/interfaces.js +0 -93
  88. package/dist/commands/react-native/interfaces.js.map +0 -1
  89. package/dist/commands/react-native/renderer.d.ts +0 -20
  90. package/dist/commands/react-native/renderer.js +0 -111
  91. package/dist/commands/react-native/renderer.js.map +0 -1
  92. package/dist/commands/react-native/upload.d.ts +0 -30
  93. package/dist/commands/react-native/upload.js +0 -317
  94. package/dist/commands/react-native/upload.js.map +0 -1
  95. package/dist/commands/react-native/utils.d.ts +0 -4
  96. package/dist/commands/react-native/utils.js +0 -35
  97. package/dist/commands/react-native/utils.js.map +0 -1
  98. package/dist/commands/react-native/validation.d.ts +0 -6
  99. package/dist/commands/react-native/validation.js +0 -24
  100. package/dist/commands/react-native/validation.js.map +0 -1
  101. package/dist/commands/react-native/xcode.d.ts +0 -58
  102. package/dist/commands/react-native/xcode.js +0 -561
  103. package/dist/commands/react-native/xcode.js.map +0 -1
  104. package/dist/commands/sourcemaps/cli.d.ts +0 -2
  105. package/dist/commands/sourcemaps/cli.js +0 -6
  106. package/dist/commands/sourcemaps/cli.js.map +0 -1
  107. package/dist/commands/sourcemaps/interfaces.d.ts +0 -18
  108. package/dist/commands/sourcemaps/interfaces.js +0 -59
  109. package/dist/commands/sourcemaps/interfaces.js.map +0 -1
  110. package/dist/commands/sourcemaps/renderer.d.ts +0 -13
  111. package/dist/commands/sourcemaps/renderer.js +0 -93
  112. package/dist/commands/sourcemaps/renderer.js.map +0 -1
  113. package/dist/commands/sourcemaps/upload.d.ts +0 -29
  114. package/dist/commands/sourcemaps/upload.js +0 -342
  115. package/dist/commands/sourcemaps/upload.js.map +0 -1
  116. package/dist/commands/sourcemaps/utils.d.ts +0 -3
  117. package/dist/commands/sourcemaps/utils.js +0 -73
  118. package/dist/commands/sourcemaps/utils.js.map +0 -1
  119. package/dist/commands/sourcemaps/validation.d.ts +0 -7
  120. package/dist/commands/sourcemaps/validation.js +0 -41
  121. package/dist/commands/sourcemaps/validation.js.map +0 -1
  122. package/dist/commands/span/cli.d.ts +0 -2
  123. package/dist/commands/span/cli.js +0 -6
  124. package/dist/commands/span/cli.js.map +0 -1
  125. package/dist/commands/span/span.d.ts +0 -10
  126. package/dist/commands/span/span.js +0 -112
  127. package/dist/commands/span/span.js.map +0 -1
  128. package/dist/commands/trace/api.d.ts +0 -6
  129. package/dist/commands/trace/api.js +0 -38
  130. package/dist/commands/trace/api.js.map +0 -1
  131. package/dist/commands/trace/cli.d.ts +0 -2
  132. package/dist/commands/trace/cli.js +0 -6
  133. package/dist/commands/trace/cli.js.map +0 -1
  134. package/dist/commands/trace/helper.d.ts +0 -16
  135. package/dist/commands/trace/helper.js +0 -125
  136. package/dist/commands/trace/helper.js.map +0 -1
  137. package/dist/commands/trace/interfaces.d.ts +0 -18
  138. package/dist/commands/trace/interfaces.js +0 -14
  139. package/dist/commands/trace/interfaces.js.map +0 -1
  140. package/dist/commands/trace/test-utils.d.ts +0 -4
  141. package/dist/commands/trace/test-utils.js +0 -156
  142. package/dist/commands/trace/test-utils.js.map +0 -1
  143. package/dist/commands/trace/trace.d.ts +0 -10
  144. package/dist/commands/trace/trace.js +0 -110
  145. package/dist/commands/trace/trace.js.map +0 -1
  146. package/dist/commands/unity-symbols/cli.d.ts +0 -2
  147. package/dist/commands/unity-symbols/cli.js +0 -6
  148. package/dist/commands/unity-symbols/cli.js.map +0 -1
  149. package/dist/commands/unity-symbols/helpers.d.ts +0 -4
  150. package/dist/commands/unity-symbols/helpers.js +0 -29
  151. package/dist/commands/unity-symbols/helpers.js.map +0 -1
  152. package/dist/commands/unity-symbols/interfaces.d.ts +0 -14
  153. package/dist/commands/unity-symbols/interfaces.js +0 -9
  154. package/dist/commands/unity-symbols/interfaces.js.map +0 -1
  155. package/dist/commands/unity-symbols/renderer.d.ts +0 -19
  156. package/dist/commands/unity-symbols/renderer.js +0 -88
  157. package/dist/commands/unity-symbols/renderer.js.map +0 -1
  158. package/dist/commands/unity-symbols/upload.d.ts +0 -32
  159. package/dist/commands/unity-symbols/upload.js +0 -392
  160. package/dist/commands/unity-symbols/upload.js.map +0 -1
  161. package/dist/commands/version/cli.d.ts +0 -8
  162. package/dist/commands/version/cli.js +0 -31
  163. package/dist/commands/version/cli.js.map +0 -1
@@ -1,73 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.extractRepeatedPath = exports.getMinifiedFilePath = exports.readLastLine = void 0;
16
- const promises_1 = require("fs/promises");
17
- const upath_1 = __importDefault(require("upath"));
18
- // Reads the last non-empty line from a file using a buffer from the end
19
- const readLastLine = (filePath) => __awaiter(void 0, void 0, void 0, function* () {
20
- let fh;
21
- let lastLine = '';
22
- try {
23
- fh = yield (0, promises_1.open)(filePath, 'r');
24
- const stats = yield fh.stat();
25
- const fileSize = stats.size;
26
- // Read up to 1KB from the end (should be enough for sourceMappingURL comment)
27
- const bufferSize = Math.min(1024, fileSize);
28
- const buffer = Buffer.alloc(bufferSize);
29
- const position = Math.max(0, fileSize - bufferSize);
30
- yield fh.read(buffer, 0, bufferSize, position);
31
- const tailContent = buffer.toString('utf-8');
32
- // Get the last non-empty line (handle multiple trailing newlines)
33
- // note: windows uses \r\n as line separator while unix uses \n
34
- const lines = tailContent.split(/\r?\n/);
35
- for (const line of lines.reverse()) {
36
- if (line.trim().length !== 0) {
37
- lastLine = line;
38
- break;
39
- }
40
- }
41
- }
42
- finally {
43
- if (fh !== undefined) {
44
- yield fh.close();
45
- }
46
- }
47
- return lastLine;
48
- });
49
- exports.readLastLine = readLastLine;
50
- const getMinifiedFilePath = (sourcemapPath) => {
51
- if (upath_1.default.extname(sourcemapPath) !== '.map') {
52
- throw Error('cannot get minified file path from a file which is not a sourcemap');
53
- }
54
- return sourcemapPath.replace(new RegExp('\\.map$'), '');
55
- };
56
- exports.getMinifiedFilePath = getMinifiedFilePath;
57
- // ExtractRepeatedPath checks if the last part of paths of the first arg are repeated at the start of the second arg.
58
- const extractRepeatedPath = (path1, path2) => {
59
- const splitOnSlashes = new RegExp(/[/]+|[\\]+/);
60
- const trimSlashes = new RegExp(/^[/]+|^[\\]+|[/]+$|[\\]+$/);
61
- const path1split = path1.trim().replace(trimSlashes, '').split(splitOnSlashes);
62
- const path2split = path2.trim().replace(trimSlashes, '').split(splitOnSlashes);
63
- const normalizedpath2 = path2split.join('/');
64
- for (let i = path1split.length; i > 0; i--) {
65
- const path1subset = path1split.slice(-i).join('/');
66
- if (normalizedpath2.startsWith(path1subset)) {
67
- return path1subset;
68
- }
69
- }
70
- return undefined;
71
- };
72
- exports.extractRepeatedPath = extractRepeatedPath;
73
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/sourcemaps/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Writable } from 'stream';
2
- import { Sourcemap } from './interfaces';
3
- export declare class InvalidPayload extends Error {
4
- reason: string;
5
- constructor(reason: string, message?: string);
6
- }
7
- export declare const validatePayload: (sourcemap: Sourcemap, stdout: Writable) => void;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validatePayload = exports.InvalidPayload = void 0;
4
- const validation_1 = require("@datadog/datadog-ci-base/helpers/validation");
5
- const renderer_1 = require("./renderer");
6
- const utils_1 = require("./utils");
7
- class InvalidPayload extends Error {
8
- constructor(reason, message) {
9
- super(message);
10
- this.reason = reason;
11
- }
12
- }
13
- exports.InvalidPayload = InvalidPayload;
14
- const validatePayload = (sourcemap, stdout) => {
15
- // Check existence of sourcemap file
16
- const sourcemapCheck = (0, validation_1.checkFile)(sourcemap.sourcemapPath);
17
- if (!sourcemapCheck.exists) {
18
- // This case should not happen as all collected sourcemaps should point to correct files
19
- throw new InvalidPayload('missing_sourcemap', `Skipping missing sourcemap (${sourcemap.sourcemapPath})`);
20
- }
21
- if (sourcemapCheck.empty) {
22
- throw new InvalidPayload('empty_sourcemap', `Skipping empty sourcemap (${sourcemap.sourcemapPath})`);
23
- }
24
- // Check existence of minified file
25
- const minifiedFileCheck = (0, validation_1.checkFile)(sourcemap.minifiedFilePath);
26
- if (!minifiedFileCheck.exists) {
27
- throw new InvalidPayload('missing_js', `Missing corresponding JS file for sourcemap (${sourcemap.minifiedFilePath})`);
28
- }
29
- if (minifiedFileCheck.empty) {
30
- throw new InvalidPayload('empty_js', `Skipping sourcemap (${sourcemap.sourcemapPath}) due to ${sourcemap.minifiedFilePath} being empty`);
31
- }
32
- // Check for --minified-path-prefix flag misuages.
33
- if (sourcemap.minifiedPathPrefix) {
34
- const repeated = (0, utils_1.extractRepeatedPath)(sourcemap.minifiedPathPrefix, sourcemap.relativePath);
35
- if (repeated) {
36
- stdout.write((0, renderer_1.renderMinifiedPathPrefixMisusage)(sourcemap, repeated));
37
- }
38
- }
39
- };
40
- exports.validatePayload = validatePayload;
41
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/sourcemaps/validation.ts"],"names":[],"mappings":";;;AAEA,4EAAqE;AAGrE,yCAA2D;AAC3D,mCAA2C;AAE3C,MAAa,cAAe,SAAQ,KAAK;IAGvC,YAAY,MAAc,EAAE,OAAgB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAPD,wCAOC;AAEM,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,MAAgB,EAAE,EAAE;IACxE,oCAAoC;IACpC,MAAM,cAAc,GAAG,IAAA,sBAAS,EAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IACzD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QAC1B,wFAAwF;QACxF,MAAM,IAAI,cAAc,CAAC,mBAAmB,EAAE,+BAA+B,SAAS,CAAC,aAAa,GAAG,CAAC,CAAA;KACzG;IACD,IAAI,cAAc,CAAC,KAAK,EAAE;QACxB,MAAM,IAAI,cAAc,CAAC,iBAAiB,EAAE,6BAA6B,SAAS,CAAC,aAAa,GAAG,CAAC,CAAA;KACrG;IACD,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,IAAA,sBAAS,EAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC/D,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;QAC7B,MAAM,IAAI,cAAc,CACtB,YAAY,EACZ,gDAAgD,SAAS,CAAC,gBAAgB,GAAG,CAC9E,CAAA;KACF;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE;QAC3B,MAAM,IAAI,cAAc,CACtB,UAAU,EACV,uBAAuB,SAAS,CAAC,aAAa,YAAY,SAAS,CAAC,gBAAgB,cAAc,CACnG,CAAA;KACF;IAED,kDAAkD;IAClD,IAAI,SAAS,CAAC,kBAAkB,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;QAC1F,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,IAAA,2CAAgC,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;SACpE;KACF;AACH,CAAC,CAAA;AAhCY,QAAA,eAAe,mBAgC3B"}
@@ -1,2 +0,0 @@
1
- import { SpanCommand } from './span';
2
- export declare const commands: (typeof SpanCommand)[];
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commands = void 0;
4
- const span_1 = require("./span");
5
- exports.commands = [span_1.SpanCommand];
6
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/span/cli.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAErB,QAAA,QAAQ,GAAG,CAAC,kBAAW,CAAC,CAAA"}
@@ -1,10 +0,0 @@
1
- import { CustomSpanCommand } from '../trace/helper';
2
- export declare class SpanCommand extends CustomSpanCommand {
3
- static paths: string[][];
4
- static usage: import("clipanion").Usage;
5
- private name;
6
- private durationInMs;
7
- private startTimeInMs;
8
- private endTimeInMs;
9
- execute(): Promise<number>;
10
- }
@@ -1,112 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.SpanCommand = void 0;
36
- const validation = __importStar(require("@datadog/datadog-ci-base/helpers/validation"));
37
- const clipanion_1 = require("clipanion");
38
- const helper_1 = require("../trace/helper");
39
- class SpanCommand extends helper_1.CustomSpanCommand {
40
- constructor() {
41
- super(...arguments);
42
- this.name = clipanion_1.Option.String('--name');
43
- this.durationInMs = clipanion_1.Option.String('--duration', {
44
- validator: validation.isInteger(),
45
- });
46
- this.startTimeInMs = clipanion_1.Option.String('--start-time', {
47
- validator: validation.isInteger(),
48
- });
49
- this.endTimeInMs = clipanion_1.Option.String('--end-time', {
50
- validator: validation.isInteger(),
51
- });
52
- }
53
- execute() {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- this.tryEnableFips();
56
- if (!this.name) {
57
- this.context.stdout.write(`The span name must be provided.\n`);
58
- return 1;
59
- }
60
- if ((this.startTimeInMs && !this.endTimeInMs) ||
61
- (!this.startTimeInMs && this.endTimeInMs) ||
62
- (this.durationInMs && (this.startTimeInMs || this.endTimeInMs))) {
63
- this.context.stdout.write(`Either duration or start and end time must be provided.\n`);
64
- return 1;
65
- }
66
- if (this.startTimeInMs && this.endTimeInMs) {
67
- this.durationInMs = this.endTimeInMs - this.startTimeInMs;
68
- }
69
- if (!this.durationInMs) {
70
- this.context.stdout.write(`The span duration must be provided or start-time and end-time.\n`);
71
- return 1;
72
- }
73
- if (this.durationInMs < 0) {
74
- this.context.stdout.write(`The span duration must be positive / end time must be after start time.\n`);
75
- return 1;
76
- }
77
- const endTime = this.endTimeInMs ? new Date(this.endTimeInMs) : new Date();
78
- const startTime = new Date(endTime.getTime() - this.durationInMs);
79
- return this.executeReportCustomSpan(this.generateSpanId(), startTime, endTime, {
80
- name: this.name,
81
- error_message: '',
82
- exit_code: 0,
83
- command: 'datadog-ci trace span',
84
- });
85
- });
86
- }
87
- }
88
- exports.SpanCommand = SpanCommand;
89
- SpanCommand.paths = [['trace', 'span']];
90
- SpanCommand.usage = clipanion_1.Command.Usage({
91
- category: 'CI Visibility',
92
- description: 'Report a custom span to Datadog with name, start / end time or duration, tags and measures.',
93
- details: `
94
- This command reports a span with custom name and custom duration to Datadog.\n
95
- See README for details.
96
- `,
97
- examples: [
98
- [
99
- 'Create span with name "Get Dependencies" and duration of 10s and report to Datadog',
100
- 'datadog-ci trace span --name "Get Dependencies" --duration 10000',
101
- ],
102
- [
103
- 'Create span with name "Build" and duration of 10s using timestamps and report to Datadog',
104
- 'datadog-ci trace span --name "Build" --start-time 1744357891967 --end-time 1744357901967',
105
- ],
106
- [
107
- 'Create span with name "Get Dependencies" and duration of 10s and report to Datadog with tags and measures',
108
- 'datadog-ci trace span --name "Get Dependencies" --duration 10000 --tags "dependency-set:notify" --measures "n-dependencies:42"',
109
- ],
110
- ],
111
- });
112
- //# sourceMappingURL=span.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"span.js","sourceRoot":"","sources":["../../../src/commands/span/span.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios';
2
- import { Payload } from './interfaces';
3
- export declare const reportCustomSpan: (request: (args: AxiosRequestConfig) => AxiosPromise<AxiosResponse>) => (customSpan: Payload) => Promise<AxiosResponse<AxiosResponse<any, any, {}>, any, {}>>;
4
- export declare const apiConstructor: (baseUrl: string, apiKey: string) => {
5
- reportCustomSpan: (customSpan: Payload) => Promise<AxiosResponse<AxiosResponse<any, any, {}>, any, {}>>;
6
- };
@@ -1,38 +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.apiConstructor = exports.reportCustomSpan = void 0;
13
- const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
14
- // Dependency follows-redirects sets a default maxBodyLength of 10 MB https://github.com/follow-redirects/follow-redirects/blob/b774a77e582b97174813b3eaeb86931becba69db/index.js#L391
15
- // We don't want any hard limit enforced by the CLI, the backend will enforce a max size by returning 413 errors.
16
- const maxBodyLength = Infinity;
17
- const reportCustomSpan = (request) => (customSpan) => __awaiter(void 0, void 0, void 0, function* () {
18
- return request({
19
- data: {
20
- data: {
21
- type: 'ci_app_custom_span',
22
- attributes: customSpan,
23
- },
24
- },
25
- maxBodyLength,
26
- method: 'POST',
27
- url: '/api/intake/ci/custom_spans',
28
- });
29
- });
30
- exports.reportCustomSpan = reportCustomSpan;
31
- const apiConstructor = (baseUrl, apiKey) => {
32
- const requestIntake = (0, utils_1.getRequestBuilder)({ baseUrl, apiKey });
33
- return {
34
- reportCustomSpan: (0, exports.reportCustomSpan)(requestIntake),
35
- };
36
- };
37
- exports.apiConstructor = apiConstructor;
38
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/trace/api.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kEAAwE;AAIxE,sLAAsL;AACtL,iHAAiH;AACjH,MAAM,aAAa,GAAG,QAAQ,CAAA;AAEvB,MAAM,gBAAgB,GAC3B,CAAC,OAAkE,EAAE,EAAE,CAAC,CAAO,UAAmB,EAAE,EAAE;IACpG,OAAO,OAAO,CAAC;QACb,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,UAAU;aACvB;SACF;QACD,aAAa;QACb,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,6BAA6B;KACnC,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAbU,QAAA,gBAAgB,oBAa1B;AAEI,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,MAAc,EAAE,EAAE;IAChE,MAAM,aAAa,GAAG,IAAA,yBAAiB,EAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAA;IAE1D,OAAO;QACL,gBAAgB,EAAE,IAAA,wBAAgB,EAAC,aAAa,CAAC;KAClD,CAAA;AACH,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B"}
@@ -1,2 +0,0 @@
1
- import { TraceCommand } from './trace';
2
- export declare const commands: (typeof TraceCommand)[];
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commands = void 0;
4
- const trace_1 = require("./trace");
5
- exports.commands = [trace_1.TraceCommand];
6
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/trace/cli.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEvB,QAAA,QAAQ,GAAG,CAAC,oBAAY,CAAC,CAAA"}
@@ -1,16 +0,0 @@
1
- import { BaseCommand } from '@datadog/datadog-ci-base';
2
- export declare abstract class CustomSpanCommand extends BaseCommand {
3
- private measures;
4
- private dryRun;
5
- private tags;
6
- private fips;
7
- private fipsIgnoreError;
8
- private config;
9
- protected generateSpanId(): string;
10
- protected tryEnableFips(): void;
11
- protected executeReportCustomSpan(id: string, startTime: Date, endTime: Date, extraTags: Record<string, any>): Promise<number>;
12
- private getApiHelper;
13
- private getBaseIntakeUrl;
14
- private reportCustomSpan;
15
- private handleError;
16
- }
@@ -1,125 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.CustomSpanCommand = void 0;
16
- const crypto_1 = __importDefault(require("crypto"));
17
- const datadog_ci_base_1 = require("@datadog/datadog-ci-base");
18
- const constants_1 = require("@datadog/datadog-ci-base/constants");
19
- const ci_1 = require("@datadog/datadog-ci-base/helpers/ci");
20
- const env_1 = require("@datadog/datadog-ci-base/helpers/env");
21
- const fips_1 = require("@datadog/datadog-ci-base/helpers/fips");
22
- const format_git_span_data_1 = require("@datadog/datadog-ci-base/helpers/git/format-git-span-data");
23
- const retry_1 = require("@datadog/datadog-ci-base/helpers/retry");
24
- const tags_1 = require("@datadog/datadog-ci-base/helpers/tags");
25
- const user_provided_git_1 = require("@datadog/datadog-ci-base/helpers/user-provided-git");
26
- const chalk_1 = __importDefault(require("chalk"));
27
- const clipanion_1 = require("clipanion");
28
- const api_1 = require("./api");
29
- const interfaces_1 = require("./interfaces");
30
- class CustomSpanCommand extends datadog_ci_base_1.BaseCommand {
31
- constructor() {
32
- var _a, _b;
33
- super(...arguments);
34
- this.measures = clipanion_1.Option.Array('--measures');
35
- this.dryRun = clipanion_1.Option.Boolean('--dry-run');
36
- this.tags = clipanion_1.Option.Array('--tags');
37
- this.fips = clipanion_1.Option.Boolean('--fips', false);
38
- this.fipsIgnoreError = clipanion_1.Option.Boolean('--fips-ignore-error', false);
39
- this.config = {
40
- apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
41
- envVarTags: process.env.DD_TAGS,
42
- fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
43
- fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
44
- };
45
- }
46
- generateSpanId() {
47
- return crypto_1.default.randomBytes(5).toString('hex');
48
- }
49
- tryEnableFips() {
50
- (0, fips_1.enableFips)(this.fips || this.config.fips, this.fipsIgnoreError || this.config.fipsIgnoreError);
51
- }
52
- executeReportCustomSpan(id, startTime, endTime, extraTags) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const provider = (0, ci_1.getCIProvider)();
55
- if (!interfaces_1.SUPPORTED_PROVIDERS.includes(provider)) {
56
- this.context.stdout.write(`Unsupported CI provider "${provider}". Supported providers are: ${interfaces_1.SUPPORTED_PROVIDERS.join(', ')}\n`);
57
- return 1;
58
- }
59
- const realGithubJobName = (0, ci_1.getGithubJobNameFromLogs)(this.context);
60
- const ciSpanTags = (0, ci_1.getCISpanTags)(realGithubJobName);
61
- const envVarTags = this.config.envVarTags ? (0, tags_1.parseTags)(this.config.envVarTags.split(',')) : {};
62
- const cliTags = this.tags ? (0, tags_1.parseTags)(this.tags) : {};
63
- const cliMeasures = this.measures ? (0, tags_1.parseTags)(this.measures) : {};
64
- const measures = Object.entries(cliMeasures).reduce((acc, [key, value]) => {
65
- const parsedValue = parseFloat(value);
66
- if (!isNaN(parsedValue)) {
67
- return Object.assign(Object.assign({}, acc), { [key]: parsedValue });
68
- }
69
- return acc;
70
- }, {});
71
- const gitSpanTags = yield (0, format_git_span_data_1.getGitMetadata)();
72
- const userGitSpanTags = (0, user_provided_git_1.getUserGitSpanTags)();
73
- yield this.reportCustomSpan({
74
- start_time: startTime.toISOString(),
75
- end_time: endTime.toISOString(),
76
- ci_provider: provider,
77
- span_id: id,
78
- tags: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, gitSpanTags), ciSpanTags), userGitSpanTags), cliTags), envVarTags),
79
- measures,
80
- command: extraTags.command,
81
- name: extraTags.name,
82
- error_message: extraTags.error_message,
83
- exit_code: extraTags.exit_code,
84
- });
85
- return 0;
86
- });
87
- }
88
- getApiHelper() {
89
- if (!this.config.apiKey) {
90
- this.context.stdout.write(`Neither ${chalk_1.default.red.bold('DATADOG_API_KEY')} nor ${chalk_1.default.red.bold('DD_API_KEY')} is in your environment.\n`);
91
- throw new Error('API key is missing');
92
- }
93
- return (0, api_1.apiConstructor)(this.getBaseIntakeUrl(), this.config.apiKey);
94
- }
95
- getBaseIntakeUrl() {
96
- const site = process.env.DATADOG_SITE || process.env.DD_SITE || 'datadoghq.com';
97
- return `https://api.${site}`;
98
- }
99
- reportCustomSpan(payload) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- if (this.dryRun) {
102
- this.context.stdout.write(`${chalk_1.default.green.bold('[DRY-RUN]')} Reporting custom span: ${JSON.stringify(payload)}\n`);
103
- return;
104
- }
105
- const api = this.getApiHelper();
106
- try {
107
- yield (0, retry_1.retryRequest)(() => api.reportCustomSpan(payload), {
108
- onRetry: (e, attempt) => {
109
- this.context.stderr.write(chalk_1.default.yellow(`[attempt ${attempt}] Could not report custom span. Retrying...: ${e.message}\n`));
110
- },
111
- retries: 5,
112
- });
113
- }
114
- catch (error) {
115
- this.handleError(error);
116
- }
117
- });
118
- }
119
- handleError(error) {
120
- this.context.stderr.write(`${chalk_1.default.red.bold('[ERROR]')} Failed to report custom span: ` +
121
- `${error.response ? JSON.stringify(error.response.data, undefined, 2) : ''}\n`);
122
- }
123
- }
124
- exports.CustomSpanCommand = CustomSpanCommand;
125
- //# sourceMappingURL=helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/commands/trace/helper.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { AxiosPromise, AxiosResponse } from 'axios';
2
- export declare const SUPPORTED_PROVIDERS: readonly [string, string, string, string, string, string, string];
3
- export type Provider = (typeof SUPPORTED_PROVIDERS)[number];
4
- export interface Payload {
5
- ci_provider: string;
6
- span_id: string;
7
- command: string;
8
- name: string;
9
- start_time: string;
10
- end_time: string;
11
- error_message: string;
12
- exit_code: number;
13
- tags: Partial<Record<string, string>>;
14
- measures: Partial<Record<string, number>>;
15
- }
16
- export interface APIHelper {
17
- reportCustomSpan(customSpan: Payload): AxiosPromise<AxiosResponse>;
18
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_PROVIDERS = void 0;
4
- const ci_1 = require("@datadog/datadog-ci-base/helpers/ci");
5
- exports.SUPPORTED_PROVIDERS = [
6
- ci_1.CI_ENGINES.GITHUB,
7
- ci_1.CI_ENGINES.GITLAB,
8
- ci_1.CI_ENGINES.JENKINS,
9
- ci_1.CI_ENGINES.CIRCLECI,
10
- ci_1.CI_ENGINES.AWSCODEPIPELINE,
11
- ci_1.CI_ENGINES.AZURE,
12
- ci_1.CI_ENGINES.BUILDKITE,
13
- ];
14
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/trace/interfaces.ts"],"names":[],"mappings":";;;AAEA,4DAA8D;AAEjD,QAAA,mBAAmB,GAAG;IACjC,eAAU,CAAC,MAAM;IACjB,eAAU,CAAC,MAAM;IACjB,eAAU,CAAC,OAAO;IAClB,eAAU,CAAC,QAAQ;IACnB,eAAU,CAAC,eAAe;IAC1B,eAAU,CAAC,KAAK;IAChB,eAAU,CAAC,SAAS;CACZ,CAAA"}
@@ -1,4 +0,0 @@
1
- import { makeRunCLI } from '@datadog/datadog-ci-base/helpers/__tests__/testing-tools';
2
- type RunCLIType = ReturnType<typeof makeRunCLI>;
3
- export declare const makeCIProviderTests: (runCLI: RunCLIType, runCLIArgs: string[]) => void;
4
- export {};