slnodejs 6.1.2 → 6.1.10

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 (421) hide show
  1. package/browser-agent/dist/browser-agent-all.js +101189 -0
  2. package/browser-agent/dist/browser-agent-all.min.js +57 -0
  3. package/browser-agent/package.json +44 -0
  4. package/lib/cli.js +1 -1
  5. package/package.json +125 -124
  6. package/tsOutputs/api.d.ts +10 -12
  7. package/tsOutputs/api.js +115 -116
  8. package/tsOutputs/build-scanner/ast-utils.js +38 -38
  9. package/tsOutputs/build-scanner/ast-utils.js.map +1 -1
  10. package/tsOutputs/build-scanner/build-diff-process.js +352 -352
  11. package/tsOutputs/build-scanner/cia.js +95 -95
  12. package/tsOutputs/build-scanner/configuration-loader.js +17 -17
  13. package/tsOutputs/build-scanner/current-agent-instance.js +5 -5
  14. package/tsOutputs/build-scanner/default-values-resolver.js +42 -42
  15. package/tsOutputs/build-scanner/entities-mapper.js +35 -35
  16. package/tsOutputs/build-scanner/file-and-folder-utils.js +176 -176
  17. package/tsOutputs/build-scanner/file-system/actual-file.js +66 -66
  18. package/tsOutputs/build-scanner/file-system/actual-file.js.map +1 -1
  19. package/tsOutputs/build-scanner/git-format-builder.js +68 -68
  20. package/tsOutputs/build-scanner/global-error-handler.js +20 -20
  21. package/tsOutputs/build-scanner/instrumentation/browser-instrumenter.js +299 -299
  22. package/tsOutputs/build-scanner/instrumentation/file-instrumenter.js +271 -271
  23. package/tsOutputs/build-scanner/instrumentation/file-instrumenter.js.map +1 -1
  24. package/tsOutputs/build-scanner/instrumentation/instrumentation-utils.js +58 -58
  25. package/tsOutputs/build-scanner/instrumentation/instrumented-file-size-reducer.js +159 -159
  26. package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js +187 -185
  27. package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js.map +1 -1
  28. package/tsOutputs/build-scanner/instrumentation/sync-instrumenter.js +39 -39
  29. package/tsOutputs/build-scanner/js_diff/ast-node-types.js +44 -44
  30. package/tsOutputs/build-scanner/js_diff/branch-key.js +10 -10
  31. package/tsOutputs/build-scanner/js_diff/branch-signature.js +156 -156
  32. package/tsOutputs/build-scanner/js_diff/create-node-key.js +7 -7
  33. package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js +23 -23
  34. package/tsOutputs/build-scanner/js_diff/file-signature.js +234 -234
  35. package/tsOutputs/build-scanner/js_diff/files-mapping.js +456 -460
  36. package/tsOutputs/build-scanner/js_diff/files-mapping.js.map +1 -1
  37. package/tsOutputs/build-scanner/js_diff/generated-file-signature.js +143 -143
  38. package/tsOutputs/build-scanner/js_diff/globalMethodIndexer.js +26 -26
  39. package/tsOutputs/build-scanner/js_diff/guess-method-location.js +100 -100
  40. package/tsOutputs/build-scanner/js_diff/guess-method-name.js +54 -54
  41. package/tsOutputs/build-scanner/js_diff/method-signature.js +142 -142
  42. package/tsOutputs/build-scanner/js_diff/sl-mapper.js +136 -136
  43. package/tsOutputs/build-scanner/js_diff/source-data-enricher.js +89 -89
  44. package/tsOutputs/build-scanner/js_diff/source-files-notifier.js +31 -31
  45. package/tsOutputs/build-scanner/js_diff/source-position-mapper.js +29 -29
  46. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js +213 -213
  47. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js.map +1 -1
  48. package/tsOutputs/build-scanner/mappings/file-element-utils.js +46 -46
  49. package/tsOutputs/build-scanner/mappings/file-element-utils.js.map +1 -1
  50. package/tsOutputs/build-scanner/mappings/file-enricher.js +209 -204
  51. package/tsOutputs/build-scanner/mappings/file-enricher.js.map +1 -1
  52. package/tsOutputs/build-scanner/mappings/files-data-container.js +51 -51
  53. package/tsOutputs/build-scanner/mappings/files-data-container.js.map +1 -1
  54. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js +79 -77
  55. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js.map +1 -1
  56. package/tsOutputs/build-scanner/markup-files-parser.js +71 -71
  57. package/tsOutputs/build-scanner/nopt-types.js +19 -19
  58. package/tsOutputs/build-scanner/nopt-usage-2.js +56 -56
  59. package/tsOutputs/build-scanner/polyfills.js +6 -6
  60. package/tsOutputs/build-scanner/scm/parse-log.js +5 -5
  61. package/tsOutputs/build-scanner/scm/scm-files-container.js +49 -49
  62. package/tsOutputs/build-scanner/sl-config-cia-cli.js +175 -175
  63. package/tsOutputs/build-scanner/utils.js +91 -91
  64. package/tsOutputs/cli-parse/agent-instance-data.d.ts +2 -2
  65. package/tsOutputs/cli-parse/agent-instance-data.js +6 -6
  66. package/tsOutputs/cli-parse/child-process-wrapper.js +82 -82
  67. package/tsOutputs/cli-parse/child-process-wrapper.js.map +1 -1
  68. package/tsOutputs/cli-parse/cli.js +509 -509
  69. package/tsOutputs/cli-parse/constants/constants.js +56 -55
  70. package/tsOutputs/cli-parse/constants/constants.js.map +1 -1
  71. package/tsOutputs/cli-parse/constants/third-parties.js +10 -10
  72. package/tsOutputs/cli-parse/contracts.js +2 -2
  73. package/tsOutputs/cli-parse/custom-commander.js +44 -44
  74. package/tsOutputs/cli-parse/executors/base-executor.js +254 -263
  75. package/tsOutputs/cli-parse/executors/base-executor.js.map +1 -1
  76. package/tsOutputs/cli-parse/executors/build-args-dto.js +55 -55
  77. package/tsOutputs/cli-parse/executors/build-end-executor.js +117 -115
  78. package/tsOutputs/cli-parse/executors/build-end-executor.js.map +1 -1
  79. package/tsOutputs/cli-parse/executors/build-executor.js +149 -147
  80. package/tsOutputs/cli-parse/executors/build-executor.js.map +1 -1
  81. package/tsOutputs/cli-parse/executors/config-executor.js +114 -112
  82. package/tsOutputs/cli-parse/executors/config-executor.js.map +1 -1
  83. package/tsOutputs/cli-parse/executors/dry-run/base-data.js +55 -55
  84. package/tsOutputs/cli-parse/executors/dry-run/base-data.js.map +1 -1
  85. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js +230 -228
  86. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js.map +1 -1
  87. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js +279 -277
  88. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js.map +1 -1
  89. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js +122 -120
  90. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js.map +1 -1
  91. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js +132 -130
  92. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js.map +1 -1
  93. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js +104 -104
  94. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js.map +1 -1
  95. package/tsOutputs/cli-parse/executors/end-execution-executor.js +90 -88
  96. package/tsOutputs/cli-parse/executors/end-execution-executor.js.map +1 -1
  97. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js +134 -132
  98. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js.map +1 -1
  99. package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js +75 -73
  100. package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js.map +1 -1
  101. package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js +73 -71
  102. package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js.map +1 -1
  103. package/tsOutputs/cli-parse/executors/mocha-executor.js +124 -122
  104. package/tsOutputs/cli-parse/executors/mocha-executor.js.map +1 -1
  105. package/tsOutputs/cli-parse/executors/nyc-report-executor.js +106 -104
  106. package/tsOutputs/cli-parse/executors/nyc-report-executor.js.map +1 -1
  107. package/tsOutputs/cli-parse/executors/pr-config-executor.js +85 -83
  108. package/tsOutputs/cli-parse/executors/pr-config-executor.js.map +1 -1
  109. package/tsOutputs/cli-parse/executors/run-executor.js +95 -93
  110. package/tsOutputs/cli-parse/executors/run-executor.js.map +1 -1
  111. package/tsOutputs/cli-parse/executors/start-execution-executor.js +93 -91
  112. package/tsOutputs/cli-parse/executors/start-execution-executor.js.map +1 -1
  113. package/tsOutputs/cli-parse/executors/test-executions-executor.js +77 -75
  114. package/tsOutputs/cli-parse/executors/test-executions-executor.js.map +1 -1
  115. package/tsOutputs/cli-parse/executors/test-listener-executor.js +151 -149
  116. package/tsOutputs/cli-parse/executors/test-listener-executor.js.map +1 -1
  117. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js +77 -75
  118. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js.map +1 -1
  119. package/tsOutputs/cli-parse/executors/upload-report-executor.js +118 -116
  120. package/tsOutputs/cli-parse/executors/upload-report-executor.js.map +1 -1
  121. package/tsOutputs/cli-parse/utils.js +32 -32
  122. package/tsOutputs/cli-parse/utils.js.map +1 -1
  123. package/tsOutputs/common/agent-events/agent-events-conracts.d.ts +123 -123
  124. package/tsOutputs/common/agent-events/agent-events-conracts.js +56 -56
  125. package/tsOutputs/common/agent-events/agent-events-controller.d.ts +45 -45
  126. package/tsOutputs/common/agent-events/agent-events-controller.js +301 -301
  127. package/tsOutputs/common/agent-events/agent-events-controller.js.map +1 -1
  128. package/tsOutputs/common/agent-events/agent-instance-info-builder.d.ts +22 -22
  129. package/tsOutputs/common/agent-events/agent-instance-info-builder.js +63 -63
  130. package/tsOutputs/common/agent-events/agent-instance-info-builder.js.map +1 -1
  131. package/tsOutputs/common/agent-events/agent-start-info-builder.d.ts +14 -14
  132. package/tsOutputs/common/agent-events/agent-start-info-builder.js +23 -23
  133. package/tsOutputs/common/agent-events/ci-info-builder.d.ts +7 -7
  134. package/tsOutputs/common/agent-events/ci-info-builder.js +30 -30
  135. package/tsOutputs/common/agent-events/cockpit-notifier.d.ts +26 -26
  136. package/tsOutputs/common/agent-events/cockpit-notifier.js +119 -119
  137. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.d.ts +7 -7
  138. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js +33 -31
  139. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js.map +1 -1
  140. package/tsOutputs/common/agent-events/machine-info-builder.d.ts +7 -7
  141. package/tsOutputs/common/agent-events/machine-info-builder.js +35 -35
  142. package/tsOutputs/common/agent-events/machine-info-builder.js.map +1 -1
  143. package/tsOutputs/common/agent-events/nodejs-env-info-builder.d.ts +8 -8
  144. package/tsOutputs/common/agent-events/nodejs-env-info-builder.js +19 -19
  145. package/tsOutputs/common/agent-events/sensitive-data-filter.d.ts +2 -2
  146. package/tsOutputs/common/agent-events/sensitive-data-filter.js +54 -54
  147. package/tsOutputs/common/agent-instance-data.d.ts +10 -10
  148. package/tsOutputs/common/agent-instance-data.js +39 -39
  149. package/tsOutputs/common/agent-instance-data.js.map +1 -1
  150. package/tsOutputs/common/config-process/config-loader.d.ts +8 -8
  151. package/tsOutputs/common/config-process/config-loader.js +86 -86
  152. package/tsOutputs/common/config-process/config-system.d.ts +88 -88
  153. package/tsOutputs/common/config-process/config-system.js +293 -293
  154. package/tsOutputs/common/config-process/config.d.ts +60 -60
  155. package/tsOutputs/common/config-process/config.js +92 -90
  156. package/tsOutputs/common/config-process/config.js.map +1 -1
  157. package/tsOutputs/common/config-process/index.d.ts +21 -21
  158. package/tsOutputs/common/config-process/index.js +127 -125
  159. package/tsOutputs/common/config-process/index.js.map +1 -1
  160. package/tsOutputs/common/constants/constants.d.ts +18 -18
  161. package/tsOutputs/common/constants/constants.js +29 -29
  162. package/tsOutputs/common/constants/sl-env-vars.d.ts +52 -52
  163. package/tsOutputs/common/constants/sl-env-vars.js +122 -122
  164. package/tsOutputs/common/contracts.d.ts +123 -123
  165. package/tsOutputs/common/contracts.js +2 -2
  166. package/tsOutputs/common/coverage-elements/contracts.d.ts +25 -25
  167. package/tsOutputs/common/coverage-elements/contracts.js +8 -8
  168. package/tsOutputs/common/coverage-elements/file-element.d.ts +35 -35
  169. package/tsOutputs/common/coverage-elements/file-element.js +158 -158
  170. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.d.ts +12 -12
  171. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js +97 -95
  172. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js.map +1 -1
  173. package/tsOutputs/common/coverage-elements/new-id-resolver.d.ts +3 -3
  174. package/tsOutputs/common/coverage-elements/new-id-resolver.js +45 -45
  175. package/tsOutputs/common/coverage-elements/new-id-resolver.js.map +1 -1
  176. package/tsOutputs/common/coverage-elements/original-module-loader.d.ts +41 -41
  177. package/tsOutputs/common/coverage-elements/original-module-loader.js +189 -189
  178. package/tsOutputs/common/coverage-elements/unique-id-converter.d.ts +32 -32
  179. package/tsOutputs/common/coverage-elements/unique-id-converter.js +234 -234
  180. package/tsOutputs/common/environment-data-service.d.ts +15 -15
  181. package/tsOutputs/common/environment-data-service.js +60 -60
  182. package/tsOutputs/common/events-process/events-contracts.d.ts +52 -52
  183. package/tsOutputs/common/events-process/events-contracts.js +19 -19
  184. package/tsOutputs/common/events-process/events-creator.js +40 -42
  185. package/tsOutputs/common/events-process/events-creator.js.map +1 -1
  186. package/tsOutputs/common/events-process/index.d.ts +42 -42
  187. package/tsOutputs/common/events-process/index.js +266 -265
  188. package/tsOutputs/common/events-process/index.js.map +1 -1
  189. package/tsOutputs/common/footprints-process/collection-interval.d.ts +10 -10
  190. package/tsOutputs/common/footprints-process/collection-interval.js +27 -27
  191. package/tsOutputs/common/footprints-process/collection-interval.js.map +1 -1
  192. package/tsOutputs/common/footprints-process/footprints-service-proxy.d.ts +12 -12
  193. package/tsOutputs/common/footprints-process/footprints-service-proxy.js +51 -51
  194. package/tsOutputs/common/footprints-process/index.d.ts +71 -71
  195. package/tsOutputs/common/footprints-process/index.js +264 -264
  196. package/tsOutputs/common/footprints-process/index.js.map +1 -1
  197. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.d.ts +98 -98
  198. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.js +9 -9
  199. package/tsOutputs/common/footprints-process/istanbul-to-footprints.d.ts +47 -47
  200. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js +421 -421
  201. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js.map +1 -1
  202. package/tsOutputs/common/footprints-process/production-footprints-handler.d.ts +54 -54
  203. package/tsOutputs/common/footprints-process/production-footprints-handler.js +308 -308
  204. package/tsOutputs/common/footprints-process/production-footprints-handler.js.map +1 -1
  205. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.d.ts +20 -20
  206. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js +65 -63
  207. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js.map +1 -1
  208. package/tsOutputs/common/footprints-process-v6/buffer-size-helper.d.ts +15 -15
  209. package/tsOutputs/common/footprints-process-v6/buffer-size-helper.js +40 -40
  210. package/tsOutputs/common/footprints-process-v6/contracts.d.ts +181 -184
  211. package/tsOutputs/common/footprints-process-v6/contracts.js +9 -9
  212. package/tsOutputs/common/footprints-process-v6/footprints-buffer.d.ts +34 -36
  213. package/tsOutputs/common/footprints-process-v6/footprints-buffer.js +135 -147
  214. package/tsOutputs/common/footprints-process-v6/footprints-buffer.js.map +1 -1
  215. package/tsOutputs/common/footprints-process-v6/hits-collector.d.ts +24 -24
  216. package/tsOutputs/common/footprints-process-v6/hits-collector.js +168 -168
  217. package/tsOutputs/common/footprints-process-v6/hits-converter.d.ts +28 -30
  218. package/tsOutputs/common/footprints-process-v6/hits-converter.js +114 -135
  219. package/tsOutputs/common/footprints-process-v6/hits-converter.js.map +1 -1
  220. package/tsOutputs/common/footprints-process-v6/index.d.ts +40 -41
  221. package/tsOutputs/common/footprints-process-v6/index.js +258 -304
  222. package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
  223. package/tsOutputs/common/footprints-process-v6/location-formatter.d.ts +6 -6
  224. package/tsOutputs/common/footprints-process-v6/location-formatter.js +25 -25
  225. package/tsOutputs/common/footprints-process-v6/relative-path-resolver.d.ts +8 -8
  226. package/tsOutputs/common/footprints-process-v6/relative-path-resolver.js +28 -28
  227. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.d.ts +9 -9
  228. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js +40 -38
  229. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js.map +1 -1
  230. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.d.ts +8 -8
  231. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js +34 -32
  232. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js.map +1 -1
  233. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.d.ts +14 -14
  234. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js +41 -39
  235. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js.map +1 -1
  236. package/tsOutputs/common/footprints-process-v6/source-map-data.d.ts +9 -9
  237. package/tsOutputs/common/footprints-process-v6/source-map-data.js +32 -32
  238. package/tsOutputs/common/footprints-process-v6/source-map-data.js.map +1 -1
  239. package/tsOutputs/common/http/backend-proxy-interface.d.ts +33 -33
  240. package/tsOutputs/common/http/backend-proxy-interface.js +2 -2
  241. package/tsOutputs/common/http/backend-proxy.d.ts +54 -54
  242. package/tsOutputs/common/http/backend-proxy.js +408 -408
  243. package/tsOutputs/common/http/contracts.d.ts +280 -280
  244. package/tsOutputs/common/http/contracts.js +158 -156
  245. package/tsOutputs/common/http/contracts.js.map +1 -1
  246. package/tsOutputs/common/http/dry-run-proxy.js +106 -106
  247. package/tsOutputs/common/http/entities-mapper.d.ts +4 -4
  248. package/tsOutputs/common/http/entities-mapper.js +17 -17
  249. package/tsOutputs/common/http/http-client.d.ts +21 -21
  250. package/tsOutputs/common/http/http-client.js +191 -195
  251. package/tsOutputs/common/http/http-client.js.map +1 -1
  252. package/tsOutputs/common/http/http-verb.d.ts +6 -6
  253. package/tsOutputs/common/http/http-verb.js +10 -10
  254. package/tsOutputs/common/http/sl-routes.d.ts +70 -70
  255. package/tsOutputs/common/http/sl-routes.js +218 -218
  256. package/tsOutputs/common/ignored-files-handler.js +122 -122
  257. package/tsOutputs/common/ignored-files-handler.js.map +1 -1
  258. package/tsOutputs/common/logger.d.ts +40 -40
  259. package/tsOutputs/common/logger.js +190 -188
  260. package/tsOutputs/common/logger.js.map +1 -1
  261. package/tsOutputs/common/messages-formatter.d.ts +6 -6
  262. package/tsOutputs/common/messages-formatter.js +21 -21
  263. package/tsOutputs/common/queue.d.ts +19 -19
  264. package/tsOutputs/common/queue.js +57 -55
  265. package/tsOutputs/common/queue.js.map +1 -1
  266. package/tsOutputs/common/scm/contracts.js +2 -2
  267. package/tsOutputs/common/scm/git-cloner.js +137 -137
  268. package/tsOutputs/common/scm/git-cloner.js.map +1 -1
  269. package/tsOutputs/common/scm/git-format-builder.js +72 -72
  270. package/tsOutputs/common/scm/git.js +411 -411
  271. package/tsOutputs/common/scm/git.js.map +1 -1
  272. package/tsOutputs/common/scm/none.js +115 -115
  273. package/tsOutputs/common/scm/scm-factory.js +21 -21
  274. package/tsOutputs/common/short-name-to-file-mapper.js +79 -79
  275. package/tsOutputs/common/source-map-handler.d.ts +58 -58
  276. package/tsOutputs/common/source-map-handler.js +197 -197
  277. package/tsOutputs/common/source-map-reader.js +84 -84
  278. package/tsOutputs/common/source-maps-utils.d.ts +3 -3
  279. package/tsOutputs/common/source-maps-utils.js +39 -39
  280. package/tsOutputs/common/state-tracker-fpv6.d.ts +6 -6
  281. package/tsOutputs/common/state-tracker-fpv6.js +44 -42
  282. package/tsOutputs/common/state-tracker-fpv6.js.map +1 -1
  283. package/tsOutputs/common/state-tracker.d.ts +49 -49
  284. package/tsOutputs/common/state-tracker.js +301 -299
  285. package/tsOutputs/common/state-tracker.js.map +1 -1
  286. package/tsOutputs/common/system-date.d.ts +2 -2
  287. package/tsOutputs/common/system-date.js +21 -21
  288. package/tsOutputs/common/utils/abstract-data-builder.d.ts +10 -10
  289. package/tsOutputs/common/utils/abstract-data-builder.js +24 -24
  290. package/tsOutputs/common/utils/abstract-data-builder.js.map +1 -1
  291. package/tsOutputs/common/utils/build-session-data-builder.d.ts +18 -18
  292. package/tsOutputs/common/utils/build-session-data-builder.js +137 -135
  293. package/tsOutputs/common/utils/build-session-data-builder.js.map +1 -1
  294. package/tsOutputs/common/utils/dependency-utils.js +69 -69
  295. package/tsOutputs/common/utils/files-utils.d.ts +6 -6
  296. package/tsOutputs/common/utils/files-utils.js +45 -45
  297. package/tsOutputs/common/utils/parsing-utils.d.ts +4 -4
  298. package/tsOutputs/common/utils/parsing-utils.js +29 -29
  299. package/tsOutputs/common/utils/test-utils/mock-server-utils/contracts.js +10 -10
  300. package/tsOutputs/common/utils/test-utils/mock-server-utils/mock-server-proxy.js +248 -248
  301. package/tsOutputs/common/utils/timer-utils.d.ts +3 -3
  302. package/tsOutputs/common/utils/timer-utils.js +12 -12
  303. package/tsOutputs/common/utils/token-data-builder.d.ts +21 -21
  304. package/tsOutputs/common/utils/token-data-builder.js +97 -95
  305. package/tsOutputs/common/utils/token-data-builder.js.map +1 -1
  306. package/tsOutputs/common/utils/validation-utils.d.ts +3 -3
  307. package/tsOutputs/common/utils/validation-utils.js +18 -18
  308. package/tsOutputs/common/uuid.js +23 -23
  309. package/tsOutputs/common/watchdog.d.ts +96 -96
  310. package/tsOutputs/common/watchdog.js +151 -149
  311. package/tsOutputs/common/watchdog.js.map +1 -1
  312. package/tsOutputs/mocha-reporter/constants.js +27 -27
  313. package/tsOutputs/mocha-reporter/end-execution.js +22 -22
  314. package/tsOutputs/mocha-reporter/index.js +323 -323
  315. package/tsOutputs/test-listener/IConsoleLogger.js +5 -5
  316. package/tsOutputs/test-listener/SlNodeJsProxy.js +96 -96
  317. package/tsOutputs/test-listener/UserMessageHelper.js +47 -47
  318. package/tsOutputs/test-listener/agent-loader.js +58 -58
  319. package/tsOutputs/test-listener/agent.d.ts +53 -53
  320. package/tsOutputs/test-listener/agent.js +273 -273
  321. package/tsOutputs/test-listener/agent.js.map +1 -1
  322. package/tsOutputs/test-listener/api.js +157 -157
  323. package/tsOutputs/test-listener/base-proxy.d.ts +15 -15
  324. package/tsOutputs/test-listener/base-proxy.js +133 -133
  325. package/tsOutputs/test-listener/bootstrap.js +16 -16
  326. package/tsOutputs/test-listener/child-process-patcher.js +136 -136
  327. package/tsOutputs/test-listener/child-process-patcher.js.map +1 -1
  328. package/tsOutputs/test-listener/cli.js +64 -64
  329. package/tsOutputs/test-listener/coloring/http-coloring.d.ts +15 -15
  330. package/tsOutputs/test-listener/coloring/http-coloring.js +188 -188
  331. package/tsOutputs/test-listener/coloring/icoloring-provider.d.ts +10 -10
  332. package/tsOutputs/test-listener/coloring/icoloring-provider.js +2 -2
  333. package/tsOutputs/test-listener/coloring/listening-port.d.ts +20 -20
  334. package/tsOutputs/test-listener/coloring/listening-port.js +48 -48
  335. package/tsOutputs/test-listener/command-line-arg-parser.js +91 -91
  336. package/tsOutputs/test-listener/config-process/config-loader.js +104 -104
  337. package/tsOutputs/test-listener/config-process/config-system.d.ts +88 -88
  338. package/tsOutputs/test-listener/config-process/config-system.js +285 -285
  339. package/tsOutputs/test-listener/config-process/index.js +128 -126
  340. package/tsOutputs/test-listener/config-process/index.js.map +1 -1
  341. package/tsOutputs/test-listener/config.d.ts +50 -50
  342. package/tsOutputs/test-listener/config.js +82 -80
  343. package/tsOutputs/test-listener/config.js.map +1 -1
  344. package/tsOutputs/test-listener/contracts.d.ts +72 -72
  345. package/tsOutputs/test-listener/contracts.js +2 -2
  346. package/tsOutputs/test-listener/entities/BasicConfigurationData.js +72 -72
  347. package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js +50 -48
  348. package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js.map +1 -1
  349. package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js +53 -51
  350. package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js.map +1 -1
  351. package/tsOutputs/test-listener/environment-data-service.d.ts +11 -11
  352. package/tsOutputs/test-listener/environment-data-service.js +60 -60
  353. package/tsOutputs/test-listener/execution-process/contracts.js +5 -5
  354. package/tsOutputs/test-listener/execution-process/entities-mapper.js +49 -49
  355. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js +207 -205
  356. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js.map +1 -1
  357. package/tsOutputs/test-listener/execution-process/index.js +163 -163
  358. package/tsOutputs/test-listener/factory.d.ts +87 -87
  359. package/tsOutputs/test-listener/factory.js +285 -285
  360. package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js +52 -50
  361. package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js.map +1 -1
  362. package/tsOutputs/test-listener/footprints-process/index.js +230 -230
  363. package/tsOutputs/test-listener/footprints-process/index.js.map +1 -1
  364. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js +130 -130
  365. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-contract.js +2 -2
  366. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js +290 -288
  367. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js.map +1 -1
  368. package/tsOutputs/test-listener/integrations/SlGulp.js +104 -104
  369. package/tsOutputs/test-listener/logs-process/index.d.ts +48 -48
  370. package/tsOutputs/test-listener/logs-process/index.js +142 -142
  371. package/tsOutputs/test-listener/logs-process/index.js.map +1 -1
  372. package/tsOutputs/test-listener/logs-process/log-service-proxy.d.ts +9 -9
  373. package/tsOutputs/test-listener/logs-process/log-service-proxy.js +31 -29
  374. package/tsOutputs/test-listener/logs-process/log-service-proxy.js.map +1 -1
  375. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js +143 -143
  376. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js.map +1 -1
  377. package/tsOutputs/test-listener/nyc-report-executor.js +144 -144
  378. package/tsOutputs/test-listener/nyc-report-executor.js.map +1 -1
  379. package/tsOutputs/test-listener/queue.js +57 -55
  380. package/tsOutputs/test-listener/queue.js.map +1 -1
  381. package/tsOutputs/test-listener/remote-agent.d.ts +42 -42
  382. package/tsOutputs/test-listener/remote-agent.js +200 -200
  383. package/tsOutputs/test-listener/remote-agent.js.map +1 -1
  384. package/tsOutputs/test-listener/resolvers/AppNameResolver.js +34 -32
  385. package/tsOutputs/test-listener/resolvers/AppNameResolver.js.map +1 -1
  386. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js +64 -64
  387. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js.map +1 -1
  388. package/tsOutputs/test-listener/resolvers/BuildResolver.js +33 -31
  389. package/tsOutputs/test-listener/resolvers/BuildResolver.js.map +1 -1
  390. package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js +33 -31
  391. package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js.map +1 -1
  392. package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js +36 -34
  393. package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js.map +1 -1
  394. package/tsOutputs/test-listener/resolvers/ProxyResolver.js +33 -31
  395. package/tsOutputs/test-listener/resolvers/ProxyResolver.js.map +1 -1
  396. package/tsOutputs/test-listener/resolvers/TokenResolver.js +33 -31
  397. package/tsOutputs/test-listener/resolvers/TokenResolver.js.map +1 -1
  398. package/tsOutputs/test-listener/state-tracker-process/index.js +162 -160
  399. package/tsOutputs/test-listener/state-tracker-process/index.js.map +1 -1
  400. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.d.ts +8 -8
  401. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js +71 -69
  402. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js.map +1 -1
  403. package/tsOutputs/test-listener/test-recommendation-handler.d.ts +29 -29
  404. package/tsOutputs/test-listener/test-recommendation-handler.js +161 -161
  405. package/tsOutputs/test-listener/upload-report-handler.js +96 -96
  406. package/tsOutputs/test-listener/utils.js +68 -68
  407. package/tsOutputs/test-listener/uuid.d.ts +3 -3
  408. package/tsOutputs/test-listener/uuid.js +23 -23
  409. package/tsOutputs/test-listener/wait-for-multiple-callbacks.d.ts +22 -22
  410. package/tsOutputs/test-listener/wait-for-multiple-callbacks.js +60 -60
  411. package/tsOutputs/test-listener/watchdog.d.ts +89 -89
  412. package/tsOutputs/test-listener/watchdog.js +146 -144
  413. package/tsOutputs/test-listener/watchdog.js.map +1 -1
  414. package/tsOutputs/build-scanner/complexity-metrics/complexity-metrics.js +0 -1
  415. package/tsOutputs/build-scanner/complexity-metrics/complexity-metrics.js.map +0 -1
  416. package/tsOutputs/build-scanner/js_diff/code-metrics-spec.js +0 -1
  417. package/tsOutputs/build-scanner/js_diff/code-metrics-spec.js.map +0 -1
  418. package/tsOutputs/build-scanner/js_diff/code-metrics.js +0 -1
  419. package/tsOutputs/build-scanner/js_diff/code-metrics.js.map +0 -1
  420. package/tsOutputs/build-scanner/mappings/contracts.js +0 -3
  421. package/tsOutputs/build-scanner/mappings/contracts.js.map +0 -1
@@ -1,412 +1,412 @@
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 __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Git = void 0;
40
- var child_process_1 = require("child_process");
41
- var git_format_builder_1 = require("./git-format-builder");
42
- var GIT_ROOT_DIR_COMMAND = 'rev-parse --show-toplevel';
43
- var GIT_LS_FILES_COMMAND = 'ls-tree --full-tree -r --name-only HEAD';
44
- var MAX_BUFFER_VALUE = 1024 * 1024 * 200; //200 Mb, instead of 200Kb
45
- var Git = /** @class */ (function () {
46
- function Git(buildArgs, globalErrorHandler) {
47
- this.buildArgs = buildArgs;
48
- this.globalErrorHandler = globalErrorHandler;
49
- }
50
- Git.prototype.detectCommitVersion = function (handlerParams, logger) {
51
- return __awaiter(this, void 0, void 0, function () {
52
- var log, commit;
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0:
56
- log = logger.child({ methodName: 'detectCommitVersion' });
57
- return [4 /*yield*/, this.executeGit('log -n 1 --pretty=format:%H', handlerParams, log)];
58
- case 1:
59
- commit = _a.sent();
60
- return [2 /*return*/, commit];
61
- }
62
- });
63
- });
64
- };
65
- Git.prototype.getBranchHistory = function (handlerParams, logger) {
66
- return __awaiter(this, void 0, void 0, function () {
67
- var buildArgs, log, historyLength, format, stdout;
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0:
71
- buildArgs = this.getBuildArgs();
72
- log = logger.child({ methodName: 'getBranchHistory' });
73
- historyLength = this.getHistoryLength(buildArgs, log);
74
- format = new git_format_builder_1.GitFormatBuilder().withCommit().withAuthorName().withAuthorEmail().withCommiterName().withCommiterEmail()
75
- .withAuthorDate().withCommiterDate().withTitle().build();
76
- return [4 /*yield*/, this.executeGit('log -n ' + historyLength + ' --format=' + format, handlerParams, log)];
77
- case 1:
78
- stdout = _a.sent();
79
- return [2 /*return*/, this.parseBranchHistoryOutput(stdout, handlerParams, log)];
80
- }
81
- });
82
- });
83
- };
84
- Git.prototype.getCommitsPerFile = function (handlerParams, logger) {
85
- return __awaiter(this, void 0, void 0, function () {
86
- var buildArgs, log, historyLength, commitToIndexMap, stdout;
87
- return __generator(this, function (_a) {
88
- switch (_a.label) {
89
- case 0:
90
- buildArgs = this.getBuildArgs();
91
- log = logger.child({ methodName: 'getCommitsPerFile' });
92
- historyLength = this.getHistoryLength(buildArgs, log);
93
- commitToIndexMap = handlerParams.commitToIndexMap;
94
- if (!commitToIndexMap) {
95
- logger.error('Cannot get commits for file, Commits log map is null or undefined');
96
- return [2 /*return*/, {}];
97
- }
98
- return [4 /*yield*/, this.executeGit('log -' + historyLength + ' --name-only --pretty=format:hash:%H', handlerParams, log)];
99
- case 1:
100
- stdout = _a.sent();
101
- return [2 /*return*/, this.parseCommitsPerFileOutput(stdout, commitToIndexMap, log)];
102
- }
103
- });
104
- });
105
- };
106
- Git.prototype.getRepositoryUrl = function (handlerParams, logger) {
107
- return __awaiter(this, void 0, void 0, function () {
108
- var log, stdout, repositoryUrl, parsedLog;
109
- return __generator(this, function (_a) {
110
- switch (_a.label) {
111
- case 0:
112
- log = logger.child({ methodName: 'getRepositoryUrl' });
113
- return [4 /*yield*/, this.executeGit('remote -v', handlerParams, log)];
114
- case 1:
115
- stdout = _a.sent();
116
- repositoryUrl = '';
117
- if (stdout.toString()) {
118
- parsedLog = this.logParse(stdout.toString());
119
- //NOTE: If there are multiple (fetch) remotes, it would be best to pick the line with that has "origin" as the first column (before the \t), if one exists.
120
- //Anyway we should also warn that there were multiple remotes detected
121
- repositoryUrl = parsedLog[0].split('\t').map(function (l) { return l.trim(); })[1].replace(' (fetch)', '');
122
- }
123
- return [2 /*return*/, repositoryUrl];
124
- }
125
- });
126
- });
127
- };
128
- Git.prototype.getRootDirectory = function (handlerParams, logger) {
129
- return __awaiter(this, void 0, void 0, function () {
130
- var log, stdout;
131
- return __generator(this, function (_a) {
132
- switch (_a.label) {
133
- case 0:
134
- log = logger.child({ methodName: 'getRootDirectory' });
135
- return [4 /*yield*/, this.executeGit(GIT_ROOT_DIR_COMMAND, handlerParams, log)];
136
- case 1:
137
- stdout = _a.sent();
138
- return [2 /*return*/, stdout.toString().trim()];
139
- }
140
- });
141
- });
142
- };
143
- Git.prototype.getFiles = function (handlerParams, logger) {
144
- return __awaiter(this, void 0, void 0, function () {
145
- var log, stdout;
146
- return __generator(this, function (_a) {
147
- switch (_a.label) {
148
- case 0:
149
- log = logger.child({ methodName: 'getFiles' });
150
- return [4 /*yield*/, this.executeGit(GIT_LS_FILES_COMMAND, handlerParams, log)];
151
- case 1:
152
- stdout = _a.sent();
153
- return [2 /*return*/, stdout.trim().split('\n').map(function (file) { return file.trim(); }).filter(function (file) { return file.length > 0; })];
154
- }
155
- });
156
- });
157
- };
158
- Git.prototype.getContributors = function (handlerParams, logger) {
159
- return __awaiter(this, void 0, void 0, function () {
160
- var buildArgs, log, historyLength, format, stdout;
161
- return __generator(this, function (_a) {
162
- switch (_a.label) {
163
- case 0:
164
- buildArgs = this.getBuildArgs();
165
- log = logger.child({ methodName: 'getContributors' });
166
- historyLength = this.getHistoryLength(buildArgs, log);
167
- format = new git_format_builder_1.GitFormatBuilder().withAuthorName('contributorName').withAuthorEmail('contributorEmail').build();
168
- return [4 /*yield*/, this.executeGit('log -n ' + historyLength + ' --all --format=' + format, handlerParams, log)];
169
- case 1:
170
- stdout = _a.sent();
171
- return [2 /*return*/, this.parseContributorsOutput(stdout, log)];
172
- }
173
- });
174
- });
175
- };
176
- Git.prototype.getGitDiffs = function (refCommit, handlerParams, logger) {
177
- return __awaiter(this, void 0, void 0, function () {
178
- var log, stdout, parsedLog;
179
- return __generator(this, function (_a) {
180
- switch (_a.label) {
181
- case 0:
182
- log = logger.child({ methodName: 'getGitDiffs' });
183
- return [4 /*yield*/, this.executeGit('diff ' + refCommit + ' --name-status -M100', handlerParams, log)];
184
- case 1:
185
- stdout = _a.sent();
186
- parsedLog = this.parseGitDiffs(stdout.toString()).filter(function (d) { return d.op != 'unknown' && d.path; });
187
- return [2 /*return*/, parsedLog];
188
- }
189
- });
190
- });
191
- };
192
- Git.prototype.getCommitOnlyHistory = function (historyLength, handlerParams, logger) {
193
- return __awaiter(this, void 0, void 0, function () {
194
- var log, format, stdout;
195
- return __generator(this, function (_a) {
196
- switch (_a.label) {
197
- case 0:
198
- if (historyLength < 1)
199
- historyLength = 1;
200
- log = logger.child({ methodName: 'getCommitOnlyHistory' });
201
- format = new git_format_builder_1.GitFormatBuilder().withCommit();
202
- return [4 /*yield*/, this.executeGit('log -n ' + historyLength + ' --format=' + format, handlerParams, log)];
203
- case 1:
204
- stdout = _a.sent();
205
- return [2 /*return*/, this.logParse(stdout.toString())];
206
- }
207
- });
208
- });
209
- };
210
- /**
211
- *
212
- * @param gitArgs full git command, without the 'git' prefix, e.g. log -n 1
213
- * @param handlerParams
214
- * @param log
215
- */
216
- Git.prototype.executeGit = function (gitArgs, handlerParams, log) {
217
- var _this = this;
218
- var gitPath = this.getGitPath();
219
- return new Promise(function (resolve, reject) {
220
- try {
221
- log.info('GIT: invoking git ' + gitArgs);
222
- log.info('GIT PATH: ' + gitPath);
223
- var cmd = gitPath + ' ' + gitArgs;
224
- child_process_1.exec(cmd, {
225
- cwd: handlerParams.buildArguments.workspacepath,
226
- maxBuffer: MAX_BUFFER_VALUE
227
- }, function (error, stdout, stderr) {
228
- if (error !== null) {
229
- _this.globalErrorHandler.setLastError(error, 'GIT log error: ');
230
- log.error('GIT log error: ' + error);
231
- log.error('stderr: ' + stderr);
232
- return reject(error);
233
- }
234
- return resolve(stdout.toString().trim());
235
- });
236
- }
237
- catch (e) {
238
- _this.globalErrorHandler.setLastError(e, 'GIT execution error: ');
239
- reject(e);
240
- }
241
- });
242
- };
243
- Git.prototype.parseContributorsOutput = function (stdout, logger) {
244
- var _this = this;
245
- var contributors = [];
246
- var emailToIndexMap = {};
247
- var lines = stdout.toString().split('\n');
248
- var contributorIndex = 0;
249
- lines.forEach(function (line, lineIndex) {
250
- if (!line || line.trim().length == 0) {
251
- return;
252
- }
253
- line = line.trim();
254
- try {
255
- line = _this.fixUnSupportedJsonCharacters(line);
256
- var contributorData = JSON.parse(line);
257
- if (!emailToIndexMap.hasOwnProperty(contributorData.contributorEmail)) {
258
- contributors.push(contributorData);
259
- emailToIndexMap[contributorData.contributorEmail] = contributorIndex++;
260
- }
261
- }
262
- catch (err) {
263
- _this.logJsonParsError(logger, line, 'contributor', err);
264
- }
265
- });
266
- var contributorsLog = {
267
- contributors: contributors,
268
- emailToIndexMap: emailToIndexMap
269
- };
270
- return contributorsLog;
271
- };
272
- Git.prototype.getGitPath = function () {
273
- return (this.getBuildArgs() || {}).gitPath || 'git';
274
- };
275
- Git.prototype.getBuildArgs = function () { return this.buildArgs; };
276
- Git.prototype.createCommitLogEntry = function (line, handlerParams) {
277
- var lineObject = JSON.parse(line); //TODO: Improve typing
278
- var authorEmail = lineObject.authorEmail;
279
- var authorIndex = handlerParams.emailToIndexMap[authorEmail];
280
- var commitLogEntry = {
281
- contributorIndex: authorIndex,
282
- commit: lineObject.commit,
283
- commiterDate: parseInt(lineObject.committerDate),
284
- authorDate: parseInt(lineObject.authorDate),
285
- title: lineObject.title
286
- };
287
- return commitLogEntry;
288
- };
289
- Git.prototype.logJsonParsError = function (logger, line, field, err) {
290
- logger.warn('Unsupported string format "' + line + '" .\'' + field + '\' may not be shown in dashboard');
291
- logger.debug('Error: %s', err);
292
- };
293
- Git.prototype.parseBranchHistoryOutput = function (stdout, handlerParams, logger) {
294
- var _this = this;
295
- var commitHistory = [];
296
- var commitLog = [];
297
- var commitToIndexMap = {};
298
- var sendContributors = handlerParams.buildArguments.sendContributors;
299
- var lines = stdout.toString().split('\n');
300
- lines.forEach(function (line, index) {
301
- if (!line || line.trim().length == 0) {
302
- return;
303
- }
304
- line = line.trim();
305
- line = _this.fixUnSupportedJsonCharacters(line);
306
- try {
307
- var gitLogEntry = void 0;
308
- if (sendContributors) {
309
- gitLogEntry = _this.createCommitLogEntry(line, handlerParams);
310
- }
311
- else {
312
- gitLogEntry = JSON.parse(line); //How can this be a JSON-encoded object??
313
- }
314
- commitHistory.push(gitLogEntry.commit);
315
- commitLog.push(gitLogEntry);
316
- commitToIndexMap[gitLogEntry.commit] = index;
317
- }
318
- catch (err) {
319
- _this.logJsonParsError(logger, line, 'commit-log', err);
320
- }
321
- });
322
- var gitLog = {
323
- commitHistory: commitHistory,
324
- commitLog: commitLog,
325
- commitToIndexMap: undefined
326
- };
327
- if (sendContributors) {
328
- gitLog.commitToIndexMap = commitToIndexMap;
329
- }
330
- return gitLog;
331
- };
332
- Git.prototype.parseCommitsPerFileOutput = function (stdout, commitToIndexMap, log) {
333
- var fileToCommitMap = {};
334
- var commits = stdout.toString().split('hash:');
335
- try {
336
- commits.forEach(function (currCommit) {
337
- currCommit = currCommit.trim();
338
- var commitData = currCommit.split('\n');
339
- if (commitData.length < 2) {
340
- return;
341
- }
342
- var commitHash = commitData[0];
343
- for (var i = 1; i < commitData.length; i++) {
344
- if (fileToCommitMap[commitData[i]]) {
345
- fileToCommitMap[commitData[i]].push(commitToIndexMap[commitHash]);
346
- }
347
- else {
348
- fileToCommitMap[commitData[i]] = [commitToIndexMap[commitHash]];
349
- }
350
- }
351
- });
352
- }
353
- catch (e) {
354
- log.error('File to commit map error: ' + e);
355
- }
356
- return fileToCommitMap;
357
- };
358
- Git.prototype.getHistoryLength = function (cfg, log) {
359
- var historyLength = 100;
360
- if (cfg.branchHistoryLength) {
361
- var v = parseInt(cfg.branchHistoryLength);
362
- if (v < 1 || Number.isNaN(v)) {
363
- log.error('An invalid value was specified for branchHistoryLength in sealights.json: ' + cfg.branchHistoryLength + '. Valid values are positive integers. Defaulting to ' + historyLength);
364
- }
365
- else {
366
- historyLength = v;
367
- }
368
- }
369
- return historyLength;
370
- };
371
- Git.prototype.fixUnSupportedJsonCharacters = function (entry) {
372
- // Backslashes ar not supported by json format so we replace it to double slashes.
373
- // For more info please see 'http://json.org/' (the string schema).
374
- return entry.replace(/\\/g, '\\\\');
375
- };
376
- Git.prototype.logParse = function (stdout) {
377
- //git output contains exactly one hash per line, so little processing is required.
378
- return stdout.split('\n').map(function (l) { return l.trim(); });
379
- };
380
- //Parse git log output from 'git diff [revision] --name-status -M100
381
- Git.prototype.parseGitDiffs = function (stdout) {
382
- return stdout.split('\n').map(function (l) {
383
- var parts = l.trim().split('\t');
384
- var fileStatus = parts[0];
385
- var path = parts[1];
386
- var newPath = parts[2];
387
- var diffEntry = { op: 'unknown', path: path };
388
- switch (fileStatus[0]) {
389
- case 'A':
390
- diffEntry.op = 'added';
391
- break;
392
- case 'D':
393
- diffEntry.op = 'deleted';
394
- break;
395
- case 'M':
396
- diffEntry.op = 'modified';
397
- break;
398
- case 'R': //file renamed and possibly modified, depending on the rank (3 digits that follow the 'R'). rank = 100 means "renamed", otherwise renamed-modified
399
- {
400
- var rank = parseInt(fileStatus.substr(1));
401
- diffEntry.op = (rank == 100) ? 'renamed' : 'renamed-modified';
402
- diffEntry.newPath = newPath;
403
- }
404
- break;
405
- }
406
- return diffEntry;
407
- });
408
- };
409
- return Git;
410
- }());
411
- exports.Git = Git;
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 __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Git = void 0;
40
+ var child_process_1 = require("child_process");
41
+ var git_format_builder_1 = require("./git-format-builder");
42
+ var GIT_ROOT_DIR_COMMAND = 'rev-parse --show-toplevel';
43
+ var GIT_LS_FILES_COMMAND = 'ls-tree --full-tree -r --name-only HEAD';
44
+ var MAX_BUFFER_VALUE = 1024 * 1024 * 200; //200 Mb, instead of 200Kb
45
+ var Git = /** @class */ (function () {
46
+ function Git(buildArgs, globalErrorHandler) {
47
+ this.buildArgs = buildArgs;
48
+ this.globalErrorHandler = globalErrorHandler;
49
+ }
50
+ Git.prototype.detectCommitVersion = function (handlerParams, logger) {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var log, commit;
53
+ return __generator(this, function (_a) {
54
+ switch (_a.label) {
55
+ case 0:
56
+ log = logger.child({ methodName: 'detectCommitVersion' });
57
+ return [4 /*yield*/, this.executeGit('log -n 1 --pretty=format:%H', handlerParams, log)];
58
+ case 1:
59
+ commit = _a.sent();
60
+ return [2 /*return*/, commit];
61
+ }
62
+ });
63
+ });
64
+ };
65
+ Git.prototype.getBranchHistory = function (handlerParams, logger) {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ var buildArgs, log, historyLength, format, stdout;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ buildArgs = this.getBuildArgs();
72
+ log = logger.child({ methodName: 'getBranchHistory' });
73
+ historyLength = this.getHistoryLength(buildArgs, log);
74
+ format = new git_format_builder_1.GitFormatBuilder().withCommit().withAuthorName().withAuthorEmail().withCommiterName().withCommiterEmail()
75
+ .withAuthorDate().withCommiterDate().withTitle().build();
76
+ return [4 /*yield*/, this.executeGit('log -n ' + historyLength + ' --format=' + format, handlerParams, log)];
77
+ case 1:
78
+ stdout = _a.sent();
79
+ return [2 /*return*/, this.parseBranchHistoryOutput(stdout, handlerParams, log)];
80
+ }
81
+ });
82
+ });
83
+ };
84
+ Git.prototype.getCommitsPerFile = function (handlerParams, logger) {
85
+ return __awaiter(this, void 0, void 0, function () {
86
+ var buildArgs, log, historyLength, commitToIndexMap, stdout;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0:
90
+ buildArgs = this.getBuildArgs();
91
+ log = logger.child({ methodName: 'getCommitsPerFile' });
92
+ historyLength = this.getHistoryLength(buildArgs, log);
93
+ commitToIndexMap = handlerParams.commitToIndexMap;
94
+ if (!commitToIndexMap) {
95
+ logger.error('Cannot get commits for file, Commits log map is null or undefined');
96
+ return [2 /*return*/, {}];
97
+ }
98
+ return [4 /*yield*/, this.executeGit('log -' + historyLength + ' --name-only --pretty=format:hash:%H', handlerParams, log)];
99
+ case 1:
100
+ stdout = _a.sent();
101
+ return [2 /*return*/, this.parseCommitsPerFileOutput(stdout, commitToIndexMap, log)];
102
+ }
103
+ });
104
+ });
105
+ };
106
+ Git.prototype.getRepositoryUrl = function (handlerParams, logger) {
107
+ return __awaiter(this, void 0, void 0, function () {
108
+ var log, stdout, repositoryUrl, parsedLog;
109
+ return __generator(this, function (_a) {
110
+ switch (_a.label) {
111
+ case 0:
112
+ log = logger.child({ methodName: 'getRepositoryUrl' });
113
+ return [4 /*yield*/, this.executeGit('remote -v', handlerParams, log)];
114
+ case 1:
115
+ stdout = _a.sent();
116
+ repositoryUrl = '';
117
+ if (stdout.toString()) {
118
+ parsedLog = this.logParse(stdout.toString());
119
+ //NOTE: If there are multiple (fetch) remotes, it would be best to pick the line with that has "origin" as the first column (before the \t), if one exists.
120
+ //Anyway we should also warn that there were multiple remotes detected
121
+ repositoryUrl = parsedLog[0].split('\t').map(function (l) { return l.trim(); })[1].replace(' (fetch)', '');
122
+ }
123
+ return [2 /*return*/, repositoryUrl];
124
+ }
125
+ });
126
+ });
127
+ };
128
+ Git.prototype.getRootDirectory = function (handlerParams, logger) {
129
+ return __awaiter(this, void 0, void 0, function () {
130
+ var log, stdout;
131
+ return __generator(this, function (_a) {
132
+ switch (_a.label) {
133
+ case 0:
134
+ log = logger.child({ methodName: 'getRootDirectory' });
135
+ return [4 /*yield*/, this.executeGit(GIT_ROOT_DIR_COMMAND, handlerParams, log)];
136
+ case 1:
137
+ stdout = _a.sent();
138
+ return [2 /*return*/, stdout.toString().trim()];
139
+ }
140
+ });
141
+ });
142
+ };
143
+ Git.prototype.getFiles = function (handlerParams, logger) {
144
+ return __awaiter(this, void 0, void 0, function () {
145
+ var log, stdout;
146
+ return __generator(this, function (_a) {
147
+ switch (_a.label) {
148
+ case 0:
149
+ log = logger.child({ methodName: 'getFiles' });
150
+ return [4 /*yield*/, this.executeGit(GIT_LS_FILES_COMMAND, handlerParams, log)];
151
+ case 1:
152
+ stdout = _a.sent();
153
+ return [2 /*return*/, stdout.trim().split('\n').map(function (file) { return file.trim(); }).filter(function (file) { return file.length > 0; })];
154
+ }
155
+ });
156
+ });
157
+ };
158
+ Git.prototype.getContributors = function (handlerParams, logger) {
159
+ return __awaiter(this, void 0, void 0, function () {
160
+ var buildArgs, log, historyLength, format, stdout;
161
+ return __generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0:
164
+ buildArgs = this.getBuildArgs();
165
+ log = logger.child({ methodName: 'getContributors' });
166
+ historyLength = this.getHistoryLength(buildArgs, log);
167
+ format = new git_format_builder_1.GitFormatBuilder().withAuthorName('contributorName').withAuthorEmail('contributorEmail').build();
168
+ return [4 /*yield*/, this.executeGit('log -n ' + historyLength + ' --all --format=' + format, handlerParams, log)];
169
+ case 1:
170
+ stdout = _a.sent();
171
+ return [2 /*return*/, this.parseContributorsOutput(stdout, log)];
172
+ }
173
+ });
174
+ });
175
+ };
176
+ Git.prototype.getGitDiffs = function (refCommit, handlerParams, logger) {
177
+ return __awaiter(this, void 0, void 0, function () {
178
+ var log, stdout, parsedLog;
179
+ return __generator(this, function (_a) {
180
+ switch (_a.label) {
181
+ case 0:
182
+ log = logger.child({ methodName: 'getGitDiffs' });
183
+ return [4 /*yield*/, this.executeGit('diff ' + refCommit + ' --name-status -M100', handlerParams, log)];
184
+ case 1:
185
+ stdout = _a.sent();
186
+ parsedLog = this.parseGitDiffs(stdout.toString()).filter(function (d) { return d.op != 'unknown' && d.path; });
187
+ return [2 /*return*/, parsedLog];
188
+ }
189
+ });
190
+ });
191
+ };
192
+ Git.prototype.getCommitOnlyHistory = function (historyLength, handlerParams, logger) {
193
+ return __awaiter(this, void 0, void 0, function () {
194
+ var log, format, stdout;
195
+ return __generator(this, function (_a) {
196
+ switch (_a.label) {
197
+ case 0:
198
+ if (historyLength < 1)
199
+ historyLength = 1;
200
+ log = logger.child({ methodName: 'getCommitOnlyHistory' });
201
+ format = new git_format_builder_1.GitFormatBuilder().withCommit();
202
+ return [4 /*yield*/, this.executeGit('log -n ' + historyLength + ' --format=' + format, handlerParams, log)];
203
+ case 1:
204
+ stdout = _a.sent();
205
+ return [2 /*return*/, this.logParse(stdout.toString())];
206
+ }
207
+ });
208
+ });
209
+ };
210
+ /**
211
+ *
212
+ * @param gitArgs full git command, without the 'git' prefix, e.g. log -n 1
213
+ * @param handlerParams
214
+ * @param log
215
+ */
216
+ Git.prototype.executeGit = function (gitArgs, handlerParams, log) {
217
+ var _this = this;
218
+ var gitPath = this.getGitPath();
219
+ return new Promise(function (resolve, reject) {
220
+ try {
221
+ log.info('GIT: invoking git ' + gitArgs);
222
+ log.info('GIT PATH: ' + gitPath);
223
+ var cmd = gitPath + ' ' + gitArgs;
224
+ (0, child_process_1.exec)(cmd, {
225
+ cwd: handlerParams.buildArguments.workspacepath,
226
+ maxBuffer: MAX_BUFFER_VALUE
227
+ }, function (error, stdout, stderr) {
228
+ if (error !== null) {
229
+ _this.globalErrorHandler.setLastError(error, 'GIT log error: ');
230
+ log.error('GIT log error: ' + error);
231
+ log.error('stderr: ' + stderr);
232
+ return reject(error);
233
+ }
234
+ return resolve(stdout.toString().trim());
235
+ });
236
+ }
237
+ catch (e) {
238
+ _this.globalErrorHandler.setLastError(e, 'GIT execution error: ');
239
+ reject(e);
240
+ }
241
+ });
242
+ };
243
+ Git.prototype.parseContributorsOutput = function (stdout, logger) {
244
+ var _this = this;
245
+ var contributors = [];
246
+ var emailToIndexMap = {};
247
+ var lines = stdout.toString().split('\n');
248
+ var contributorIndex = 0;
249
+ lines.forEach(function (line, lineIndex) {
250
+ if (!line || line.trim().length == 0) {
251
+ return;
252
+ }
253
+ line = line.trim();
254
+ try {
255
+ line = _this.fixUnSupportedJsonCharacters(line);
256
+ var contributorData = JSON.parse(line);
257
+ if (!emailToIndexMap.hasOwnProperty(contributorData.contributorEmail)) {
258
+ contributors.push(contributorData);
259
+ emailToIndexMap[contributorData.contributorEmail] = contributorIndex++;
260
+ }
261
+ }
262
+ catch (err) {
263
+ _this.logJsonParsError(logger, line, 'contributor', err);
264
+ }
265
+ });
266
+ var contributorsLog = {
267
+ contributors: contributors,
268
+ emailToIndexMap: emailToIndexMap
269
+ };
270
+ return contributorsLog;
271
+ };
272
+ Git.prototype.getGitPath = function () {
273
+ return (this.getBuildArgs() || {}).gitPath || 'git';
274
+ };
275
+ Git.prototype.getBuildArgs = function () { return this.buildArgs; };
276
+ Git.prototype.createCommitLogEntry = function (line, handlerParams) {
277
+ var lineObject = JSON.parse(line); //TODO: Improve typing
278
+ var authorEmail = lineObject.authorEmail;
279
+ var authorIndex = handlerParams.emailToIndexMap[authorEmail];
280
+ var commitLogEntry = {
281
+ contributorIndex: authorIndex,
282
+ commit: lineObject.commit,
283
+ commiterDate: parseInt(lineObject.committerDate),
284
+ authorDate: parseInt(lineObject.authorDate),
285
+ title: lineObject.title
286
+ };
287
+ return commitLogEntry;
288
+ };
289
+ Git.prototype.logJsonParsError = function (logger, line, field, err) {
290
+ logger.warn('Unsupported string format "' + line + '" .\'' + field + '\' may not be shown in dashboard');
291
+ logger.debug('Error: %s', err);
292
+ };
293
+ Git.prototype.parseBranchHistoryOutput = function (stdout, handlerParams, logger) {
294
+ var _this = this;
295
+ var commitHistory = [];
296
+ var commitLog = [];
297
+ var commitToIndexMap = {};
298
+ var sendContributors = handlerParams.buildArguments.sendContributors;
299
+ var lines = stdout.toString().split('\n');
300
+ lines.forEach(function (line, index) {
301
+ if (!line || line.trim().length == 0) {
302
+ return;
303
+ }
304
+ line = line.trim();
305
+ line = _this.fixUnSupportedJsonCharacters(line);
306
+ try {
307
+ var gitLogEntry = void 0;
308
+ if (sendContributors) {
309
+ gitLogEntry = _this.createCommitLogEntry(line, handlerParams);
310
+ }
311
+ else {
312
+ gitLogEntry = JSON.parse(line); //How can this be a JSON-encoded object??
313
+ }
314
+ commitHistory.push(gitLogEntry.commit);
315
+ commitLog.push(gitLogEntry);
316
+ commitToIndexMap[gitLogEntry.commit] = index;
317
+ }
318
+ catch (err) {
319
+ _this.logJsonParsError(logger, line, 'commit-log', err);
320
+ }
321
+ });
322
+ var gitLog = {
323
+ commitHistory: commitHistory,
324
+ commitLog: commitLog,
325
+ commitToIndexMap: undefined
326
+ };
327
+ if (sendContributors) {
328
+ gitLog.commitToIndexMap = commitToIndexMap;
329
+ }
330
+ return gitLog;
331
+ };
332
+ Git.prototype.parseCommitsPerFileOutput = function (stdout, commitToIndexMap, log) {
333
+ var fileToCommitMap = {};
334
+ var commits = stdout.toString().split('hash:');
335
+ try {
336
+ commits.forEach(function (currCommit) {
337
+ currCommit = currCommit.trim();
338
+ var commitData = currCommit.split('\n');
339
+ if (commitData.length < 2) {
340
+ return;
341
+ }
342
+ var commitHash = commitData[0];
343
+ for (var i = 1; i < commitData.length; i++) {
344
+ if (fileToCommitMap[commitData[i]]) {
345
+ fileToCommitMap[commitData[i]].push(commitToIndexMap[commitHash]);
346
+ }
347
+ else {
348
+ fileToCommitMap[commitData[i]] = [commitToIndexMap[commitHash]];
349
+ }
350
+ }
351
+ });
352
+ }
353
+ catch (e) {
354
+ log.error('File to commit map error: ' + e);
355
+ }
356
+ return fileToCommitMap;
357
+ };
358
+ Git.prototype.getHistoryLength = function (cfg, log) {
359
+ var historyLength = 100;
360
+ if (cfg.branchHistoryLength) {
361
+ var v = parseInt(cfg.branchHistoryLength);
362
+ if (v < 1 || Number.isNaN(v)) {
363
+ log.error('An invalid value was specified for branchHistoryLength in sealights.json: ' + cfg.branchHistoryLength + '. Valid values are positive integers. Defaulting to ' + historyLength);
364
+ }
365
+ else {
366
+ historyLength = v;
367
+ }
368
+ }
369
+ return historyLength;
370
+ };
371
+ Git.prototype.fixUnSupportedJsonCharacters = function (entry) {
372
+ // Backslashes ar not supported by json format so we replace it to double slashes.
373
+ // For more info please see 'http://json.org/' (the string schema).
374
+ return entry.replace(/\\/g, '\\\\');
375
+ };
376
+ Git.prototype.logParse = function (stdout) {
377
+ //git output contains exactly one hash per line, so little processing is required.
378
+ return stdout.split('\n').map(function (l) { return l.trim(); });
379
+ };
380
+ //Parse git log output from 'git diff [revision] --name-status -M100
381
+ Git.prototype.parseGitDiffs = function (stdout) {
382
+ return stdout.split('\n').map(function (l) {
383
+ var parts = l.trim().split('\t');
384
+ var fileStatus = parts[0];
385
+ var path = parts[1];
386
+ var newPath = parts[2];
387
+ var diffEntry = { op: 'unknown', path: path };
388
+ switch (fileStatus[0]) {
389
+ case 'A':
390
+ diffEntry.op = 'added';
391
+ break;
392
+ case 'D':
393
+ diffEntry.op = 'deleted';
394
+ break;
395
+ case 'M':
396
+ diffEntry.op = 'modified';
397
+ break;
398
+ case 'R': //file renamed and possibly modified, depending on the rank (3 digits that follow the 'R'). rank = 100 means "renamed", otherwise renamed-modified
399
+ {
400
+ var rank = parseInt(fileStatus.substr(1));
401
+ diffEntry.op = (rank == 100) ? 'renamed' : 'renamed-modified';
402
+ diffEntry.newPath = newPath;
403
+ }
404
+ break;
405
+ }
406
+ return diffEntry;
407
+ });
408
+ };
409
+ return Git;
410
+ }());
411
+ exports.Git = Git;
412
412
  //# sourceMappingURL=git.js.map