slnodejs 6.0.42 → 6.1.2

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 (431) hide show
  1. package/lib/cli.js +1 -1
  2. package/package.json +124 -124
  3. package/tsOutputs/api.d.ts +12 -12
  4. package/tsOutputs/api.js +116 -116
  5. package/tsOutputs/build-scanner/ast-utils.js +38 -38
  6. package/tsOutputs/build-scanner/ast-utils.js.map +1 -1
  7. package/tsOutputs/build-scanner/build-diff-process.js +352 -346
  8. package/tsOutputs/build-scanner/build-diff-process.js.map +1 -1
  9. package/tsOutputs/build-scanner/cia.js +95 -95
  10. package/tsOutputs/build-scanner/complexity-metrics/complexity-metrics.js +1 -0
  11. package/tsOutputs/build-scanner/complexity-metrics/complexity-metrics.js.map +1 -0
  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 -46
  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 +185 -190
  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/code-metrics-spec.js +1 -0
  33. package/tsOutputs/build-scanner/js_diff/code-metrics-spec.js.map +1 -0
  34. package/tsOutputs/build-scanner/js_diff/code-metrics.js +1 -0
  35. package/tsOutputs/build-scanner/js_diff/code-metrics.js.map +1 -0
  36. package/tsOutputs/build-scanner/js_diff/create-node-key.js +7 -7
  37. package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js +23 -23
  38. package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js.map +1 -1
  39. package/tsOutputs/build-scanner/js_diff/file-signature.js +234 -231
  40. package/tsOutputs/build-scanner/js_diff/file-signature.js.map +1 -1
  41. package/tsOutputs/build-scanner/js_diff/files-mapping.js +460 -473
  42. package/tsOutputs/build-scanner/js_diff/files-mapping.js.map +1 -1
  43. package/tsOutputs/build-scanner/js_diff/generated-file-signature.js +143 -143
  44. package/tsOutputs/build-scanner/js_diff/generated-file-signature.js.map +1 -1
  45. package/tsOutputs/build-scanner/js_diff/globalMethodIndexer.js +26 -26
  46. package/tsOutputs/build-scanner/js_diff/guess-method-location.js +100 -97
  47. package/tsOutputs/build-scanner/js_diff/guess-method-location.js.map +1 -1
  48. package/tsOutputs/build-scanner/js_diff/guess-method-name.js +54 -54
  49. package/tsOutputs/build-scanner/js_diff/method-signature.js +142 -140
  50. package/tsOutputs/build-scanner/js_diff/method-signature.js.map +1 -1
  51. package/tsOutputs/build-scanner/js_diff/sl-mapper.js +136 -75
  52. package/tsOutputs/build-scanner/js_diff/sl-mapper.js.map +1 -1
  53. package/tsOutputs/build-scanner/js_diff/source-data-enricher.js +89 -89
  54. package/tsOutputs/build-scanner/js_diff/source-data-enricher.js.map +1 -1
  55. package/tsOutputs/build-scanner/js_diff/source-files-notifier.js +31 -31
  56. package/tsOutputs/build-scanner/js_diff/source-position-mapper.js +29 -29
  57. package/tsOutputs/build-scanner/mappings/contracts.js +3 -0
  58. package/tsOutputs/build-scanner/mappings/contracts.js.map +1 -0
  59. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js +214 -0
  60. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js.map +1 -0
  61. package/tsOutputs/build-scanner/mappings/file-element-utils.js +47 -0
  62. package/tsOutputs/build-scanner/mappings/file-element-utils.js.map +1 -0
  63. package/tsOutputs/build-scanner/mappings/file-enricher.js +205 -0
  64. package/tsOutputs/build-scanner/mappings/file-enricher.js.map +1 -0
  65. package/tsOutputs/build-scanner/mappings/files-data-container.js +52 -0
  66. package/tsOutputs/build-scanner/mappings/files-data-container.js.map +1 -0
  67. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js +78 -0
  68. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js.map +1 -0
  69. package/tsOutputs/build-scanner/markup-files-parser.js +71 -71
  70. package/tsOutputs/build-scanner/nopt-types.js +19 -19
  71. package/tsOutputs/build-scanner/nopt-usage-2.js +56 -56
  72. package/tsOutputs/build-scanner/polyfills.js +6 -6
  73. package/tsOutputs/build-scanner/scm/parse-log.js +5 -5
  74. package/tsOutputs/build-scanner/scm/scm-files-container.js +49 -49
  75. package/tsOutputs/build-scanner/sl-config-cia-cli.js +175 -175
  76. package/tsOutputs/build-scanner/utils.js +91 -91
  77. package/tsOutputs/cli-parse/agent-instance-data.d.ts +2 -2
  78. package/tsOutputs/cli-parse/agent-instance-data.js +6 -6
  79. package/tsOutputs/cli-parse/child-process-wrapper.js +82 -82
  80. package/tsOutputs/cli-parse/child-process-wrapper.js.map +1 -1
  81. package/tsOutputs/cli-parse/cli.js +509 -509
  82. package/tsOutputs/cli-parse/constants/constants.js +55 -56
  83. package/tsOutputs/cli-parse/constants/constants.js.map +1 -1
  84. package/tsOutputs/cli-parse/constants/third-parties.js +10 -10
  85. package/tsOutputs/cli-parse/contracts.js +2 -2
  86. package/tsOutputs/cli-parse/custom-commander.js +44 -44
  87. package/tsOutputs/cli-parse/executors/base-executor.js +263 -254
  88. package/tsOutputs/cli-parse/executors/base-executor.js.map +1 -1
  89. package/tsOutputs/cli-parse/executors/build-args-dto.js +55 -55
  90. package/tsOutputs/cli-parse/executors/build-end-executor.js +115 -117
  91. package/tsOutputs/cli-parse/executors/build-end-executor.js.map +1 -1
  92. package/tsOutputs/cli-parse/executors/build-executor.js +147 -149
  93. package/tsOutputs/cli-parse/executors/build-executor.js.map +1 -1
  94. package/tsOutputs/cli-parse/executors/config-executor.js +112 -114
  95. package/tsOutputs/cli-parse/executors/config-executor.js.map +1 -1
  96. package/tsOutputs/cli-parse/executors/dry-run/base-data.js +55 -55
  97. package/tsOutputs/cli-parse/executors/dry-run/base-data.js.map +1 -1
  98. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js +228 -230
  99. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js.map +1 -1
  100. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js +277 -277
  101. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js.map +1 -1
  102. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js +120 -122
  103. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js.map +1 -1
  104. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js +130 -72
  105. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js.map +1 -1
  106. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js +104 -99
  107. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js.map +1 -1
  108. package/tsOutputs/cli-parse/executors/end-execution-executor.js +88 -90
  109. package/tsOutputs/cli-parse/executors/end-execution-executor.js.map +1 -1
  110. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js +132 -134
  111. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js.map +1 -1
  112. package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js +73 -75
  113. package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js.map +1 -1
  114. package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js +71 -73
  115. package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js.map +1 -1
  116. package/tsOutputs/cli-parse/executors/mocha-executor.js +122 -124
  117. package/tsOutputs/cli-parse/executors/mocha-executor.js.map +1 -1
  118. package/tsOutputs/cli-parse/executors/nyc-report-executor.js +104 -106
  119. package/tsOutputs/cli-parse/executors/nyc-report-executor.js.map +1 -1
  120. package/tsOutputs/cli-parse/executors/pr-config-executor.js +83 -85
  121. package/tsOutputs/cli-parse/executors/pr-config-executor.js.map +1 -1
  122. package/tsOutputs/cli-parse/executors/run-executor.js +93 -95
  123. package/tsOutputs/cli-parse/executors/run-executor.js.map +1 -1
  124. package/tsOutputs/cli-parse/executors/start-execution-executor.js +91 -93
  125. package/tsOutputs/cli-parse/executors/start-execution-executor.js.map +1 -1
  126. package/tsOutputs/cli-parse/executors/test-executions-executor.js +75 -77
  127. package/tsOutputs/cli-parse/executors/test-executions-executor.js.map +1 -1
  128. package/tsOutputs/cli-parse/executors/test-listener-executor.js +149 -151
  129. package/tsOutputs/cli-parse/executors/test-listener-executor.js.map +1 -1
  130. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js +75 -77
  131. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js.map +1 -1
  132. package/tsOutputs/cli-parse/executors/upload-report-executor.js +116 -118
  133. package/tsOutputs/cli-parse/executors/upload-report-executor.js.map +1 -1
  134. package/tsOutputs/cli-parse/utils.js +32 -32
  135. package/tsOutputs/cli-parse/utils.js.map +1 -1
  136. package/tsOutputs/common/agent-events/agent-events-conracts.d.ts +123 -123
  137. package/tsOutputs/common/agent-events/agent-events-conracts.js +56 -56
  138. package/tsOutputs/common/agent-events/agent-events-controller.d.ts +45 -45
  139. package/tsOutputs/common/agent-events/agent-events-controller.js +301 -301
  140. package/tsOutputs/common/agent-events/agent-events-controller.js.map +1 -1
  141. package/tsOutputs/common/agent-events/agent-instance-info-builder.d.ts +22 -22
  142. package/tsOutputs/common/agent-events/agent-instance-info-builder.js +63 -63
  143. package/tsOutputs/common/agent-events/agent-instance-info-builder.js.map +1 -1
  144. package/tsOutputs/common/agent-events/agent-start-info-builder.d.ts +14 -14
  145. package/tsOutputs/common/agent-events/agent-start-info-builder.js +23 -23
  146. package/tsOutputs/common/agent-events/ci-info-builder.d.ts +7 -7
  147. package/tsOutputs/common/agent-events/ci-info-builder.js +30 -30
  148. package/tsOutputs/common/agent-events/cockpit-notifier.d.ts +26 -26
  149. package/tsOutputs/common/agent-events/cockpit-notifier.js +119 -119
  150. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.d.ts +7 -7
  151. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js +31 -33
  152. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js.map +1 -1
  153. package/tsOutputs/common/agent-events/machine-info-builder.d.ts +7 -7
  154. package/tsOutputs/common/agent-events/machine-info-builder.js +35 -35
  155. package/tsOutputs/common/agent-events/machine-info-builder.js.map +1 -1
  156. package/tsOutputs/common/agent-events/nodejs-env-info-builder.d.ts +8 -8
  157. package/tsOutputs/common/agent-events/nodejs-env-info-builder.js +19 -19
  158. package/tsOutputs/common/agent-events/sensitive-data-filter.d.ts +2 -2
  159. package/tsOutputs/common/agent-events/sensitive-data-filter.js +54 -54
  160. package/tsOutputs/common/agent-instance-data.d.ts +10 -10
  161. package/tsOutputs/common/agent-instance-data.js +39 -39
  162. package/tsOutputs/common/agent-instance-data.js.map +1 -1
  163. package/tsOutputs/common/config-process/config-loader.d.ts +8 -8
  164. package/tsOutputs/common/config-process/config-loader.js +86 -86
  165. package/tsOutputs/common/config-process/config-system.d.ts +88 -88
  166. package/tsOutputs/common/config-process/config-system.js +293 -293
  167. package/tsOutputs/common/config-process/config.d.ts +60 -60
  168. package/tsOutputs/common/config-process/config.js +90 -92
  169. package/tsOutputs/common/config-process/config.js.map +1 -1
  170. package/tsOutputs/common/config-process/index.d.ts +21 -21
  171. package/tsOutputs/common/config-process/index.js +125 -127
  172. package/tsOutputs/common/config-process/index.js.map +1 -1
  173. package/tsOutputs/common/constants/constants.d.ts +18 -18
  174. package/tsOutputs/common/constants/constants.js +29 -29
  175. package/tsOutputs/common/constants/sl-env-vars.d.ts +52 -52
  176. package/tsOutputs/common/constants/sl-env-vars.js +122 -122
  177. package/tsOutputs/common/contracts.d.ts +123 -123
  178. package/tsOutputs/common/contracts.js +2 -2
  179. package/tsOutputs/common/coverage-elements/contracts.d.ts +25 -25
  180. package/tsOutputs/common/coverage-elements/contracts.js +8 -8
  181. package/tsOutputs/common/coverage-elements/file-element.d.ts +35 -35
  182. package/tsOutputs/common/coverage-elements/file-element.js +158 -158
  183. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.d.ts +12 -12
  184. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js +95 -97
  185. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js.map +1 -1
  186. package/tsOutputs/common/coverage-elements/new-id-resolver.d.ts +3 -3
  187. package/tsOutputs/common/coverage-elements/new-id-resolver.js +45 -45
  188. package/tsOutputs/common/coverage-elements/new-id-resolver.js.map +1 -1
  189. package/tsOutputs/common/coverage-elements/original-module-loader.d.ts +41 -41
  190. package/tsOutputs/common/coverage-elements/original-module-loader.js +189 -189
  191. package/tsOutputs/common/coverage-elements/unique-id-converter.d.ts +32 -32
  192. package/tsOutputs/common/coverage-elements/unique-id-converter.js +234 -234
  193. package/tsOutputs/common/environment-data-service.d.ts +15 -15
  194. package/tsOutputs/common/environment-data-service.js +60 -60
  195. package/tsOutputs/common/events-process/events-contracts.d.ts +52 -52
  196. package/tsOutputs/common/events-process/events-contracts.js +19 -19
  197. package/tsOutputs/common/events-process/events-creator.js +42 -40
  198. package/tsOutputs/common/events-process/events-creator.js.map +1 -1
  199. package/tsOutputs/common/events-process/index.d.ts +42 -42
  200. package/tsOutputs/common/events-process/index.js +265 -266
  201. package/tsOutputs/common/events-process/index.js.map +1 -1
  202. package/tsOutputs/common/footprints-process/collection-interval.d.ts +10 -10
  203. package/tsOutputs/common/footprints-process/collection-interval.js +27 -27
  204. package/tsOutputs/common/footprints-process/collection-interval.js.map +1 -1
  205. package/tsOutputs/common/footprints-process/footprints-service-proxy.d.ts +12 -12
  206. package/tsOutputs/common/footprints-process/footprints-service-proxy.js +51 -51
  207. package/tsOutputs/common/footprints-process/index.d.ts +71 -71
  208. package/tsOutputs/common/footprints-process/index.js +264 -264
  209. package/tsOutputs/common/footprints-process/index.js.map +1 -1
  210. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.d.ts +98 -98
  211. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.js +9 -9
  212. package/tsOutputs/common/footprints-process/istanbul-to-footprints.d.ts +47 -47
  213. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js +421 -421
  214. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js.map +1 -1
  215. package/tsOutputs/common/footprints-process/production-footprints-handler.d.ts +54 -54
  216. package/tsOutputs/common/footprints-process/production-footprints-handler.js +308 -308
  217. package/tsOutputs/common/footprints-process/production-footprints-handler.js.map +1 -1
  218. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.d.ts +20 -20
  219. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js +63 -65
  220. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js.map +1 -1
  221. package/tsOutputs/common/footprints-process-v6/buffer-size-helper.d.ts +15 -15
  222. package/tsOutputs/common/footprints-process-v6/buffer-size-helper.js +40 -40
  223. package/tsOutputs/common/footprints-process-v6/contracts.d.ts +184 -181
  224. package/tsOutputs/common/footprints-process-v6/contracts.js +9 -9
  225. package/tsOutputs/common/footprints-process-v6/footprints-buffer.d.ts +36 -34
  226. package/tsOutputs/common/footprints-process-v6/footprints-buffer.js +147 -135
  227. package/tsOutputs/common/footprints-process-v6/footprints-buffer.js.map +1 -1
  228. package/tsOutputs/common/footprints-process-v6/hits-collector.d.ts +24 -24
  229. package/tsOutputs/common/footprints-process-v6/hits-collector.js +168 -168
  230. package/tsOutputs/common/footprints-process-v6/hits-converter.d.ts +30 -28
  231. package/tsOutputs/common/footprints-process-v6/hits-converter.js +135 -105
  232. package/tsOutputs/common/footprints-process-v6/hits-converter.js.map +1 -1
  233. package/tsOutputs/common/footprints-process-v6/index.d.ts +41 -40
  234. package/tsOutputs/common/footprints-process-v6/index.js +304 -258
  235. package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
  236. package/tsOutputs/common/footprints-process-v6/location-formatter.d.ts +6 -6
  237. package/tsOutputs/common/footprints-process-v6/location-formatter.js +25 -25
  238. package/tsOutputs/common/footprints-process-v6/relative-path-resolver.d.ts +8 -8
  239. package/tsOutputs/common/footprints-process-v6/relative-path-resolver.js +28 -28
  240. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.d.ts +9 -9
  241. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js +38 -40
  242. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js.map +1 -1
  243. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.d.ts +8 -8
  244. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js +32 -34
  245. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js.map +1 -1
  246. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.d.ts +14 -14
  247. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js +39 -41
  248. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js.map +1 -1
  249. package/tsOutputs/common/footprints-process-v6/source-map-data.d.ts +9 -9
  250. package/tsOutputs/common/footprints-process-v6/source-map-data.js +32 -32
  251. package/tsOutputs/common/footprints-process-v6/source-map-data.js.map +1 -1
  252. package/tsOutputs/common/http/backend-proxy-interface.d.ts +33 -33
  253. package/tsOutputs/common/http/backend-proxy-interface.js +2 -2
  254. package/tsOutputs/common/http/backend-proxy.d.ts +54 -53
  255. package/tsOutputs/common/http/backend-proxy.js +408 -398
  256. package/tsOutputs/common/http/backend-proxy.js.map +1 -1
  257. package/tsOutputs/common/http/contracts.d.ts +280 -203
  258. package/tsOutputs/common/http/contracts.js +156 -158
  259. package/tsOutputs/common/http/contracts.js.map +1 -1
  260. package/tsOutputs/common/http/dry-run-proxy.js +106 -106
  261. package/tsOutputs/common/http/entities-mapper.d.ts +4 -4
  262. package/tsOutputs/common/http/entities-mapper.js +17 -17
  263. package/tsOutputs/common/http/http-client.d.ts +21 -21
  264. package/tsOutputs/common/http/http-client.js +195 -191
  265. package/tsOutputs/common/http/http-client.js.map +1 -1
  266. package/tsOutputs/common/http/http-verb.d.ts +6 -6
  267. package/tsOutputs/common/http/http-verb.js +10 -10
  268. package/tsOutputs/common/http/sl-routes.d.ts +70 -70
  269. package/tsOutputs/common/http/sl-routes.js +218 -218
  270. package/tsOutputs/common/ignored-files-handler.js +122 -122
  271. package/tsOutputs/common/ignored-files-handler.js.map +1 -1
  272. package/tsOutputs/common/logger.d.ts +40 -40
  273. package/tsOutputs/common/logger.js +188 -190
  274. package/tsOutputs/common/logger.js.map +1 -1
  275. package/tsOutputs/common/messages-formatter.d.ts +6 -6
  276. package/tsOutputs/common/messages-formatter.js +21 -21
  277. package/tsOutputs/common/queue.d.ts +19 -19
  278. package/tsOutputs/common/queue.js +55 -57
  279. package/tsOutputs/common/queue.js.map +1 -1
  280. package/tsOutputs/common/scm/contracts.js +2 -2
  281. package/tsOutputs/common/scm/git-cloner.js +138 -0
  282. package/tsOutputs/common/scm/git-cloner.js.map +1 -0
  283. package/tsOutputs/common/scm/git-format-builder.js +72 -72
  284. package/tsOutputs/common/scm/git.js +411 -411
  285. package/tsOutputs/common/scm/git.js.map +1 -1
  286. package/tsOutputs/common/scm/none.js +115 -115
  287. package/tsOutputs/common/scm/scm-factory.js +21 -21
  288. package/tsOutputs/common/short-name-to-file-mapper.js +79 -79
  289. package/tsOutputs/common/source-map-handler.d.ts +58 -58
  290. package/tsOutputs/common/source-map-handler.js +197 -197
  291. package/tsOutputs/common/source-map-reader.js +84 -84
  292. package/tsOutputs/common/source-maps-utils.d.ts +3 -3
  293. package/tsOutputs/common/source-maps-utils.js +39 -39
  294. package/tsOutputs/common/state-tracker-fpv6.d.ts +6 -6
  295. package/tsOutputs/common/state-tracker-fpv6.js +42 -44
  296. package/tsOutputs/common/state-tracker-fpv6.js.map +1 -1
  297. package/tsOutputs/common/state-tracker.d.ts +49 -49
  298. package/tsOutputs/common/state-tracker.js +299 -304
  299. package/tsOutputs/common/state-tracker.js.map +1 -1
  300. package/tsOutputs/common/system-date.d.ts +2 -2
  301. package/tsOutputs/common/system-date.js +21 -21
  302. package/tsOutputs/common/utils/abstract-data-builder.d.ts +10 -10
  303. package/tsOutputs/common/utils/abstract-data-builder.js +24 -24
  304. package/tsOutputs/common/utils/abstract-data-builder.js.map +1 -1
  305. package/tsOutputs/common/utils/build-session-data-builder.d.ts +18 -18
  306. package/tsOutputs/common/utils/build-session-data-builder.js +135 -137
  307. package/tsOutputs/common/utils/build-session-data-builder.js.map +1 -1
  308. package/tsOutputs/common/utils/dependency-utils.js +69 -69
  309. package/tsOutputs/common/utils/files-utils.d.ts +6 -5
  310. package/tsOutputs/common/utils/files-utils.js +45 -36
  311. package/tsOutputs/common/utils/files-utils.js.map +1 -1
  312. package/tsOutputs/common/utils/parsing-utils.d.ts +4 -4
  313. package/tsOutputs/common/utils/parsing-utils.js +29 -29
  314. package/tsOutputs/common/utils/test-utils/mock-server-utils/contracts.js +10 -10
  315. package/tsOutputs/common/utils/test-utils/mock-server-utils/mock-server-proxy.js +248 -248
  316. package/tsOutputs/common/utils/timer-utils.d.ts +3 -3
  317. package/tsOutputs/common/utils/timer-utils.js +12 -12
  318. package/tsOutputs/common/utils/token-data-builder.d.ts +21 -21
  319. package/tsOutputs/common/utils/token-data-builder.js +95 -97
  320. package/tsOutputs/common/utils/token-data-builder.js.map +1 -1
  321. package/tsOutputs/common/utils/validation-utils.d.ts +3 -3
  322. package/tsOutputs/common/utils/validation-utils.js +18 -18
  323. package/tsOutputs/common/uuid.js +23 -23
  324. package/tsOutputs/common/watchdog.d.ts +96 -96
  325. package/tsOutputs/common/watchdog.js +149 -151
  326. package/tsOutputs/common/watchdog.js.map +1 -1
  327. package/tsOutputs/mocha-reporter/constants.js +27 -27
  328. package/tsOutputs/mocha-reporter/end-execution.js +22 -22
  329. package/tsOutputs/mocha-reporter/index.js +323 -323
  330. package/tsOutputs/test-listener/IConsoleLogger.js +5 -5
  331. package/tsOutputs/test-listener/SlNodeJsProxy.js +96 -96
  332. package/tsOutputs/test-listener/UserMessageHelper.js +47 -47
  333. package/tsOutputs/test-listener/agent-loader.js +58 -58
  334. package/tsOutputs/test-listener/agent.d.ts +53 -53
  335. package/tsOutputs/test-listener/agent.js +273 -273
  336. package/tsOutputs/test-listener/agent.js.map +1 -1
  337. package/tsOutputs/test-listener/api.js +157 -157
  338. package/tsOutputs/test-listener/base-proxy.d.ts +15 -15
  339. package/tsOutputs/test-listener/base-proxy.js +133 -133
  340. package/tsOutputs/test-listener/bootstrap.js +16 -16
  341. package/tsOutputs/test-listener/child-process-patcher.js +136 -136
  342. package/tsOutputs/test-listener/child-process-patcher.js.map +1 -1
  343. package/tsOutputs/test-listener/cli.js +64 -64
  344. package/tsOutputs/test-listener/coloring/http-coloring.d.ts +15 -15
  345. package/tsOutputs/test-listener/coloring/http-coloring.js +188 -188
  346. package/tsOutputs/test-listener/coloring/icoloring-provider.d.ts +10 -10
  347. package/tsOutputs/test-listener/coloring/icoloring-provider.js +2 -2
  348. package/tsOutputs/test-listener/coloring/listening-port.d.ts +20 -20
  349. package/tsOutputs/test-listener/coloring/listening-port.js +48 -48
  350. package/tsOutputs/test-listener/command-line-arg-parser.js +91 -91
  351. package/tsOutputs/test-listener/config-process/config-loader.js +104 -104
  352. package/tsOutputs/test-listener/config-process/config-system.d.ts +88 -88
  353. package/tsOutputs/test-listener/config-process/config-system.js +285 -285
  354. package/tsOutputs/test-listener/config-process/index.js +126 -128
  355. package/tsOutputs/test-listener/config-process/index.js.map +1 -1
  356. package/tsOutputs/test-listener/config.d.ts +50 -50
  357. package/tsOutputs/test-listener/config.js +80 -82
  358. package/tsOutputs/test-listener/config.js.map +1 -1
  359. package/tsOutputs/test-listener/contracts.d.ts +72 -72
  360. package/tsOutputs/test-listener/contracts.js +2 -2
  361. package/tsOutputs/test-listener/entities/BasicConfigurationData.js +72 -72
  362. package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js +48 -50
  363. package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js.map +1 -1
  364. package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js +51 -53
  365. package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js.map +1 -1
  366. package/tsOutputs/test-listener/environment-data-service.d.ts +11 -11
  367. package/tsOutputs/test-listener/environment-data-service.js +60 -60
  368. package/tsOutputs/test-listener/execution-process/contracts.js +5 -5
  369. package/tsOutputs/test-listener/execution-process/entities-mapper.js +49 -49
  370. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js +205 -207
  371. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js.map +1 -1
  372. package/tsOutputs/test-listener/execution-process/index.js +163 -163
  373. package/tsOutputs/test-listener/factory.d.ts +87 -87
  374. package/tsOutputs/test-listener/factory.js +285 -285
  375. package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js +50 -52
  376. package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js.map +1 -1
  377. package/tsOutputs/test-listener/footprints-process/index.js +230 -230
  378. package/tsOutputs/test-listener/footprints-process/index.js.map +1 -1
  379. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js +130 -130
  380. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-contract.js +2 -2
  381. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js +288 -290
  382. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js.map +1 -1
  383. package/tsOutputs/test-listener/integrations/SlGulp.js +104 -104
  384. package/tsOutputs/test-listener/logs-process/index.d.ts +48 -48
  385. package/tsOutputs/test-listener/logs-process/index.js +142 -142
  386. package/tsOutputs/test-listener/logs-process/index.js.map +1 -1
  387. package/tsOutputs/test-listener/logs-process/log-service-proxy.d.ts +9 -9
  388. package/tsOutputs/test-listener/logs-process/log-service-proxy.js +29 -31
  389. package/tsOutputs/test-listener/logs-process/log-service-proxy.js.map +1 -1
  390. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js +143 -136
  391. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js.map +1 -1
  392. package/tsOutputs/test-listener/nyc-report-executor.js +144 -144
  393. package/tsOutputs/test-listener/nyc-report-executor.js.map +1 -1
  394. package/tsOutputs/test-listener/queue.js +55 -57
  395. package/tsOutputs/test-listener/queue.js.map +1 -1
  396. package/tsOutputs/test-listener/remote-agent.d.ts +42 -42
  397. package/tsOutputs/test-listener/remote-agent.js +200 -200
  398. package/tsOutputs/test-listener/remote-agent.js.map +1 -1
  399. package/tsOutputs/test-listener/resolvers/AppNameResolver.js +32 -34
  400. package/tsOutputs/test-listener/resolvers/AppNameResolver.js.map +1 -1
  401. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js +64 -64
  402. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js.map +1 -1
  403. package/tsOutputs/test-listener/resolvers/BuildResolver.js +31 -33
  404. package/tsOutputs/test-listener/resolvers/BuildResolver.js.map +1 -1
  405. package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js +31 -33
  406. package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js.map +1 -1
  407. package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js +34 -36
  408. package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js.map +1 -1
  409. package/tsOutputs/test-listener/resolvers/ProxyResolver.js +31 -33
  410. package/tsOutputs/test-listener/resolvers/ProxyResolver.js.map +1 -1
  411. package/tsOutputs/test-listener/resolvers/TokenResolver.js +31 -33
  412. package/tsOutputs/test-listener/resolvers/TokenResolver.js.map +1 -1
  413. package/tsOutputs/test-listener/state-tracker-process/index.js +160 -162
  414. package/tsOutputs/test-listener/state-tracker-process/index.js.map +1 -1
  415. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.d.ts +8 -8
  416. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js +69 -71
  417. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js.map +1 -1
  418. package/tsOutputs/test-listener/test-recommendation-handler.d.ts +29 -29
  419. package/tsOutputs/test-listener/test-recommendation-handler.js +161 -161
  420. package/tsOutputs/test-listener/upload-report-handler.js +96 -96
  421. package/tsOutputs/test-listener/utils.js +68 -68
  422. package/tsOutputs/test-listener/uuid.d.ts +3 -3
  423. package/tsOutputs/test-listener/uuid.js +23 -23
  424. package/tsOutputs/test-listener/wait-for-multiple-callbacks.d.ts +22 -22
  425. package/tsOutputs/test-listener/wait-for-multiple-callbacks.js +60 -60
  426. package/tsOutputs/test-listener/watchdog.d.ts +89 -89
  427. package/tsOutputs/test-listener/watchdog.js +144 -146
  428. package/tsOutputs/test-listener/watchdog.js.map +1 -1
  429. package/browser-agent/dist/browser-agent-all.js +0 -101140
  430. package/browser-agent/dist/browser-agent-all.min.js +0 -57
  431. package/browser-agent/package.json +0 -44
@@ -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
- (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;
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;
412
412
  //# sourceMappingURL=git.js.map