@datadog/datadog-ci 2.48.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/README.md +9 -2
  2. package/dist/__tests__/cli.test.d.ts +1 -0
  3. package/dist/__tests__/cli.test.js +92 -0
  4. package/dist/__tests__/cli.test.js.map +1 -0
  5. package/dist/cli.js +1 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/cloud-run/__tests__/fixtures.d.ts +2 -0
  8. package/dist/commands/cloud-run/__tests__/fixtures.js +12 -0
  9. package/dist/commands/cloud-run/__tests__/fixtures.js.map +1 -0
  10. package/dist/commands/cloud-run/__tests__/flare.test.d.ts +1 -0
  11. package/dist/commands/cloud-run/__tests__/flare.test.js +557 -0
  12. package/dist/commands/cloud-run/__tests__/flare.test.js.map +1 -0
  13. package/dist/commands/coverage/__tests__/upload.test.d.ts +1 -0
  14. package/dist/commands/coverage/__tests__/upload.test.js +323 -0
  15. package/dist/commands/coverage/__tests__/upload.test.js.map +1 -0
  16. package/dist/commands/coverage/__tests__/utils.test.d.ts +1 -0
  17. package/dist/commands/coverage/__tests__/utils.test.js +57 -0
  18. package/dist/commands/coverage/__tests__/utils.test.js.map +1 -0
  19. package/dist/commands/coverage/api.d.ts +9 -0
  20. package/dist/commands/coverage/api.js +52 -0
  21. package/dist/commands/coverage/api.js.map +1 -0
  22. package/dist/commands/coverage/cli.d.ts +1 -0
  23. package/dist/commands/coverage/cli.js +5 -0
  24. package/dist/commands/coverage/cli.js.map +1 -0
  25. package/dist/commands/coverage/interfaces.d.ts +13 -0
  26. package/dist/commands/coverage/interfaces.js +3 -0
  27. package/dist/commands/coverage/interfaces.js.map +1 -0
  28. package/dist/commands/coverage/renderer.d.ts +12 -0
  29. package/dist/commands/coverage/renderer.js +83 -0
  30. package/dist/commands/coverage/renderer.js.map +1 -0
  31. package/dist/commands/coverage/upload.d.ts +27 -0
  32. package/dist/commands/coverage/upload.js +329 -0
  33. package/dist/commands/coverage/upload.js.map +1 -0
  34. package/dist/commands/coverage/utils.d.ts +3 -0
  35. package/dist/commands/coverage/utils.js +83 -0
  36. package/dist/commands/coverage/utils.js.map +1 -0
  37. package/dist/commands/deployment/__tests__/correlate.test.d.ts +1 -0
  38. package/dist/commands/deployment/__tests__/correlate.test.js +106 -0
  39. package/dist/commands/deployment/__tests__/correlate.test.js.map +1 -0
  40. package/dist/commands/deployment/__tests__/mark.test.d.ts +1 -0
  41. package/dist/commands/deployment/__tests__/mark.test.js +97 -0
  42. package/dist/commands/deployment/__tests__/mark.test.js.map +1 -0
  43. package/dist/commands/dora/__tests__/deployment.test.d.ts +1 -0
  44. package/dist/commands/dora/__tests__/deployment.test.js +201 -0
  45. package/dist/commands/dora/__tests__/deployment.test.js.map +1 -0
  46. package/dist/commands/dsyms/__tests__/upload.test.d.ts +1 -0
  47. package/dist/commands/dsyms/__tests__/upload.test.js +346 -0
  48. package/dist/commands/dsyms/__tests__/upload.test.js.map +1 -0
  49. package/dist/commands/dsyms/__tests__/utils.test.d.ts +1 -0
  50. package/dist/commands/dsyms/__tests__/utils.test.js +100 -0
  51. package/dist/commands/dsyms/__tests__/utils.test.js.map +1 -0
  52. package/dist/commands/dsyms/upload.js +3 -3
  53. package/dist/commands/dsyms/upload.js.map +1 -1
  54. package/dist/commands/dsyms/utils.js +7 -6
  55. package/dist/commands/dsyms/utils.js.map +1 -1
  56. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +1 -0
  57. package/dist/commands/elf-symbols/__tests__/elf.test.js +819 -0
  58. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +1 -0
  59. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +1 -0
  60. package/dist/commands/elf-symbols/__tests__/upload.test.js +224 -0
  61. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +1 -0
  62. package/dist/commands/elf-symbols/elf.d.ts +1 -0
  63. package/dist/commands/elf-symbols/upload.js +2 -3
  64. package/dist/commands/elf-symbols/upload.js.map +1 -1
  65. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +1 -0
  66. package/dist/commands/flutter-symbols/__tests__/upload.test.js +617 -0
  67. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +1 -0
  68. package/dist/commands/flutter-symbols/upload.js +2 -2
  69. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  70. package/dist/commands/gate/__tests__/evaluate.test.d.ts +1 -0
  71. package/dist/commands/gate/__tests__/evaluate.test.js +398 -0
  72. package/dist/commands/gate/__tests__/evaluate.test.js.map +1 -0
  73. package/dist/commands/gate/__tests__/scope.test.d.ts +1 -0
  74. package/dist/commands/gate/__tests__/scope.test.js +29 -0
  75. package/dist/commands/gate/__tests__/scope.test.js.map +1 -0
  76. package/dist/commands/git-metadata/__tests__/git.test.d.ts +1 -0
  77. package/dist/commands/git-metadata/__tests__/git.test.js +132 -0
  78. package/dist/commands/git-metadata/__tests__/git.test.js.map +1 -0
  79. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +1 -0
  80. package/dist/commands/git-metadata/__tests__/gitdb.test.js +1386 -0
  81. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +1 -0
  82. package/dist/commands/git-metadata/__tests__/library.test.d.ts +1 -0
  83. package/dist/commands/git-metadata/__tests__/library.test.js +118 -0
  84. package/dist/commands/git-metadata/__tests__/library.test.js.map +1 -0
  85. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +1 -0
  86. package/dist/commands/git-metadata/__tests__/upload.test.js +52 -0
  87. package/dist/commands/git-metadata/__tests__/upload.test.js.map +1 -0
  88. package/dist/commands/git-metadata/upload.d.ts +0 -1
  89. package/dist/commands/git-metadata/upload.js +0 -6
  90. package/dist/commands/git-metadata/upload.js.map +1 -1
  91. package/dist/commands/junit/__tests__/upload.test.d.ts +1 -0
  92. package/dist/commands/junit/__tests__/upload.test.js +446 -0
  93. package/dist/commands/junit/__tests__/upload.test.js.map +1 -0
  94. package/dist/commands/junit/renderer.d.ts +0 -1
  95. package/dist/commands/junit/renderer.js +1 -5
  96. package/dist/commands/junit/renderer.js.map +1 -1
  97. package/dist/commands/junit/upload.d.ts +0 -2
  98. package/dist/commands/junit/upload.js +8 -21
  99. package/dist/commands/junit/upload.js.map +1 -1
  100. package/dist/commands/lambda/__tests__/fixtures.d.ts +51 -0
  101. package/dist/commands/lambda/__tests__/fixtures.js +146 -0
  102. package/dist/commands/lambda/__tests__/fixtures.js.map +1 -0
  103. package/dist/commands/lambda/__tests__/flare.test.d.ts +1 -0
  104. package/dist/commands/lambda/__tests__/flare.test.js +730 -0
  105. package/dist/commands/lambda/__tests__/flare.test.js.map +1 -0
  106. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +1 -0
  107. package/dist/commands/lambda/__tests__/functions/commons.test.js +791 -0
  108. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +1 -0
  109. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +1 -0
  110. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +386 -0
  111. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +1 -0
  112. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +1 -0
  113. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +721 -0
  114. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +1 -0
  115. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +1 -0
  116. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +513 -0
  117. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +1 -0
  118. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +1 -0
  119. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +33 -0
  120. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +1 -0
  121. package/dist/commands/lambda/__tests__/instrument.test.d.ts +1 -0
  122. package/dist/commands/lambda/__tests__/instrument.test.js +1537 -0
  123. package/dist/commands/lambda/__tests__/instrument.test.js.map +1 -0
  124. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +1 -0
  125. package/dist/commands/lambda/__tests__/loggroup.test.js +340 -0
  126. package/dist/commands/lambda/__tests__/loggroup.test.js.map +1 -0
  127. package/dist/commands/lambda/__tests__/prompt.test.d.ts +1 -0
  128. package/dist/commands/lambda/__tests__/prompt.test.js +206 -0
  129. package/dist/commands/lambda/__tests__/prompt.test.js.map +1 -0
  130. package/dist/commands/lambda/__tests__/tags.test.d.ts +1 -0
  131. package/dist/commands/lambda/__tests__/tags.test.js +305 -0
  132. package/dist/commands/lambda/__tests__/tags.test.js.map +1 -0
  133. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +1 -0
  134. package/dist/commands/lambda/__tests__/uninstrument.test.js +722 -0
  135. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +1 -0
  136. package/dist/commands/lambda/constants.d.ts +2 -0
  137. package/dist/commands/lambda/constants.js +4 -0
  138. package/dist/commands/lambda/constants.js.map +1 -1
  139. package/dist/commands/lambda/functions/commons.d.ts +1 -1
  140. package/dist/commands/measure/__tests__/measure.test.d.ts +1 -0
  141. package/dist/commands/measure/__tests__/measure.test.js +102 -0
  142. package/dist/commands/measure/__tests__/measure.test.js.map +1 -0
  143. package/dist/commands/measure/measure.d.ts +0 -1
  144. package/dist/commands/measure/measure.js +2 -9
  145. package/dist/commands/measure/measure.js.map +1 -1
  146. package/dist/commands/react-native/__tests__/codepush.test.d.ts +1 -0
  147. package/dist/commands/react-native/__tests__/codepush.test.js +161 -0
  148. package/dist/commands/react-native/__tests__/codepush.test.js.map +1 -0
  149. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +1 -0
  150. package/dist/commands/react-native/__tests__/interfaces.test.js +33 -0
  151. package/dist/commands/react-native/__tests__/interfaces.test.js.map +1 -0
  152. package/dist/commands/react-native/__tests__/upload.test.d.ts +1 -0
  153. package/dist/commands/react-native/__tests__/upload.test.js +238 -0
  154. package/dist/commands/react-native/__tests__/upload.test.js.map +1 -0
  155. package/dist/commands/react-native/__tests__/utils.test.d.ts +1 -0
  156. package/dist/commands/react-native/__tests__/utils.test.js +27 -0
  157. package/dist/commands/react-native/__tests__/utils.test.js.map +1 -0
  158. package/dist/commands/react-native/__tests__/xcode.test.d.ts +1 -0
  159. package/dist/commands/react-native/__tests__/xcode.test.js +465 -0
  160. package/dist/commands/react-native/__tests__/xcode.test.js.map +1 -0
  161. package/dist/commands/sarif/__tests__/upload.test.d.ts +1 -0
  162. package/dist/commands/sarif/__tests__/upload.test.js +218 -0
  163. package/dist/commands/sarif/__tests__/upload.test.js.map +1 -0
  164. package/dist/commands/sarif/__tests__/validation.test.d.ts +1 -0
  165. package/dist/commands/sarif/__tests__/validation.test.js +19 -0
  166. package/dist/commands/sarif/__tests__/validation.test.js.map +1 -0
  167. package/dist/commands/sarif/api.js +1 -1
  168. package/dist/commands/sarif/api.js.map +1 -1
  169. package/dist/commands/sarif/interfaces.d.ts +0 -1
  170. package/dist/commands/sarif/renderer.d.ts +2 -2
  171. package/dist/commands/sarif/renderer.js +5 -5
  172. package/dist/commands/sarif/renderer.js.map +1 -1
  173. package/dist/commands/sarif/upload.d.ts +1 -1
  174. package/dist/commands/sarif/upload.js +15 -10
  175. package/dist/commands/sarif/upload.js.map +1 -1
  176. package/dist/commands/sbom/__tests__/payload.test.d.ts +1 -0
  177. package/dist/commands/sbom/__tests__/payload.test.js +306 -0
  178. package/dist/commands/sbom/__tests__/payload.test.js.map +1 -0
  179. package/dist/commands/sbom/__tests__/validation.test.d.ts +1 -0
  180. package/dist/commands/sbom/__tests__/validation.test.js +141 -0
  181. package/dist/commands/sbom/__tests__/validation.test.js.map +1 -0
  182. package/dist/commands/sbom/upload.d.ts +1 -1
  183. package/dist/commands/sbom/upload.js +9 -3
  184. package/dist/commands/sbom/upload.js.map +1 -1
  185. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +1 -0
  186. package/dist/commands/sourcemaps/__tests__/upload.test.js +270 -0
  187. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +1 -0
  188. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +1 -0
  189. package/dist/commands/sourcemaps/__tests__/utils.test.js +31 -0
  190. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +1 -0
  191. package/dist/commands/sourcemaps/upload.d.ts +1 -0
  192. package/dist/commands/sourcemaps/upload.js +6 -2
  193. package/dist/commands/sourcemaps/upload.js.map +1 -1
  194. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +1 -0
  195. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +210 -0
  196. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +1 -0
  197. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +6 -0
  198. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +45 -0
  199. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +1 -0
  200. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +5 -0
  201. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +19 -0
  202. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +1 -0
  203. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +1 -0
  204. package/dist/commands/stepfunctions/__tests__/helpers.test.js +501 -0
  205. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +1 -0
  206. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +1 -0
  207. package/dist/commands/stepfunctions/__tests__/instrument.test.js +431 -0
  208. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +1 -0
  209. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +1 -0
  210. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +166 -0
  211. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +1 -0
  212. package/dist/commands/synthetics/__tests__/api.test.d.ts +1 -0
  213. package/dist/commands/synthetics/__tests__/api.test.js +416 -0
  214. package/dist/commands/synthetics/__tests__/api.test.js.map +1 -0
  215. package/dist/commands/synthetics/__tests__/batch.test.d.ts +1 -0
  216. package/dist/commands/synthetics/__tests__/batch.test.js +906 -0
  217. package/dist/commands/synthetics/__tests__/batch.test.js.map +1 -0
  218. package/dist/commands/synthetics/__tests__/cli.test.d.ts +1 -0
  219. package/dist/commands/synthetics/__tests__/cli.test.js +1371 -0
  220. package/dist/commands/synthetics/__tests__/cli.test.js.map +1 -0
  221. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.d.ts +1 -0
  222. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.js +112 -0
  223. package/dist/commands/synthetics/__tests__/deploy-tests-lib.test.js.map +1 -0
  224. package/dist/commands/synthetics/__tests__/fixtures.d.ts +123 -0
  225. package/dist/commands/synthetics/__tests__/fixtures.js +493 -0
  226. package/dist/commands/synthetics/__tests__/fixtures.js.map +1 -0
  227. package/dist/commands/synthetics/__tests__/import-tests-lib.test.d.ts +1 -0
  228. package/dist/commands/synthetics/__tests__/import-tests-lib.test.js +186 -0
  229. package/dist/commands/synthetics/__tests__/import-tests-lib.test.js.map +1 -0
  230. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +1 -0
  231. package/dist/commands/synthetics/__tests__/mobile.test.js +376 -0
  232. package/dist/commands/synthetics/__tests__/mobile.test.js.map +1 -0
  233. package/dist/commands/synthetics/__tests__/multilocator.test.d.ts +1 -0
  234. package/dist/commands/synthetics/__tests__/multilocator.test.js +132 -0
  235. package/dist/commands/synthetics/__tests__/multilocator.test.js.map +1 -0
  236. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +1 -0
  237. package/dist/commands/synthetics/__tests__/reporters/default.test.js +410 -0
  238. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +1 -0
  239. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +1 -0
  240. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +354 -0
  241. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +1 -0
  242. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +1 -0
  243. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +232 -0
  244. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +1 -0
  245. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +1 -0
  246. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +698 -0
  247. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +1 -0
  248. package/dist/commands/synthetics/__tests__/test.test.d.ts +1 -0
  249. package/dist/commands/synthetics/__tests__/test.test.js +269 -0
  250. package/dist/commands/synthetics/__tests__/test.test.js.map +1 -0
  251. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +1 -0
  252. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +21 -0
  253. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +1 -0
  254. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +1 -0
  255. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +80 -0
  256. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +1 -0
  257. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +1 -0
  258. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +109 -0
  259. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +1 -0
  260. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +1 -0
  261. package/dist/commands/synthetics/__tests__/utils/internal.test.js +161 -0
  262. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +1 -0
  263. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +1 -0
  264. package/dist/commands/synthetics/__tests__/utils/public.test.js +575 -0
  265. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +1 -0
  266. package/dist/commands/synthetics/api.d.ts +4 -2
  267. package/dist/commands/synthetics/api.js +20 -1
  268. package/dist/commands/synthetics/api.js.map +1 -1
  269. package/dist/commands/synthetics/batch.d.ts +4 -2
  270. package/dist/commands/synthetics/batch.js +65 -7
  271. package/dist/commands/synthetics/batch.js.map +1 -1
  272. package/dist/commands/synthetics/cli.js +3 -1
  273. package/dist/commands/synthetics/cli.js.map +1 -1
  274. package/dist/commands/synthetics/deploy-tests-command.d.ts +22 -0
  275. package/dist/commands/synthetics/deploy-tests-command.js +150 -0
  276. package/dist/commands/synthetics/deploy-tests-command.js.map +1 -0
  277. package/dist/commands/synthetics/deploy-tests-lib.d.ts +2 -0
  278. package/dist/commands/synthetics/deploy-tests-lib.js +72 -0
  279. package/dist/commands/synthetics/deploy-tests-lib.js.map +1 -0
  280. package/dist/commands/synthetics/errors.d.ts +1 -1
  281. package/dist/commands/synthetics/errors.js +1 -0
  282. package/dist/commands/synthetics/errors.js.map +1 -1
  283. package/dist/commands/synthetics/import-tests-command.d.ts +22 -0
  284. package/dist/commands/synthetics/import-tests-command.js +142 -0
  285. package/dist/commands/synthetics/import-tests-command.js.map +1 -0
  286. package/dist/commands/synthetics/import-tests-lib.d.ts +2 -0
  287. package/dist/commands/synthetics/import-tests-lib.js +71 -0
  288. package/dist/commands/synthetics/import-tests-lib.js.map +1 -0
  289. package/dist/commands/synthetics/interfaces.d.ts +74 -28
  290. package/dist/commands/synthetics/interfaces.js.map +1 -1
  291. package/dist/commands/synthetics/local-test-definition.d.ts +2 -0
  292. package/dist/commands/synthetics/local-test-definition.js +16 -0
  293. package/dist/commands/synthetics/local-test-definition.js.map +1 -0
  294. package/dist/commands/synthetics/mobile.js +2 -2
  295. package/dist/commands/synthetics/mobile.js.map +1 -1
  296. package/dist/commands/synthetics/multilocator.d.ts +3 -0
  297. package/dist/commands/synthetics/multilocator.js +98 -0
  298. package/dist/commands/synthetics/multilocator.js.map +1 -0
  299. package/dist/commands/synthetics/reporters/junit.d.ts +1 -2
  300. package/dist/commands/synthetics/reporters/junit.js +5 -6
  301. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  302. package/dist/commands/synthetics/run-tests-command.d.ts +0 -9
  303. package/dist/commands/synthetics/run-tests-command.js +22 -64
  304. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  305. package/dist/commands/synthetics/run-tests-lib.js +24 -12
  306. package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
  307. package/dist/commands/synthetics/test.d.ts +10 -19
  308. package/dist/commands/synthetics/test.js +93 -13
  309. package/dist/commands/synthetics/test.js.map +1 -1
  310. package/dist/commands/synthetics/tunnel/tunnel.js +2 -2
  311. package/dist/commands/synthetics/tunnel/tunnel.js.map +1 -1
  312. package/dist/commands/synthetics/utils/internal.d.ts +3 -1
  313. package/dist/commands/synthetics/utils/internal.js +18 -8
  314. package/dist/commands/synthetics/utils/internal.js.map +1 -1
  315. package/dist/commands/synthetics/utils/public.d.ts +5 -26
  316. package/dist/commands/synthetics/utils/public.js +13 -248
  317. package/dist/commands/synthetics/utils/public.js.map +1 -1
  318. package/dist/commands/tag/__tests__/tag.test.d.ts +1 -0
  319. package/dist/commands/tag/__tests__/tag.test.js +85 -0
  320. package/dist/commands/tag/__tests__/tag.test.js.map +1 -0
  321. package/dist/commands/trace/__tests__/trace.test.d.ts +1 -0
  322. package/dist/commands/trace/__tests__/trace.test.js +145 -0
  323. package/dist/commands/trace/__tests__/trace.test.js.map +1 -0
  324. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +1 -0
  325. package/dist/commands/unity-symbols/__tests__/upload.test.js +369 -0
  326. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +1 -0
  327. package/dist/commands/unity-symbols/upload.js +2 -2
  328. package/dist/commands/unity-symbols/upload.js.map +1 -1
  329. package/dist/helpers/__tests__/app.test.d.ts +1 -0
  330. package/dist/helpers/__tests__/app.test.js +31 -0
  331. package/dist/helpers/__tests__/app.test.js.map +1 -0
  332. package/dist/helpers/__tests__/ci.test.d.ts +1 -0
  333. package/dist/helpers/__tests__/ci.test.js +295 -0
  334. package/dist/helpers/__tests__/ci.test.js.map +1 -0
  335. package/dist/helpers/__tests__/env.test.d.ts +1 -0
  336. package/dist/helpers/__tests__/env.test.js +74 -0
  337. package/dist/helpers/__tests__/env.test.js.map +1 -0
  338. package/dist/helpers/__tests__/fips.test.d.ts +1 -0
  339. package/dist/helpers/__tests__/fips.test.js +30 -0
  340. package/dist/helpers/__tests__/fips.test.js.map +1 -0
  341. package/dist/helpers/__tests__/fixtures.d.ts +41 -0
  342. package/dist/helpers/__tests__/fixtures.js +80 -0
  343. package/dist/helpers/__tests__/fixtures.js.map +1 -0
  344. package/dist/helpers/__tests__/flare.test.d.ts +1 -0
  345. package/dist/helpers/__tests__/flare.test.js +226 -0
  346. package/dist/helpers/__tests__/flare.test.js.map +1 -0
  347. package/dist/helpers/__tests__/fs.test.d.ts +1 -0
  348. package/dist/helpers/__tests__/fs.test.js +189 -0
  349. package/dist/helpers/__tests__/fs.test.js.map +1 -0
  350. package/dist/helpers/__tests__/id.test.d.ts +1 -0
  351. package/dist/helpers/__tests__/id.test.js +24 -0
  352. package/dist/helpers/__tests__/id.test.js.map +1 -0
  353. package/dist/helpers/__tests__/plist.test.d.ts +1 -0
  354. package/dist/helpers/__tests__/plist.test.js +43 -0
  355. package/dist/helpers/__tests__/plist.test.js.map +1 -0
  356. package/dist/helpers/__tests__/prompt.test.d.ts +1 -0
  357. package/dist/helpers/__tests__/prompt.test.js +71 -0
  358. package/dist/helpers/__tests__/prompt.test.js.map +1 -0
  359. package/dist/helpers/__tests__/retry.test.d.ts +1 -0
  360. package/dist/helpers/__tests__/retry.test.js +99 -0
  361. package/dist/helpers/__tests__/retry.test.js.map +1 -0
  362. package/dist/helpers/__tests__/tags.test.d.ts +1 -0
  363. package/dist/helpers/__tests__/tags.test.js +303 -0
  364. package/dist/helpers/__tests__/tags.test.js.map +1 -0
  365. package/dist/helpers/__tests__/upload.test.d.ts +1 -0
  366. package/dist/helpers/__tests__/upload.test.js +231 -0
  367. package/dist/helpers/__tests__/upload.test.js.map +1 -0
  368. package/dist/helpers/__tests__/user-provided-git.test.d.ts +1 -0
  369. package/dist/helpers/__tests__/user-provided-git.test.js +119 -0
  370. package/dist/helpers/__tests__/user-provided-git.test.js.map +1 -0
  371. package/dist/helpers/__tests__/utils.test.d.ts +1 -0
  372. package/dist/helpers/__tests__/utils.test.js +429 -0
  373. package/dist/helpers/__tests__/utils.test.js.map +1 -0
  374. package/dist/helpers/__tests__/validation.test.d.ts +1 -0
  375. package/dist/helpers/__tests__/validation.test.js +25 -0
  376. package/dist/helpers/__tests__/validation.test.js.map +1 -0
  377. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +1 -0
  378. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +103 -0
  379. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +1 -0
  380. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +1 -0
  381. package/dist/helpers/git/__tests__/format-git-span-data.test.js +121 -0
  382. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +1 -0
  383. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +1 -0
  384. package/dist/helpers/git/__tests__/get-git-data.test.js +72 -0
  385. package/dist/helpers/git/__tests__/get-git-data.test.js.map +1 -0
  386. package/dist/helpers/id.js.map +1 -0
  387. package/dist/helpers/tags.d.ts +1 -4
  388. package/dist/helpers/tags.js +2 -6
  389. package/dist/helpers/tags.js.map +1 -1
  390. package/dist/helpers/utils.d.ts +0 -4
  391. package/dist/helpers/utils.js +1 -21
  392. package/dist/helpers/utils.js.map +1 -1
  393. package/package.json +16 -17
  394. package/dist/commands/junit/id.js.map +0 -1
  395. package/dist/commands/synthetics/compatibility.d.ts +0 -7
  396. package/dist/commands/synthetics/compatibility.js +0 -83
  397. package/dist/commands/synthetics/compatibility.js.map +0 -1
  398. /package/dist/{commands/junit → helpers}/id.d.ts +0 -0
  399. /package/dist/{commands/junit → helpers}/id.js +0 -0
@@ -0,0 +1,323 @@
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
+ const os_1 = __importDefault(require("os"));
16
+ const clipanion_1 = require("clipanion");
17
+ const fixtures_1 = require("../../../helpers/__tests__/fixtures");
18
+ const id_1 = __importDefault(require("../../../helpers/id"));
19
+ const renderer_1 = require("../renderer");
20
+ const upload_1 = require("../upload");
21
+ jest.mock('../../../helpers/id', () => jest.fn());
22
+ describe('upload', () => {
23
+ describe('getApiHelper', () => {
24
+ test('should throw an error if API key is undefined', () => {
25
+ process.env = {};
26
+ const write = jest.fn();
27
+ const command = new upload_1.UploadCodeCoverageReportCommand();
28
+ command.context = { stdout: { write } };
29
+ expect(command['getApiHelper'].bind(command)).toThrow('API key is missing');
30
+ expect(write.mock.calls[0][0]).toContain('DD_API_KEY');
31
+ });
32
+ });
33
+ describe('getMatchingCoverageReportFilesByFormat', () => {
34
+ test('should read all xml files and reject invalid ones', () => {
35
+ const context = (0, fixtures_1.createMockContext)();
36
+ const command = new upload_1.UploadCodeCoverageReportCommand();
37
+ const result = command['getMatchingCoverageReportFilesByFormat'].call({
38
+ basePaths: ['./src/commands/coverage/__tests__/fixtures'],
39
+ config: {},
40
+ context,
41
+ });
42
+ const fileNames = Object.values(result).flatMap((paths) => paths);
43
+ expect(fileNames[0]).toEqual('./src/commands/coverage/__tests__/fixtures/jacoco-report.xml');
44
+ expect(fileNames[1]).toEqual('./src/commands/coverage/__tests__/fixtures/another-jacoco-report.xml');
45
+ const output = context.stdout.toString();
46
+ expect(output).toContain((0, renderer_1.renderInvalidFile)('./src/commands/coverage/__tests__/fixtures/invalid-jacoco-report.xml', "Unclosed tag 'report'."));
47
+ expect(output).toContain((0, renderer_1.renderInvalidFile)('./src/commands/coverage/__tests__/fixtures/random-file.xml', 'Could not detect format of ./src/commands/coverage/__tests__/fixtures/random-file.xml, please specify the format manually using the --format option'));
48
+ });
49
+ test('should allow single files', () => {
50
+ const context = (0, fixtures_1.createMockContext)();
51
+ const command = new upload_1.UploadCodeCoverageReportCommand();
52
+ const result = command['getMatchingCoverageReportFilesByFormat'].call({
53
+ basePaths: ['./src/commands/coverage/__tests__/fixtures/jacoco-report.xml'],
54
+ config: {},
55
+ context,
56
+ });
57
+ const fileNames = Object.values(result).flatMap((paths) => paths);
58
+ expect(fileNames.length).toEqual(1);
59
+ expect(fileNames[0]).toEqual('./src/commands/coverage/__tests__/fixtures/jacoco-report.xml');
60
+ });
61
+ test('should not fail for invalid single files', () => {
62
+ const context = (0, fixtures_1.createMockContext)();
63
+ const command = new upload_1.UploadCodeCoverageReportCommand();
64
+ const result = command['getMatchingCoverageReportFilesByFormat'].call({
65
+ basePaths: ['./src/commands/coverage/__tests__/fixtures/does-not-exist.xml'],
66
+ config: {},
67
+ context,
68
+ });
69
+ const fileNames = Object.values(result).flatMap((paths) => paths);
70
+ expect(fileNames.length).toEqual(0);
71
+ });
72
+ test('should allow folder and single unit paths', () => {
73
+ const context = (0, fixtures_1.createMockContext)();
74
+ const command = new upload_1.UploadCodeCoverageReportCommand();
75
+ const result = command['getMatchingCoverageReportFilesByFormat'].call({
76
+ basePaths: [
77
+ './src/commands/coverage/__tests__/fixtures',
78
+ './src/commands/coverage/__tests__/fixtures/subfolder/nested-jacoco-report.xml',
79
+ ],
80
+ config: {},
81
+ context,
82
+ });
83
+ const fileNames = Object.values(result).flatMap((paths) => paths);
84
+ expect(fileNames[0]).toEqual('./src/commands/coverage/__tests__/fixtures/jacoco-report.xml');
85
+ expect(fileNames[1]).toEqual('./src/commands/coverage/__tests__/fixtures/another-jacoco-report.xml');
86
+ expect(fileNames[2]).toEqual('./src/commands/coverage/__tests__/fixtures/subfolder/nested-jacoco-report.xml');
87
+ });
88
+ test('should not have repeated files', () => {
89
+ const context = (0, fixtures_1.createMockContext)();
90
+ const command = new upload_1.UploadCodeCoverageReportCommand();
91
+ const result = command['getMatchingCoverageReportFilesByFormat'].call({
92
+ basePaths: [
93
+ './src/commands/coverage/__tests__/fixtures',
94
+ './src/commands/coverage/__tests__/fixtures/jacoco-report.xml',
95
+ ],
96
+ config: {},
97
+ context,
98
+ });
99
+ const fileNames = Object.values(result).flatMap((paths) => paths);
100
+ expect(fileNames.length).toEqual(2);
101
+ });
102
+ test('should fetch nested folders', () => {
103
+ const context = (0, fixtures_1.createMockContext)();
104
+ const command = new upload_1.UploadCodeCoverageReportCommand();
105
+ const result = command['getMatchingCoverageReportFilesByFormat'].call({
106
+ basePaths: ['**/coverage/**/*.xml'],
107
+ config: {},
108
+ context,
109
+ });
110
+ const fileNames = Object.values(result).flatMap((paths) => paths);
111
+ expect(fileNames).toEqual([
112
+ './src/commands/coverage/__tests__/fixtures/jacoco-report.xml',
113
+ './src/commands/coverage/__tests__/fixtures/another-jacoco-report.xml',
114
+ './src/commands/coverage/__tests__/fixtures/subfolder/nested-jacoco-report.xml',
115
+ ]);
116
+ });
117
+ test('should fetch nested folders and ignore non xml files', () => {
118
+ const context = (0, fixtures_1.createMockContext)();
119
+ const command = new upload_1.UploadCodeCoverageReportCommand();
120
+ const result = command['getMatchingCoverageReportFilesByFormat'].call({
121
+ basePaths: ['**/coverage/**'],
122
+ config: {},
123
+ context,
124
+ });
125
+ const fileNames = Object.values(result).flatMap((paths) => paths);
126
+ expect(fileNames).toEqual([
127
+ './src/commands/coverage/__tests__/fixtures/jacoco-report.xml',
128
+ './src/commands/coverage/__tests__/fixtures/another-jacoco-report.xml',
129
+ './src/commands/coverage/__tests__/fixtures/subfolder/nested-jacoco-report.xml',
130
+ ]);
131
+ });
132
+ });
133
+ describe('getSpanTags', () => {
134
+ test('should parse DD_ENV environment variable', () => __awaiter(void 0, void 0, void 0, function* () {
135
+ process.env.DD_ENV = 'ci';
136
+ const context = (0, fixtures_1.createMockContext)();
137
+ const command = new upload_1.UploadCodeCoverageReportCommand();
138
+ const spanTags = yield command['getSpanTags'].call({
139
+ config: {
140
+ env: process.env.DD_ENV,
141
+ },
142
+ context,
143
+ });
144
+ expect(spanTags).toMatchObject({
145
+ env: 'ci',
146
+ });
147
+ }));
148
+ });
149
+ describe('parseCustomTags', () => {
150
+ test('should parse tags argument', () => {
151
+ const context = (0, fixtures_1.createMockContext)();
152
+ const command = new upload_1.UploadCodeCoverageReportCommand();
153
+ const spanTags = command['getCustomTags'].call({
154
+ config: {},
155
+ context,
156
+ tags: ['key1:value1', 'key2:value2'],
157
+ });
158
+ expect(spanTags).toMatchObject({
159
+ key1: 'value1',
160
+ key2: 'value2',
161
+ });
162
+ });
163
+ test('should parse DD_TAGS environment variable', () => {
164
+ process.env.DD_TAGS = 'key1:https://google.com,key2:value2,key3:1234321';
165
+ const context = (0, fixtures_1.createMockContext)();
166
+ const command = new upload_1.UploadCodeCoverageReportCommand();
167
+ const spanTags = command['getCustomTags'].call({
168
+ config: {
169
+ envVarTags: process.env.DD_TAGS,
170
+ },
171
+ context,
172
+ });
173
+ expect(spanTags).toMatchObject({
174
+ key1: 'https://google.com',
175
+ key2: 'value2',
176
+ key3: '1234321',
177
+ });
178
+ });
179
+ test('should parse measures argument', () => {
180
+ const context = (0, fixtures_1.createMockContext)();
181
+ const command = new upload_1.UploadCodeCoverageReportCommand();
182
+ const spanTags = command['getCustomMeasures'].call({
183
+ config: {},
184
+ context,
185
+ measures: ['key1:10', 'key2:20'],
186
+ });
187
+ expect(spanTags).toMatchObject({
188
+ key1: 10,
189
+ key2: 20,
190
+ });
191
+ });
192
+ test('should parse DD_MEASURES environment variable', () => {
193
+ process.env.DD_MEASURES = 'key1:321,key2:123,key3:321.1,key4:abc,key5:-12.1';
194
+ const context = (0, fixtures_1.createMockContext)();
195
+ const command = new upload_1.UploadCodeCoverageReportCommand();
196
+ const spanTags = command['getCustomMeasures'].call({
197
+ config: {
198
+ envVarMeasures: process.env.DD_MEASURES,
199
+ },
200
+ context,
201
+ });
202
+ expect(spanTags).toMatchObject({
203
+ key1: 321,
204
+ key2: 123,
205
+ key3: 321.1,
206
+ key5: -12.1,
207
+ });
208
+ });
209
+ test('should ignore DD_MEASURES if a non-numeric value is passed', () => {
210
+ process.env.DD_MEASURES = 'key1:321,key2:abc';
211
+ const context = (0, fixtures_1.createMockContext)();
212
+ const command = new upload_1.UploadCodeCoverageReportCommand();
213
+ const spanTags = command['getCustomMeasures'].call({
214
+ config: {
215
+ envVarMeasures: process.env.DD_MEASURES,
216
+ },
217
+ context,
218
+ });
219
+ expect(spanTags).toMatchObject({});
220
+ });
221
+ });
222
+ });
223
+ describe('execute', () => {
224
+ const runCLI = (extraArgs) => __awaiter(void 0, void 0, void 0, function* () {
225
+ const cli = makeCli();
226
+ const context = (0, fixtures_1.createMockContext)();
227
+ process.env = { DD_API_KEY: 'PLACEHOLDER' };
228
+ const code = yield cli.run(['coverage', 'upload', '--dry-run', ...extraArgs], context);
229
+ return { context, code };
230
+ });
231
+ test('relative path with double dots', () => __awaiter(void 0, void 0, void 0, function* () {
232
+ const { context, code } = yield runCLI(['./src/commands/coverage/__tests__/doesnotexist/../fixtures']);
233
+ const output = context.stdout.toString().split(os_1.default.EOL);
234
+ expect(code).toBe(0);
235
+ checkConsoleOutput(output, {
236
+ basePaths: ['src/commands/coverage/__tests__/fixtures'],
237
+ });
238
+ }));
239
+ test('multiple paths', () => __awaiter(void 0, void 0, void 0, function* () {
240
+ const { context, code } = yield runCLI(['./src/commands/coverage/first/', './src/commands/coverage/second/']);
241
+ const output = context.stdout.toString().split(os_1.default.EOL);
242
+ expect(code).toBe(0);
243
+ checkConsoleOutput(output, {
244
+ basePaths: ['src/commands/coverage/first/', 'src/commands/coverage/second/'],
245
+ });
246
+ }));
247
+ test('absolute path', () => __awaiter(void 0, void 0, void 0, function* () {
248
+ const { context, code } = yield runCLI([process.cwd() + '/src/commands/coverage/__tests__/fixtures']);
249
+ const output = context.stdout.toString().split(os_1.default.EOL);
250
+ expect(code).toBe(0);
251
+ checkConsoleOutput(output, {
252
+ basePaths: [`${process.cwd()}/src/commands/coverage/__tests__/fixtures`],
253
+ });
254
+ }));
255
+ test('single file', () => __awaiter(void 0, void 0, void 0, function* () {
256
+ const { context, code } = yield runCLI([process.cwd() + '/src/commands/coverage/__tests__/fixtures/single_file.xml']);
257
+ const output = context.stdout.toString().split(os_1.default.EOL);
258
+ const path = `${process.cwd()}/src/commands/coverage/__tests__/fixtures/single_file.xml`;
259
+ expect(code).toBe(0);
260
+ expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD COVERAGE REPORT');
261
+ expect(output[1]).toContain('Starting upload');
262
+ expect(output[2]).toContain(`Will upload code coverage report file ${path}`);
263
+ }));
264
+ test('with git metadata without argument (default value is true)', () => __awaiter(void 0, void 0, void 0, function* () {
265
+ const { context, code } = yield runCLI([
266
+ '--verbose',
267
+ process.cwd() + '/src/commands/coverage/__tests__/fixtures/single_file.xml',
268
+ ]);
269
+ const output = context.stdout.toString().split(os_1.default.EOL);
270
+ expect(id_1.default).toHaveBeenCalled();
271
+ expect(code).toBe(0);
272
+ expect(output[4]).toContain('Syncing git metadata');
273
+ }));
274
+ test('without git metadata (with argument)', () => __awaiter(void 0, void 0, void 0, function* () {
275
+ const { context, code } = yield runCLI([
276
+ '--verbose',
277
+ '--skip-git-metadata-upload',
278
+ process.cwd() + '/src/commands/coverage/__tests__/fixtures/single_file.xml',
279
+ ]);
280
+ const output = context.stdout.toString().split(os_1.default.EOL);
281
+ expect(id_1.default).not.toHaveBeenCalled();
282
+ expect(code).toBe(0);
283
+ expect(output[4]).toContain('Not syncing git metadata (skip git upload flag detected)');
284
+ }));
285
+ test('without git metadata (with argument set to 1)', () => __awaiter(void 0, void 0, void 0, function* () {
286
+ const { context, code } = yield runCLI([
287
+ '--verbose',
288
+ '--skip-git-metadata-upload=1',
289
+ process.cwd() + '/src/commands/coverage/__tests__/fixtures/single_file.xml',
290
+ ]);
291
+ const output = context.stdout.toString().split(os_1.default.EOL);
292
+ expect(id_1.default).not.toHaveBeenCalled();
293
+ expect(code).toBe(0);
294
+ expect(output[4]).toContain('Not syncing git metadata (skip git upload flag detected)');
295
+ }));
296
+ test('with git metadata (with argument set to 0)', () => __awaiter(void 0, void 0, void 0, function* () {
297
+ const { context, code } = yield runCLI([
298
+ '--skip-git-metadata-upload=0',
299
+ process.cwd() + '/src/commands/coverage/__tests__/fixtures/single_file.xml',
300
+ ]);
301
+ const output = context.stdout.toString().split(os_1.default.EOL);
302
+ expect(code).toBe(0);
303
+ expect(output[4]).toContain('Syncing git metadata');
304
+ }));
305
+ test('id headers are added when git metadata is uploaded', () => __awaiter(void 0, void 0, void 0, function* () {
306
+ yield runCLI([
307
+ '--skip-git-metadata-upload=0',
308
+ process.cwd() + '/src/commands/coverage/__tests__/fixtures/single_file.xml',
309
+ ]);
310
+ expect(id_1.default).toHaveBeenCalled();
311
+ }), 10000);
312
+ });
313
+ const checkConsoleOutput = (output, expected) => {
314
+ expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD COVERAGE REPORT');
315
+ expect(output[1]).toContain(`Starting upload`);
316
+ expect(output[2]).toContain(`Will look for code coverage report files in ${expected.basePaths.join(', ')}`);
317
+ };
318
+ const makeCli = () => {
319
+ const cli = new clipanion_1.Cli();
320
+ cli.register(upload_1.UploadCodeCoverageReportCommand);
321
+ return cli;
322
+ };
323
+ //# sourceMappingURL=upload.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.test.js","sourceRoot":"","sources":["../../../../src/commands/coverage/__tests__/upload.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,57 @@
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 utils_1 = require("../utils");
13
+ describe('utils', () => {
14
+ describe('isFile', () => {
15
+ test('Returns true for a valid file path', () => {
16
+ const filePath = './src/commands/coverage/__tests__/fixtures/random-file.xml';
17
+ expect((0, utils_1.isFile)(filePath)).toBeTruthy();
18
+ });
19
+ test('Returns false for a non-existent file path', () => {
20
+ const filePath = './src/commands/coverage/__tests__/fixtures/non-existent-file.xml';
21
+ expect((0, utils_1.isFile)(filePath)).toBeFalsy();
22
+ });
23
+ test('Returns false for a directory path', () => {
24
+ const dirPath = './src/commands/coverage/__tests__/fixtures';
25
+ expect((0, utils_1.isFile)(dirPath)).toBeFalsy();
26
+ });
27
+ });
28
+ describe('validateCoverageReport', () => {
29
+ test('Returns undefined for a valid Jacoco report', () => __awaiter(void 0, void 0, void 0, function* () {
30
+ const filePath = './src/commands/coverage/__tests__/fixtures/jacoco-report.xml';
31
+ expect((0, utils_1.validateCoverageReport)(filePath, 'jacoco')).toBeUndefined();
32
+ }));
33
+ test('Returns undefined for a valid Jacoco report with user-provided format', () => __awaiter(void 0, void 0, void 0, function* () {
34
+ const filePath = './src/commands/coverage/__tests__/fixtures/jacoco-report.xml';
35
+ expect((0, utils_1.validateCoverageReport)(filePath, 'jacoco')).toBeUndefined();
36
+ }));
37
+ test('Returns error message for an invalid Jacoco report', () => __awaiter(void 0, void 0, void 0, function* () {
38
+ const filePath = './src/commands/coverage/__tests__/fixtures/invalid-jacoco-report.xml';
39
+ expect((0, utils_1.validateCoverageReport)(filePath, 'jacoco')).toMatch(/.+/);
40
+ }));
41
+ });
42
+ describe('detectFormat', () => {
43
+ test('Detects Jacoco format for a valid Jacoco report', () => __awaiter(void 0, void 0, void 0, function* () {
44
+ const filePath = './src/commands/coverage/__tests__/fixtures/jacoco-report.xml';
45
+ expect((0, utils_1.detectFormat)(filePath)).toEqual('jacoco');
46
+ }));
47
+ test('Returns undefined for a non-XML file', () => __awaiter(void 0, void 0, void 0, function* () {
48
+ const filePath = './src/commands/coverage/__tests__/fixtures/non-xml-file.txt';
49
+ expect((0, utils_1.detectFormat)(filePath)).toBeUndefined();
50
+ }));
51
+ test('Returns undefined for a non-Jacoco XML file', () => __awaiter(void 0, void 0, void 0, function* () {
52
+ const filePath = './src/commands/coverage/__tests__/fixtures/random-file.xml';
53
+ expect((0, utils_1.detectFormat)(filePath)).toBeUndefined();
54
+ }));
55
+ });
56
+ });
57
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../src/commands/coverage/__tests__/utils.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,oCAAqE;AAErE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC9C,MAAM,QAAQ,GAAG,4DAA4D,CAAA;YAC7E,MAAM,CAAC,IAAA,cAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACtD,MAAM,QAAQ,GAAG,kEAAkE,CAAA;YACnF,MAAM,CAAC,IAAA,cAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC9C,MAAM,OAAO,GAAG,4CAA4C,CAAA;YAC5D,MAAM,CAAC,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,IAAI,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAC7D,MAAM,QAAQ,GAAG,8DAA8D,CAAA;YAC/E,MAAM,CAAC,IAAA,8BAAsB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QACpE,CAAC,CAAA,CAAC,CAAA;QAEF,IAAI,CAAC,uEAAuE,EAAE,GAAS,EAAE;YACvF,MAAM,QAAQ,GAAG,8DAA8D,CAAA;YAC/E,MAAM,CAAC,IAAA,8BAAsB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QACpE,CAAC,CAAA,CAAC,CAAA;QAEF,IAAI,CAAC,oDAAoD,EAAE,GAAS,EAAE;YACpE,MAAM,QAAQ,GAAG,sEAAsE,CAAA;YACvF,MAAM,CAAC,IAAA,8BAAsB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,IAAI,CAAC,iDAAiD,EAAE,GAAS,EAAE;YACjE,MAAM,QAAQ,GAAG,8DAA8D,CAAA;YAC/E,MAAM,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAClD,CAAC,CAAA,CAAC,CAAA;QAEF,IAAI,CAAC,sCAAsC,EAAE,GAAS,EAAE;YACtD,MAAM,QAAQ,GAAG,6DAA6D,CAAA;YAC9E,MAAM,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAChD,CAAC,CAAA,CAAC,CAAA;QAEF,IAAI,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAC7D,MAAM,QAAQ,GAAG,4DAA4D,CAAA;YAC7E,MAAM,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAChD,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios';
2
+ import { Payload } from './interfaces';
3
+ export declare const datadogSite: string;
4
+ export declare const intakeUrl: string;
5
+ export declare const apiUrl: string;
6
+ export declare const uploadCodeCoverageReport: (request: (args: AxiosRequestConfig) => AxiosPromise<AxiosResponse>) => (payload: Payload) => Promise<AxiosResponse<AxiosResponse<any, any>, any>>;
7
+ export declare const apiConstructor: (baseIntakeUrl: string, apiKey: string) => {
8
+ uploadCodeCoverageReport: (payload: Payload) => Promise<AxiosResponse<AxiosResponse<any, any>, any>>;
9
+ };
@@ -0,0 +1,52 @@
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.apiConstructor = exports.uploadCodeCoverageReport = exports.apiUrl = exports.intakeUrl = exports.datadogSite = void 0;
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const zlib_1 = require("zlib");
18
+ const form_data_1 = __importDefault(require("form-data"));
19
+ const concurrency_1 = require("../../helpers/concurrency");
20
+ const utils_1 = require("../../helpers/utils");
21
+ // Dependency follows-redirects sets a default maxBodyLength of 10 MB https://github.com/follow-redirects/follow-redirects/blob/b774a77e582b97174813b3eaeb86931becba69db/index.js#L391
22
+ // We don't want any hard limit enforced by the CLI, the backend will enforce a max size by returning 413 errors.
23
+ const maxBodyLength = Infinity;
24
+ exports.datadogSite = process.env.DATADOG_SITE || process.env.DD_SITE || 'datadoghq.com';
25
+ exports.intakeUrl = `https://ci-intake.${exports.datadogSite}`;
26
+ exports.apiUrl = `https://api.${exports.datadogSite}`;
27
+ const uploadCodeCoverageReport = (request) => (payload) => __awaiter(void 0, void 0, void 0, function* () {
28
+ const form = new form_data_1.default();
29
+ const event = Object.assign(Object.assign(Object.assign({ type: 'coverage_report', '_dd.hostname': payload.hostname, format: payload.format }, payload.spanTags), payload.customTags), payload.customMeasures);
30
+ form.append('event', JSON.stringify(event), { filename: 'event.json' });
31
+ yield (0, concurrency_1.doWithMaxConcurrency)(20, payload.paths, (path) => __awaiter(void 0, void 0, void 0, function* () {
32
+ const filename = path.split('/').pop() || path;
33
+ const gzip = fs_1.default.createReadStream(path).pipe((0, zlib_1.createGzip)());
34
+ form.append(filename, gzip, { filename: `${filename}.gz` });
35
+ }));
36
+ return request({
37
+ data: form,
38
+ headers: form.getHeaders(),
39
+ maxBodyLength,
40
+ method: 'POST',
41
+ url: 'api/v2/cicovreprt',
42
+ });
43
+ });
44
+ exports.uploadCodeCoverageReport = uploadCodeCoverageReport;
45
+ const apiConstructor = (baseIntakeUrl, apiKey) => {
46
+ const requestIntake = (0, utils_1.getRequestBuilder)({ baseUrl: baseIntakeUrl, apiKey });
47
+ return {
48
+ uploadCodeCoverageReport: (0, exports.uploadCodeCoverageReport)(requestIntake),
49
+ };
50
+ };
51
+ exports.apiConstructor = apiConstructor;
52
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/coverage/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,+BAA+B;AAI/B,0DAAgC;AAEhC,2DAA8D;AAC9D,+CAAqD;AAIrD,sLAAsL;AACtL,iHAAiH;AACjH,MAAM,aAAa,GAAG,QAAQ,CAAA;AAEjB,QAAA,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,CAAA;AAChF,QAAA,SAAS,GAAG,qBAAqB,mBAAW,EAAE,CAAA;AAC9C,QAAA,MAAM,GAAG,eAAe,mBAAW,EAAE,CAAA;AAE3C,MAAM,wBAAwB,GAAG,CAAC,OAAkE,EAAE,EAAE,CAAC,CAC9G,OAAgB,EAChB,EAAE;IACF,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAA;IAE3B,MAAM,KAAK,+CACT,IAAI,EAAE,iBAAiB,EACvB,cAAc,EAAE,OAAO,CAAC,QAAQ,EAChC,MAAM,EAAE,OAAO,CAAC,MAAM,IACnB,OAAO,CAAC,QAAQ,GAChB,OAAO,CAAC,UAAU,GAClB,OAAO,CAAC,cAAc,CAC1B,CAAA;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAC,QAAQ,EAAE,YAAY,EAAC,CAAC,CAAA;IAErE,MAAM,IAAA,kCAAoB,EAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAO,IAAI,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAA;QAC9C,MAAM,IAAI,GAAG,YAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAU,GAAE,CAAC,CAAA;QACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAC,QAAQ,EAAE,GAAG,QAAQ,KAAK,EAAC,CAAC,CAAA;IAC3D,CAAC,CAAA,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;QAC1B,aAAa;QACb,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,mBAAmB;KACzB,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AA7BY,QAAA,wBAAwB,4BA6BpC;AAEM,MAAM,cAAc,GAAG,CAAC,aAAqB,EAAE,MAAc,EAAE,EAAE;IACtE,MAAM,aAAa,GAAG,IAAA,yBAAiB,EAAC,EAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAC,CAAC,CAAA;IAEzE,OAAO;QACL,wBAAwB,EAAE,IAAA,gCAAwB,EAAC,aAAa,CAAC;KAClE,CAAA;AACH,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const upload_1 = require("./upload");
4
+ module.exports = [upload_1.UploadCodeCoverageReportCommand];
5
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/coverage/cli.ts"],"names":[],"mappings":";;AAAA,qCAAwD;AAExD,MAAM,CAAC,OAAO,GAAG,CAAC,wCAA+B,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { AxiosPromise, AxiosResponse } from 'axios';
2
+ import { SpanTags } from '../../helpers/interfaces';
3
+ export interface Payload {
4
+ hostname: string;
5
+ spanTags: SpanTags;
6
+ customTags: Record<string, string>;
7
+ customMeasures: Record<string, number>;
8
+ paths: string[];
9
+ format: string;
10
+ }
11
+ export interface APIHelper {
12
+ uploadCodeCoverageReport(codeCoverageReport: Payload): AxiosPromise<AxiosResponse>;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/coverage/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { Payload } from './interfaces';
2
+ export declare const renderFileReadError: (filePath: string, errorMessage: string) => string;
3
+ export declare const renderInvalidFile: (filePath: string, errorMessage: string) => string;
4
+ export declare const renderFailedUpload: (payload: Payload, errorMessage: string) => string;
5
+ export declare const renderRetriedUpload: (payload: Payload, errorMessage: string, attempt: number) => string;
6
+ export declare const renderFailedGitDBSync: (err: any) => string;
7
+ export declare const renderSuccessfulUpload: (dryRun: boolean, fileCount: number, duration: number) => string;
8
+ export declare const renderSuccessfulGitDBSync: (dryRun: boolean, elapsed: number) => string;
9
+ export declare const renderSuccessfulUploadCommand: () => string;
10
+ export declare const renderDryRunUpload: (payload: Payload) => string;
11
+ export declare const renderUpload: (payload: Payload) => string;
12
+ export declare const renderCommandInfo: (basePaths: string[], dryRun: boolean) => string;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renderCommandInfo = exports.renderUpload = exports.renderDryRunUpload = exports.renderSuccessfulUploadCommand = exports.renderSuccessfulGitDBSync = exports.renderSuccessfulUpload = exports.renderFailedGitDBSync = exports.renderRetriedUpload = exports.renderFailedUpload = exports.renderInvalidFile = exports.renderFileReadError = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const ICONS = {
10
+ FAILED: '❌',
11
+ SUCCESS: '✅',
12
+ WARNING: '⚠️',
13
+ };
14
+ const renderFileReadError = (filePath, errorMessage) => {
15
+ const reportPath = `[${chalk_1.default.bold.dim(filePath)}]`;
16
+ return chalk_1.default.red(`${ICONS.FAILED} Error while reading report file ${reportPath}: ${errorMessage}\n`);
17
+ };
18
+ exports.renderFileReadError = renderFileReadError;
19
+ const renderInvalidFile = (filePath, errorMessage) => {
20
+ const reportPath = `[${chalk_1.default.bold.dim(filePath)}]`;
21
+ return chalk_1.default.red(`${ICONS.FAILED} Invalid coverage report file ${reportPath}: ${errorMessage}\n`);
22
+ };
23
+ exports.renderInvalidFile = renderInvalidFile;
24
+ const renderFailedUpload = (payload, errorMessage) => {
25
+ const payloadDetails = `${chalk_1.default.bold.dim(payload.paths)}`;
26
+ return chalk_1.default.red(`${ICONS.FAILED} Upload failed for ${payloadDetails}: ${errorMessage}\n`);
27
+ };
28
+ exports.renderFailedUpload = renderFailedUpload;
29
+ const renderRetriedUpload = (payload, errorMessage, attempt) => {
30
+ const payloadDetails = `${chalk_1.default.bold.dim(payload.paths)}`;
31
+ return chalk_1.default.yellow(`[attempt ${attempt}] Retrying coverage report upload ${payloadDetails}: ${errorMessage}\n`);
32
+ };
33
+ exports.renderRetriedUpload = renderRetriedUpload;
34
+ const renderFailedGitDBSync = (err) => {
35
+ return chalk_1.default.red.bold(`${ICONS.FAILED} Could not sync git metadata: ${err}\n`);
36
+ };
37
+ exports.renderFailedGitDBSync = renderFailedGitDBSync;
38
+ const renderSuccessfulUpload = (dryRun, fileCount, duration) => {
39
+ return chalk_1.default.green(`${dryRun ? '[DRYRUN] ' : ''}${ICONS.SUCCESS} Uploaded ${fileCount} files in ${duration} seconds.`);
40
+ };
41
+ exports.renderSuccessfulUpload = renderSuccessfulUpload;
42
+ const renderSuccessfulGitDBSync = (dryRun, elapsed) => {
43
+ return chalk_1.default.green(`${dryRun ? '[DRYRUN] ' : ''}${ICONS.SUCCESS} Synced git metadata in ${elapsed} seconds.`);
44
+ };
45
+ exports.renderSuccessfulGitDBSync = renderSuccessfulGitDBSync;
46
+ // TODO add some Datadog links to the output
47
+ const renderSuccessfulUploadCommand = () => {
48
+ let fullStr = '';
49
+ fullStr += chalk_1.default.green('=================================================================================================\n');
50
+ fullStr += chalk_1.default.green('* Code coverage report(s) upload successful\n');
51
+ fullStr += chalk_1.default.green('=================================================================================================\n');
52
+ return fullStr;
53
+ };
54
+ exports.renderSuccessfulUploadCommand = renderSuccessfulUploadCommand;
55
+ const renderDryRunUpload = (payload) => `[DRYRUN] ${(0, exports.renderUpload)(payload)}`;
56
+ exports.renderDryRunUpload = renderDryRunUpload;
57
+ const renderUpload = (payload) => {
58
+ if (payload.paths && payload.paths.length) {
59
+ return `Uploading code coverage report file(s) in ${payload.paths}`;
60
+ }
61
+ else {
62
+ return 'No code coverage report paths, doing nothing';
63
+ }
64
+ };
65
+ exports.renderUpload = renderUpload;
66
+ const renderCommandInfo = (basePaths, dryRun) => {
67
+ let fullStr = '';
68
+ if (dryRun) {
69
+ fullStr += chalk_1.default.yellow(`${ICONS.WARNING} DRY-RUN MODE ENABLED. WILL NOT UPLOAD COVERAGE REPORTS\n`);
70
+ }
71
+ fullStr += chalk_1.default.green(`${new Date().toLocaleString()} - Starting upload. \n`);
72
+ if (!!basePaths.length) {
73
+ if (basePaths.length === 1 && !!path_1.default.extname(basePaths[0])) {
74
+ fullStr += chalk_1.default.green(`Will upload code coverage report file ${basePaths[0]}`);
75
+ }
76
+ else {
77
+ fullStr += chalk_1.default.green(`Will look for code coverage report files in ${basePaths.join(', ')}`);
78
+ }
79
+ }
80
+ return fullStr;
81
+ };
82
+ exports.renderCommandInfo = renderCommandInfo;
83
+ //# sourceMappingURL=renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/commands/coverage/renderer.ts"],"names":[],"mappings":"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"}