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,291 +1,289 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.IstanbulToFootprintsV3 = void 0;
19
- var istanbul_to_footprints_base_1 = require("./istanbul-to-footprints-base");
20
- var fs = require("fs");
21
- var path = require("path");
22
- var sourceMap = require("source-map");
23
- var IstanbulToFootprintsV3 = /** @class */ (function (_super) {
24
- __extends(IstanbulToFootprintsV3, _super);
25
- function IstanbulToFootprintsV3(cfg, logger) {
26
- var _this = _super.call(this, logger) || this;
27
- _this.cfg = cfg;
28
- _this.totalTests = 0;
29
- if (!logger)
30
- throw new Error('logger is required');
31
- if (!cfg)
32
- throw new Error('cfg is required');
33
- return _this;
34
- }
35
- IstanbulToFootprintsV3.prototype.resetState = function () {
36
- this.totalTests = 0;
37
- //Holds the a mapping between a uniqueId for an element in a test, to an index in this elements 'hits' array.
38
- this.eidToHitsIndex = {};
39
- this.uniqueIdToElement = {};
40
- this.testNameToTestData = {};
41
- this.fileNameToAppFile = {};
42
- this.fileToSourceMapConsumer = {};
43
- };
44
- IstanbulToFootprintsV3.prototype.createFootprintsPackageForSending = function (queuedFootprints, extraData) {
45
- var _this = this;
46
- this.resetState();
47
- var result = this.createFootprintsFile(extraData);
48
- var app = result.apps[0]; //We assume single App for now.
49
- var istanbulMaps = this.getIstanbulCounters();
50
- // eslint-disable-next-line @typescript-eslint/no-this-alias
51
- var context = this;
52
- queuedFootprints.forEach(function (fp) {
53
- var test = _this.getOrCreateTestData(fp.testName, fp.executionId, fp.localTime, result);
54
- for (var moduleName in fp.footprints) {
55
- var istanbulModule = fp.footprints[moduleName];
56
- var moduleWithMaps = istanbulMaps[moduleName];
57
- _this.logger.debug('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
58
- _this.logger.debug('moduleName: %s', moduleName);
59
- if (!moduleWithMaps) {
60
- continue;
61
- }
62
- var relPath = _this.getRelativeModulePath(moduleWithMaps);
63
- if (!context.fileToSourceMapConsumer[relPath]) {
64
- context.fileToSourceMapConsumer[relPath] = _this.readSourceMaps(relPath);
65
- _this.logger.debug('Read source maps for file\':' + relPath + '\'');
66
- }
67
- var sourceMap_1 = _this.fileToSourceMapConsumer[relPath];
68
- var file = _this.getOrCreateFootprintsAppFile(relPath, app);
69
- if (istanbulModule.f) {
70
- for (var funcId in istanbulModule.f) {
71
- var hits = istanbulModule.f[funcId];
72
- if (hits > 0) {
73
- var funcInfo = moduleWithMaps.fnMap[funcId];
74
- var start = funcInfo.loc.start;
75
- if (funcInfo.decl) {
76
- start = funcInfo.decl.start; //For NYC
77
- }
78
- var sourceMapData = _this.readSourceMapData(sourceMap_1, start, relPath);
79
- var filePath = relPath;
80
- if (sourceMapData) {
81
- filePath = sourceMapData.originalFilename;
82
- start = sourceMapData.originalStart;
83
- }
84
- var uniqueId = filePath + '@' + _this.formatLoc(start);
85
- var methodElement = _this.getOrCreateMethodElement(uniqueId, file);
86
- if (_this.cfg.extendedFootprints.value) {
87
- methodElement.funcInfo = JSON.stringify(funcInfo);
88
- methodElement.sourceMapData = JSON.stringify(sourceMapData);
89
- }
90
- _this.addOrUpdateElementHits(test, uniqueId, methodElement, hits);
91
- }
92
- }
93
- }
94
- if (istanbulModule.b) {
95
- for (var branchId in istanbulModule.b) {
96
- var ifElseAndSwitchCasesArr = istanbulModule.b[branchId];
97
- var expressionInfo = moduleWithMaps.branchMap[branchId];
98
- for (var idx = 0; idx < ifElseAndSwitchCasesArr.length; idx++) {
99
- var branchInfo = expressionInfo.locations[idx];
100
- var hits = ifElseAndSwitchCasesArr[idx];
101
- if (hits > 0) {
102
- var start = branchInfo.start;
103
- var sourceMapData = _this.readSourceMapData(sourceMap_1, start, relPath);
104
- var filePath = relPath;
105
- if (sourceMapData) {
106
- filePath = sourceMapData.originalFilename;
107
- start = sourceMapData.originalStart;
108
- }
109
- var uniqueId = filePath + '|' + _this.formatLoc(start) + '|' + idx;
110
- var branchElement = _this.getOrCreateBranchElement(uniqueId, file);
111
- if (_this.cfg.extendedFootprints.value) {
112
- branchElement.branchInfo = JSON.stringify(branchInfo);
113
- branchElement.sourceMapData = JSON.stringify(sourceMapData);
114
- }
115
- _this.addOrUpdateElementHits(test, uniqueId, branchElement, hits);
116
- }
117
- }
118
- }
119
- }
120
- }
121
- });
122
- return result;
123
- };
124
- IstanbulToFootprintsV3.prototype.addOrUpdateElementHits = function (testData, elementUniqueId, element, hits) {
125
- var HITS_INDEX = 1;
126
- var eid = elementUniqueId + '|' + testData.index;
127
- var index = this.eidToHitsIndex[eid];
128
- if (index != null) {
129
- var testIndexAndHits = element.hits[index];
130
- var elementHits = testIndexAndHits[HITS_INDEX];
131
- elementHits = elementHits + hits;
132
- testIndexAndHits[HITS_INDEX] = elementHits;
133
- }
134
- else {
135
- var testIndexAndHits = new Array();
136
- testIndexAndHits.push(testData.index);
137
- testIndexAndHits.push(hits);
138
- var length_1 = element.hits.push(testIndexAndHits);
139
- this.eidToHitsIndex[eid] = length_1 - 1;
140
- }
141
- };
142
- IstanbulToFootprintsV3.prototype.getOrCreateTestData = function (testName, executionId, localTime, result) {
143
- if (!this.testNameToTestData[testName]) {
144
- var test_1 = {
145
- executionId: executionId,
146
- localTime: localTime,
147
- testName: testName
148
- };
149
- result.tests.push(test_1);
150
- this.testNameToTestData[testName] = {
151
- index: this.totalTests++,
152
- test: test_1
153
- };
154
- }
155
- return this.testNameToTestData[testName];
156
- };
157
- IstanbulToFootprintsV3.prototype.getOrCreateMethodElement = function (uniqueId, file) {
158
- if (!this.uniqueIdToElement[uniqueId]) {
159
- var x = {
160
- hits: new Array(),
161
- uniqueId: uniqueId
162
- };
163
- this.uniqueIdToElement[uniqueId] = x;
164
- file.methods.push(x);
165
- }
166
- return this.uniqueIdToElement[uniqueId];
167
- };
168
- IstanbulToFootprintsV3.prototype.getOrCreateBranchElement = function (uniqueId, file) {
169
- if (!this.uniqueIdToElement[uniqueId]) {
170
- var x = {
171
- hits: new Array(),
172
- uniqueId: uniqueId
173
- };
174
- this.uniqueIdToElement[uniqueId] = x;
175
- file.branches.push(x);
176
- }
177
- return this.uniqueIdToElement[uniqueId];
178
- };
179
- IstanbulToFootprintsV3.prototype.getOrCreateFootprintsAppFile = function (fileName, app) {
180
- if (this.fileNameToAppFile[fileName]) {
181
- return this.fileNameToAppFile[fileName];
182
- }
183
- //File doesn't exist in request.
184
- var file = {
185
- methods: new Array(),
186
- branches: new Array(),
187
- lines: new Array(),
188
- path: fileName
189
- };
190
- app.files.push(file);
191
- this.fileNameToAppFile[fileName] = file;
192
- return file;
193
- };
194
- IstanbulToFootprintsV3.prototype.createFootprintsFile = function (extraData) {
195
- //Supporting only one app right now
196
- var app = {
197
- appName: this.cfg.appName.value,
198
- branchName: this.cfg.branch.value,
199
- buildName: this.cfg.build.value,
200
- moduleName: null,
201
- files: new Array()
202
- };
203
- extraData.apps.push(app);
204
- return extraData;
205
- };
206
- IstanbulToFootprintsV3.prototype.readSourceMaps = function (fullFilename) {
207
- if (!fullFilename)
208
- return;
209
- var sourceMapsFilename = fullFilename + '.map';
210
- var contents, rawSourceMapJsonData, consumer;
211
- try {
212
- contents = fs.readFileSync(sourceMapsFilename).toString();
213
- }
214
- catch (e) {
215
- //Sourcemap file not found
216
- return null;
217
- }
218
- try {
219
- rawSourceMapJsonData = JSON.parse(contents);
220
- }
221
- catch (e) {
222
- console.error('[Sealights] Ignoring invalid source map: ' + sourceMapsFilename);
223
- return null;
224
- }
225
- try {
226
- //console.log('Procssing source maps from file: '+sourceMapsFilename);
227
- consumer = new sourceMap.SourceMapConsumer(rawSourceMapJsonData);
228
- return consumer;
229
- }
230
- catch (e) {
231
- console.error('[Sealights] Error processing source maps for file: ' + sourceMapsFilename);
232
- return null;
233
- }
234
- };
235
- IstanbulToFootprintsV3.prototype.readSourceMapData = function (sourceMaps, start, coveragePath) {
236
- if (!sourceMaps)
237
- return null;
238
- try {
239
- //console.log('Checking original position for '+name+' at'+JSON.stringify(start));
240
- var originalPosition = sourceMaps.originalPositionFor(start); //{ line: start.line, column: start[1] });
241
- //console.log('Original position: '+JSON.stringify(originalPosition));
242
- if (originalPosition && originalPosition.source && originalPosition.line !== null && originalPosition.column !== null) {
243
- var originalFilename = originalPosition.source;
244
- if (originalFilename.indexOf('webpack:///webpack/') === -1 &&
245
- originalFilename.indexOf('webpack:///external') === -1) { //Ignore embedded and external module
246
- if (originalFilename.indexOf('webpack:///') === 0) {
247
- originalFilename = originalFilename.substring(11); //'webpack:///'.length
248
- }
249
- originalFilename = this.fixRelPath(coveragePath, originalFilename);
250
- var originalStart = { line: originalPosition.line, column: originalPosition.column };
251
- var result = { originalFilename: originalFilename, originalStart: originalStart };
252
- return result;
253
- }
254
- }
255
- }
256
- catch (e) {
257
- console.error(e);
258
- }
259
- return null;
260
- };
261
- IstanbulToFootprintsV3.prototype.fixRelPath = function (p1, p2) {
262
- try {
263
- if (!p1 || p1.length == 0)
264
- return p1;
265
- if (!p2 || p2.length == 0)
266
- return p1;
267
- //Make sure both paths are unix-style
268
- p1 = this.adjustPathSlashes(p1);
269
- p2 = this.adjustPathSlashes(p2);
270
- if (p2[0] == '/')
271
- return p2; //Absolute path
272
- var parts1 = p1.split('/');
273
- parts1.pop(); //remove the filename
274
- var parts2 = p2.split('/');
275
- var p3 = parts1.concat(parts2);
276
- var finalPath = this.adjustPathSlashes(path.normalize(p3.join('/')));
277
- return finalPath;
278
- }
279
- catch (err) {
280
- //log.error("Failed to fix real path for source maps. Error: " + err + ". Original File Name: " + p1 + ". Function: " + p2);
281
- return p2;
282
- }
283
- };
284
- IstanbulToFootprintsV3.prototype.adjustPathSlashes = function (filePath) {
285
- filePath = (filePath || '').replace(/\\/g, '/');
286
- return filePath;
287
- };
288
- return IstanbulToFootprintsV3;
289
- }(istanbul_to_footprints_base_1.IstanbulToFootprintsBase));
290
- exports.IstanbulToFootprintsV3 = IstanbulToFootprintsV3;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.IstanbulToFootprintsV3 = void 0;
17
+ var istanbul_to_footprints_base_1 = require("./istanbul-to-footprints-base");
18
+ var fs = require("fs");
19
+ var path = require("path");
20
+ var sourceMap = require("source-map");
21
+ var IstanbulToFootprintsV3 = /** @class */ (function (_super) {
22
+ __extends(IstanbulToFootprintsV3, _super);
23
+ function IstanbulToFootprintsV3(cfg, logger) {
24
+ var _this = _super.call(this, logger) || this;
25
+ _this.cfg = cfg;
26
+ _this.totalTests = 0;
27
+ if (!logger)
28
+ throw new Error('logger is required');
29
+ if (!cfg)
30
+ throw new Error('cfg is required');
31
+ return _this;
32
+ }
33
+ IstanbulToFootprintsV3.prototype.resetState = function () {
34
+ this.totalTests = 0;
35
+ //Holds the a mapping between a uniqueId for an element in a test, to an index in this elements 'hits' array.
36
+ this.eidToHitsIndex = {};
37
+ this.uniqueIdToElement = {};
38
+ this.testNameToTestData = {};
39
+ this.fileNameToAppFile = {};
40
+ this.fileToSourceMapConsumer = {};
41
+ };
42
+ IstanbulToFootprintsV3.prototype.createFootprintsPackageForSending = function (queuedFootprints, extraData) {
43
+ var _this = this;
44
+ this.resetState();
45
+ var result = this.createFootprintsFile(extraData);
46
+ var app = result.apps[0]; //We assume single App for now.
47
+ var istanbulMaps = this.getIstanbulCounters();
48
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
49
+ var context = this;
50
+ queuedFootprints.forEach(function (fp) {
51
+ var test = _this.getOrCreateTestData(fp.testName, fp.executionId, fp.localTime, result);
52
+ for (var moduleName in fp.footprints) {
53
+ var istanbulModule = fp.footprints[moduleName];
54
+ var moduleWithMaps = istanbulMaps[moduleName];
55
+ _this.logger.debug('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
56
+ _this.logger.debug('moduleName: %s', moduleName);
57
+ if (!moduleWithMaps) {
58
+ continue;
59
+ }
60
+ var relPath = _this.getRelativeModulePath(moduleWithMaps);
61
+ if (!context.fileToSourceMapConsumer[relPath]) {
62
+ context.fileToSourceMapConsumer[relPath] = _this.readSourceMaps(relPath);
63
+ _this.logger.debug('Read source maps for file\':' + relPath + '\'');
64
+ }
65
+ var sourceMap_1 = _this.fileToSourceMapConsumer[relPath];
66
+ var file = _this.getOrCreateFootprintsAppFile(relPath, app);
67
+ if (istanbulModule.f) {
68
+ for (var funcId in istanbulModule.f) {
69
+ var hits = istanbulModule.f[funcId];
70
+ if (hits > 0) {
71
+ var funcInfo = moduleWithMaps.fnMap[funcId];
72
+ var start = funcInfo.loc.start;
73
+ if (funcInfo.decl) {
74
+ start = funcInfo.decl.start; //For NYC
75
+ }
76
+ var sourceMapData = _this.readSourceMapData(sourceMap_1, start, relPath);
77
+ var filePath = relPath;
78
+ if (sourceMapData) {
79
+ filePath = sourceMapData.originalFilename;
80
+ start = sourceMapData.originalStart;
81
+ }
82
+ var uniqueId = filePath + '@' + _this.formatLoc(start);
83
+ var methodElement = _this.getOrCreateMethodElement(uniqueId, file);
84
+ if (_this.cfg.extendedFootprints.value) {
85
+ methodElement.funcInfo = JSON.stringify(funcInfo);
86
+ methodElement.sourceMapData = JSON.stringify(sourceMapData);
87
+ }
88
+ _this.addOrUpdateElementHits(test, uniqueId, methodElement, hits);
89
+ }
90
+ }
91
+ }
92
+ if (istanbulModule.b) {
93
+ for (var branchId in istanbulModule.b) {
94
+ var ifElseAndSwitchCasesArr = istanbulModule.b[branchId];
95
+ var expressionInfo = moduleWithMaps.branchMap[branchId];
96
+ for (var idx = 0; idx < ifElseAndSwitchCasesArr.length; idx++) {
97
+ var branchInfo = expressionInfo.locations[idx];
98
+ var hits = ifElseAndSwitchCasesArr[idx];
99
+ if (hits > 0) {
100
+ var start = branchInfo.start;
101
+ var sourceMapData = _this.readSourceMapData(sourceMap_1, start, relPath);
102
+ var filePath = relPath;
103
+ if (sourceMapData) {
104
+ filePath = sourceMapData.originalFilename;
105
+ start = sourceMapData.originalStart;
106
+ }
107
+ var uniqueId = filePath + '|' + _this.formatLoc(start) + '|' + idx;
108
+ var branchElement = _this.getOrCreateBranchElement(uniqueId, file);
109
+ if (_this.cfg.extendedFootprints.value) {
110
+ branchElement.branchInfo = JSON.stringify(branchInfo);
111
+ branchElement.sourceMapData = JSON.stringify(sourceMapData);
112
+ }
113
+ _this.addOrUpdateElementHits(test, uniqueId, branchElement, hits);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+ });
120
+ return result;
121
+ };
122
+ IstanbulToFootprintsV3.prototype.addOrUpdateElementHits = function (testData, elementUniqueId, element, hits) {
123
+ var HITS_INDEX = 1;
124
+ var eid = elementUniqueId + '|' + testData.index;
125
+ var index = this.eidToHitsIndex[eid];
126
+ if (index != null) {
127
+ var testIndexAndHits = element.hits[index];
128
+ var elementHits = testIndexAndHits[HITS_INDEX];
129
+ elementHits = elementHits + hits;
130
+ testIndexAndHits[HITS_INDEX] = elementHits;
131
+ }
132
+ else {
133
+ var testIndexAndHits = new Array();
134
+ testIndexAndHits.push(testData.index);
135
+ testIndexAndHits.push(hits);
136
+ var length_1 = element.hits.push(testIndexAndHits);
137
+ this.eidToHitsIndex[eid] = length_1 - 1;
138
+ }
139
+ };
140
+ IstanbulToFootprintsV3.prototype.getOrCreateTestData = function (testName, executionId, localTime, result) {
141
+ if (!this.testNameToTestData[testName]) {
142
+ var test_1 = {
143
+ executionId: executionId,
144
+ localTime: localTime,
145
+ testName: testName
146
+ };
147
+ result.tests.push(test_1);
148
+ this.testNameToTestData[testName] = {
149
+ index: this.totalTests++,
150
+ test: test_1
151
+ };
152
+ }
153
+ return this.testNameToTestData[testName];
154
+ };
155
+ IstanbulToFootprintsV3.prototype.getOrCreateMethodElement = function (uniqueId, file) {
156
+ if (!this.uniqueIdToElement[uniqueId]) {
157
+ var x = {
158
+ hits: new Array(),
159
+ uniqueId: uniqueId
160
+ };
161
+ this.uniqueIdToElement[uniqueId] = x;
162
+ file.methods.push(x);
163
+ }
164
+ return this.uniqueIdToElement[uniqueId];
165
+ };
166
+ IstanbulToFootprintsV3.prototype.getOrCreateBranchElement = function (uniqueId, file) {
167
+ if (!this.uniqueIdToElement[uniqueId]) {
168
+ var x = {
169
+ hits: new Array(),
170
+ uniqueId: uniqueId
171
+ };
172
+ this.uniqueIdToElement[uniqueId] = x;
173
+ file.branches.push(x);
174
+ }
175
+ return this.uniqueIdToElement[uniqueId];
176
+ };
177
+ IstanbulToFootprintsV3.prototype.getOrCreateFootprintsAppFile = function (fileName, app) {
178
+ if (this.fileNameToAppFile[fileName]) {
179
+ return this.fileNameToAppFile[fileName];
180
+ }
181
+ //File doesn't exist in request.
182
+ var file = {
183
+ methods: new Array(),
184
+ branches: new Array(),
185
+ lines: new Array(),
186
+ path: fileName
187
+ };
188
+ app.files.push(file);
189
+ this.fileNameToAppFile[fileName] = file;
190
+ return file;
191
+ };
192
+ IstanbulToFootprintsV3.prototype.createFootprintsFile = function (extraData) {
193
+ //Supporting only one app right now
194
+ var app = {
195
+ appName: this.cfg.appName.value,
196
+ branchName: this.cfg.branch.value,
197
+ buildName: this.cfg.build.value,
198
+ moduleName: null,
199
+ files: new Array()
200
+ };
201
+ extraData.apps.push(app);
202
+ return extraData;
203
+ };
204
+ IstanbulToFootprintsV3.prototype.readSourceMaps = function (fullFilename) {
205
+ if (!fullFilename)
206
+ return;
207
+ var sourceMapsFilename = fullFilename + '.map';
208
+ var contents, rawSourceMapJsonData, consumer;
209
+ try {
210
+ contents = fs.readFileSync(sourceMapsFilename).toString();
211
+ }
212
+ catch (e) {
213
+ //Sourcemap file not found
214
+ return null;
215
+ }
216
+ try {
217
+ rawSourceMapJsonData = JSON.parse(contents);
218
+ }
219
+ catch (e) {
220
+ console.error('[Sealights] Ignoring invalid source map: ' + sourceMapsFilename);
221
+ return null;
222
+ }
223
+ try {
224
+ //console.log('Procssing source maps from file: '+sourceMapsFilename);
225
+ consumer = new sourceMap.SourceMapConsumer(rawSourceMapJsonData);
226
+ return consumer;
227
+ }
228
+ catch (e) {
229
+ console.error('[Sealights] Error processing source maps for file: ' + sourceMapsFilename);
230
+ return null;
231
+ }
232
+ };
233
+ IstanbulToFootprintsV3.prototype.readSourceMapData = function (sourceMaps, start, coveragePath) {
234
+ if (!sourceMaps)
235
+ return null;
236
+ try {
237
+ //console.log('Checking original position for '+name+' at'+JSON.stringify(start));
238
+ var originalPosition = sourceMaps.originalPositionFor(start); //{ line: start.line, column: start[1] });
239
+ //console.log('Original position: '+JSON.stringify(originalPosition));
240
+ if (originalPosition && originalPosition.source && originalPosition.line !== null && originalPosition.column !== null) {
241
+ var originalFilename = originalPosition.source;
242
+ if (originalFilename.indexOf('webpack:///webpack/') === -1 &&
243
+ originalFilename.indexOf('webpack:///external') === -1) { //Ignore embedded and external module
244
+ if (originalFilename.indexOf('webpack:///') === 0) {
245
+ originalFilename = originalFilename.substring(11); //'webpack:///'.length
246
+ }
247
+ originalFilename = this.fixRelPath(coveragePath, originalFilename);
248
+ var originalStart = { line: originalPosition.line, column: originalPosition.column };
249
+ var result = { originalFilename: originalFilename, originalStart: originalStart };
250
+ return result;
251
+ }
252
+ }
253
+ }
254
+ catch (e) {
255
+ console.error(e);
256
+ }
257
+ return null;
258
+ };
259
+ IstanbulToFootprintsV3.prototype.fixRelPath = function (p1, p2) {
260
+ try {
261
+ if (!p1 || p1.length == 0)
262
+ return p1;
263
+ if (!p2 || p2.length == 0)
264
+ return p1;
265
+ //Make sure both paths are unix-style
266
+ p1 = this.adjustPathSlashes(p1);
267
+ p2 = this.adjustPathSlashes(p2);
268
+ if (p2[0] == '/')
269
+ return p2; //Absolute path
270
+ var parts1 = p1.split('/');
271
+ parts1.pop(); //remove the filename
272
+ var parts2 = p2.split('/');
273
+ var p3 = parts1.concat(parts2);
274
+ var finalPath = this.adjustPathSlashes(path.normalize(p3.join('/')));
275
+ return finalPath;
276
+ }
277
+ catch (err) {
278
+ //log.error("Failed to fix real path for source maps. Error: " + err + ". Original File Name: " + p1 + ". Function: " + p2);
279
+ return p2;
280
+ }
281
+ };
282
+ IstanbulToFootprintsV3.prototype.adjustPathSlashes = function (filePath) {
283
+ filePath = (filePath || '').replace(/\\/g, '/');
284
+ return filePath;
285
+ };
286
+ return IstanbulToFootprintsV3;
287
+ }(istanbul_to_footprints_base_1.IstanbulToFootprintsBase));
288
+ exports.IstanbulToFootprintsV3 = IstanbulToFootprintsV3;
291
289
  //# sourceMappingURL=istanbul-to-footprints-v3.js.map