slnodejs 6.1.2 → 6.1.10

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