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