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,300 +1,302 @@
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
- var __assign = (this && this.__assign) || function () {
16
- __assign = Object.assign || function(t) {
17
- for (var s, i = 1, n = arguments.length; i < n; i++) {
18
- s = arguments[i];
19
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
- t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
- return new (P || (P = Promise))(function (resolve, reject) {
29
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
- step((generator = generator.apply(thisArg, _arguments || [])).next());
33
- });
34
- };
35
- var __generator = (this && this.__generator) || function (thisArg, body) {
36
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
37
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
38
- function verb(n) { return function (v) { return step([n, v]); }; }
39
- function step(op) {
40
- if (f) throw new TypeError("Generator is already executing.");
41
- while (_) try {
42
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
43
- if (y = 0, t) op = [op[0] & 2, t.value];
44
- switch (op[0]) {
45
- case 0: case 1: t = op; break;
46
- case 4: _.label++; return { value: op[1], done: false };
47
- case 5: _.label++; y = op[1]; op = [0]; continue;
48
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
49
- default:
50
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
51
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
52
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
53
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
54
- if (t[2]) _.ops.pop();
55
- _.trys.pop(); continue;
56
- }
57
- op = body.call(thisArg, _);
58
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
59
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
60
- }
61
- };
62
- Object.defineProperty(exports, "__esModule", { value: true });
63
- exports.StateTracker = void 0;
64
- var events = require("events");
65
- var sl_env_vars_1 = require("./constants/sl-env-vars");
66
- var validation_utils_1 = require("./utils/validation-utils");
67
- var cockpit_notifier_1 = require("./agent-events/cockpit-notifier");
68
- var agent_events_conracts_1 = require("./agent-events/agent-events-conracts");
69
- var INITIAL_COLOR = '00000000-0000-0000-0000-000000000000/__init';
70
- var StateTracker = /** @class */ (function (_super) {
71
- __extends(StateTracker, _super);
72
- function StateTracker(cfg, configProcess, checkTestStatusWatchdog, backendProxy, logger) {
73
- var _this = _super.call(this) || this;
74
- _this.currentTestIdentifier = null;
75
- _this.isRunning = false;
76
- _this._openExecutionFoundOnce = false;
77
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(cfg, 'agentConfig');
78
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(configProcess, 'configProcess');
79
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(checkTestStatusWatchdog, 'watchdog');
80
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(backendProxy, 'backendProxy');
81
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(logger, 'logger');
82
- _this.cfg = cfg;
83
- _this.configProcess = configProcess;
84
- _this.checkTestStatusWatchdog = checkTestStatusWatchdog;
85
- _this.backendProxy = backendProxy;
86
- _this.logger = logger;
87
- if (_this.cfg.useInitialColor.value && _this.currentTestIdentifier == null) {
88
- _this.switchToAnonFootprints();
89
- }
90
- configProcess.on('configuration_changed', function (newCfg) {
91
- if (newCfg.useInitialColor.value && _this.currentTestIdentifier == null) {
92
- _this.switchToAnonFootprints();
93
- }
94
- _this.cfg = newCfg;
95
- _this.checkTestStatusWatchdog.setInterval(newCfg.executionQueryIntervalSecs.value);
96
- });
97
- _this.startCheckingTestStatusAtServer();
98
- return _this;
99
- }
100
- StateTracker.prototype.startCheckingTestStatusAtServer = function () {
101
- var _this = this;
102
- if (sl_env_vars_1.SlEnvVars.inProductionListenerMode()) {
103
- this.logger.debug('In production listener, no need to check test status in server');
104
- return;
105
- }
106
- this.checkTestStatusWatchdog.on('alarm', function () {
107
- _this.checkTestStatusAtServer();
108
- });
109
- //Invoke it directly after the CTOR ends when needed.
110
- if (this.cfg.shouldCheckForActiveExecutionOnStartUp.value) {
111
- this.checkTestStatusAtServer(false);
112
- }
113
- };
114
- StateTracker.prototype.checkTestStatusAtServer = function (async) {
115
- var _this = this;
116
- if (async === void 0) { async = true; }
117
- if (!this.currentTestIdentifier) {
118
- this.logger.info('\'currentTestIdentifier\' is null. That means that footprints will not be sent.');
119
- }
120
- else {
121
- this.backendProxy.testExecutionV4(this.cfg.labId.value, async, this.getExecutionIdForQuery()).then(function (response) {
122
- _this.fireExecutionEvents(response.execution);
123
- _this.notifyCockpit(response.execution);
124
- _this._currentExecution = response.execution;
125
- }).catch(function (err) {
126
- _this.logger.warn("Error while checking test execution status " + err);
127
- });
128
- }
129
- };
130
- StateTracker.prototype.getExecutionIdForQuery = function () {
131
- if (this.isAnonymousColor(this.currentTestIdentifier) || !this.currentExecution) {
132
- return null;
133
- }
134
- return this.currentExecution.executionId;
135
- };
136
- StateTracker.prototype.hasMappingAtServer = function () {
137
- return this._currentExecution != null;
138
- };
139
- StateTracker.prototype.shouldCollectHits = function () {
140
- return this.hasMappingAtServer();
141
- };
142
- Object.defineProperty(StateTracker.prototype, "currentExecution", {
143
- get: function () {
144
- return this._currentExecution;
145
- },
146
- set: function (value) {
147
- this._currentExecution = value;
148
- },
149
- enumerable: false,
150
- configurable: true
151
- });
152
- Object.defineProperty(StateTracker.prototype, "openExecutionFoundOnce", {
153
- get: function () {
154
- return this._openExecutionFoundOnce;
155
- },
156
- enumerable: false,
157
- configurable: true
158
- });
159
- StateTracker.prototype.isAnonymousColor = function (testIdentifier) {
160
- return INITIAL_COLOR == testIdentifier;
161
- };
162
- StateTracker.prototype.switchToAnonFootprints = function () {
163
- this.logger.info('Switching to anonymous footprints.');
164
- this.setTestIdentifier(INITIAL_COLOR, false);
165
- };
166
- StateTracker.prototype.getCurrentTestIdentifier = function () {
167
- return this.currentTestIdentifier;
168
- };
169
- StateTracker.prototype.setTestIdentifier = function (newTestIdentifier, silent) {
170
- this.logger.info('setting test identifier: ' + newTestIdentifier);
171
- if ((this.currentTestIdentifier == null) && (newTestIdentifier != null) || (this.currentTestIdentifier != null && this.currentTestIdentifier != newTestIdentifier && newTestIdentifier != INITIAL_COLOR)) {
172
- var previousTestIdentifier = this.currentTestIdentifier;
173
- this.currentTestIdentifier = newTestIdentifier;
174
- if (this.isRunning) {
175
- if (!silent) {
176
- this.emit('test_identifier_changed', this.currentTestIdentifier, previousTestIdentifier);
177
- }
178
- else {
179
- this.logger.info('Test identifier changed, running in silent mode not enqueuing footprints');
180
- }
181
- this.checkTestStatusWatchdog.reset();
182
- }
183
- }
184
- else {
185
- this.logger.info('Not setting the color. newTestIdentifier is \'' + newTestIdentifier + '\' ' + 'and currentTestIdentifier is \'' + this.currentTestIdentifier + '\'');
186
- }
187
- };
188
- // Added for backward compatibility with browser agent
189
- StateTracker.prototype.setCurrentTestIdentifier = function (newTestIdentifier) {
190
- this.setTestIdentifier(newTestIdentifier);
191
- };
192
- StateTracker.prototype.start = function () {
193
- if (!this.isRunning) {
194
- this.checkTestStatusWatchdog.start();
195
- this.isRunning = true;
196
- }
197
- };
198
- StateTracker.prototype.stop = function (callback) {
199
- try {
200
- if (!this.isRunning) {
201
- return callback();
202
- }
203
- this.checkTestStatusWatchdog.stop();
204
- this.isRunning = false;
205
- callback();
206
- }
207
- catch (err) {
208
- this.logger.error("Error while stopping StateTracker. '" + err + "'");
209
- return callback();
210
- }
211
- };
212
- StateTracker.prototype.getTestStage = function () {
213
- return (this.currentExecution && this.currentExecution.testStage) || this.cfg.testStage.value;
214
- };
215
- StateTracker.splitTestIdToExecutionAndTestName = function (testId) {
216
- testId = testId || '';
217
- var executionId = testId.split('/')[0];
218
- var testName = (testId.indexOf('/') == -1) ? '' : testId.substring(executionId.length + 1);
219
- if (!executionId) {
220
- testName = '';
221
- }
222
- return { executionId: executionId, testName: testName };
223
- };
224
- StateTracker.combineExecutionIdAndTestName = function (executionId, testName) {
225
- testName = testName || '';
226
- if (!executionId) {
227
- return '';
228
- }
229
- return executionId + '/' + testName;
230
- };
231
- StateTracker.prototype.startColoredExecution = function (executionId) {
232
- return __awaiter(this, void 0, void 0, function () {
233
- var request, e_1;
234
- return __generator(this, function (_a) {
235
- switch (_a.label) {
236
- case 0:
237
- _a.trys.push([0, 2, , 3]);
238
- request = {
239
- appName: this.cfg.appName.value,
240
- branchName: this.cfg.branch.value,
241
- buildName: this.cfg.build.value,
242
- labId: this.cfg.labId.value,
243
- testStage: this.cfg.testStage.value,
244
- executionId: executionId,
245
- };
246
- return [4 /*yield*/, this.backendProxy.startColoredExecution(request)];
247
- case 1:
248
- _a.sent();
249
- this.currentExecution = __assign(__assign({}, request), { buildSessionId: this.cfg.buildSessionId.value, status: StateTracker.EXECUTION_STATUS_CREATED });
250
- return [3 /*break*/, 3];
251
- case 2:
252
- e_1 = _a.sent();
253
- this.logger.error("Failed to create execution, error '" + e_1 + "'. Footprints will not be sent");
254
- return [3 /*break*/, 3];
255
- case 3: return [2 /*return*/];
256
- }
257
- });
258
- });
259
- };
260
- StateTracker.prototype.fireExecutionEvents = function (executionData) {
261
- // No active execution on the server
262
- if (!executionData) {
263
- return;
264
- }
265
- // First time got response from server
266
- if (!this.currentExecution) {
267
- return;
268
- }
269
- if (this.currentExecution.buildSessionId != executionData.buildSessionId) {
270
- this.emit(StateTracker.EXECUTION_BSID_CHANGED, this.currentExecution, executionData.buildSessionId);
271
- return;
272
- }
273
- if (this.currentExecution.executionId != executionData.executionId) {
274
- this.emit(StateTracker.EXECUTION_ID_CHANGED, this.currentExecution, executionData.buildSessionId);
275
- return;
276
- }
277
- if (this.currentExecution.testStage != executionData.testStage) {
278
- this.emit(StateTracker.TEST_STAGE_CHANGED, this.currentExecution, executionData.testStage);
279
- return;
280
- }
281
- };
282
- StateTracker.prototype.notifyCockpit = function (execution) {
283
- if (!execution) {
284
- cockpit_notifier_1.CockpitNotifier.sendEventOnce(agent_events_conracts_1.AgentEventCode.FIRST_TIME_NO_EXECUTION);
285
- }
286
- else {
287
- cockpit_notifier_1.CockpitNotifier.sendEventOnce(agent_events_conracts_1.AgentEventCode.FIRST_TIME_HAS_EXECUTION);
288
- this._openExecutionFoundOnce = true;
289
- }
290
- };
291
- StateTracker.EXECUTION_ENDS = 'executionEnds';
292
- StateTracker.EXECUTION_BSID_CHANGED = 'executionBsidChanged';
293
- StateTracker.EXECUTION_ID_CHANGED = 'executionIdChanged';
294
- StateTracker.TEST_STAGE_CHANGED = 'testStageChanged';
295
- StateTracker.EXECUTION_STATUS_CREATED = 'created';
296
- StateTracker.EXECUTION_STATUS_PENDING_DELETE = 'pendingDelete';
297
- return StateTracker;
298
- }(events.EventEmitter));
299
- exports.StateTracker = StateTracker;
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
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __generator = (this && this.__generator) || function (thisArg, body) {
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
+ function verb(n) { return function (v) { return step([n, v]); }; }
41
+ function step(op) {
42
+ if (f) throw new TypeError("Generator is already executing.");
43
+ while (_) try {
44
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
+ if (y = 0, t) op = [op[0] & 2, t.value];
46
+ switch (op[0]) {
47
+ case 0: case 1: t = op; break;
48
+ case 4: _.label++; return { value: op[1], done: false };
49
+ case 5: _.label++; y = op[1]; op = [0]; continue;
50
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
+ default:
52
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
+ if (t[2]) _.ops.pop();
57
+ _.trys.pop(); continue;
58
+ }
59
+ op = body.call(thisArg, _);
60
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
+ }
63
+ };
64
+ Object.defineProperty(exports, "__esModule", { value: true });
65
+ exports.StateTracker = void 0;
66
+ var events = require("events");
67
+ var sl_env_vars_1 = require("./constants/sl-env-vars");
68
+ var validation_utils_1 = require("./utils/validation-utils");
69
+ var cockpit_notifier_1 = require("./agent-events/cockpit-notifier");
70
+ var agent_events_conracts_1 = require("./agent-events/agent-events-conracts");
71
+ var INITIAL_COLOR = '00000000-0000-0000-0000-000000000000/__init';
72
+ var StateTracker = /** @class */ (function (_super) {
73
+ __extends(StateTracker, _super);
74
+ function StateTracker(cfg, configProcess, checkTestStatusWatchdog, backendProxy, logger) {
75
+ var _this = _super.call(this) || this;
76
+ _this.currentTestIdentifier = null;
77
+ _this.isRunning = false;
78
+ _this._openExecutionFoundOnce = false;
79
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(cfg, 'agentConfig');
80
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(configProcess, 'configProcess');
81
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(checkTestStatusWatchdog, 'watchdog');
82
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(backendProxy, 'backendProxy');
83
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(logger, 'logger');
84
+ _this.cfg = cfg;
85
+ _this.configProcess = configProcess;
86
+ _this.checkTestStatusWatchdog = checkTestStatusWatchdog;
87
+ _this.backendProxy = backendProxy;
88
+ _this.logger = logger;
89
+ if (_this.cfg.useInitialColor.value && _this.currentTestIdentifier == null) {
90
+ _this.switchToAnonFootprints();
91
+ }
92
+ configProcess.on('configuration_changed', function (newCfg) {
93
+ if (newCfg.useInitialColor.value && _this.currentTestIdentifier == null) {
94
+ _this.switchToAnonFootprints();
95
+ }
96
+ _this.cfg = newCfg;
97
+ _this.checkTestStatusWatchdog.setInterval(newCfg.executionQueryIntervalSecs.value);
98
+ });
99
+ _this.startCheckingTestStatusAtServer();
100
+ return _this;
101
+ }
102
+ StateTracker.prototype.startCheckingTestStatusAtServer = function () {
103
+ var _this = this;
104
+ if (sl_env_vars_1.SlEnvVars.inProductionListenerMode()) {
105
+ this.logger.debug('In production listener, no need to check test status in server');
106
+ return;
107
+ }
108
+ this.checkTestStatusWatchdog.on('alarm', function () {
109
+ _this.checkTestStatusAtServer();
110
+ });
111
+ //Invoke it directly after the CTOR ends when needed.
112
+ if (this.cfg.shouldCheckForActiveExecutionOnStartUp.value) {
113
+ this.checkTestStatusAtServer(false);
114
+ }
115
+ };
116
+ StateTracker.prototype.checkTestStatusAtServer = function (async) {
117
+ var _this = this;
118
+ if (async === void 0) { async = true; }
119
+ if (!this.currentTestIdentifier) {
120
+ this.logger.info('\'currentTestIdentifier\' is null. That means that footprints will not be sent.');
121
+ }
122
+ else {
123
+ this.backendProxy.testExecutionV4(this.cfg.labId.value, async, this.getExecutionIdForQuery()).then(function (response) {
124
+ _this.fireExecutionEvents(response.execution);
125
+ _this.notifyCockpit(response.execution);
126
+ _this._currentExecution = response.execution;
127
+ }).catch(function (err) {
128
+ _this.logger.warn("Error while checking test execution status " + err);
129
+ });
130
+ }
131
+ };
132
+ StateTracker.prototype.getExecutionIdForQuery = function () {
133
+ if (this.isAnonymousColor(this.currentTestIdentifier) || !this.currentExecution) {
134
+ return null;
135
+ }
136
+ return this.currentExecution.executionId;
137
+ };
138
+ StateTracker.prototype.hasMappingAtServer = function () {
139
+ return this._currentExecution != null;
140
+ };
141
+ StateTracker.prototype.shouldCollectHits = function () {
142
+ return this.hasMappingAtServer();
143
+ };
144
+ Object.defineProperty(StateTracker.prototype, "currentExecution", {
145
+ get: function () {
146
+ return this._currentExecution;
147
+ },
148
+ set: function (value) {
149
+ this._currentExecution = value;
150
+ },
151
+ enumerable: false,
152
+ configurable: true
153
+ });
154
+ Object.defineProperty(StateTracker.prototype, "openExecutionFoundOnce", {
155
+ get: function () {
156
+ return this._openExecutionFoundOnce;
157
+ },
158
+ enumerable: false,
159
+ configurable: true
160
+ });
161
+ StateTracker.prototype.isAnonymousColor = function (testIdentifier) {
162
+ return INITIAL_COLOR == testIdentifier;
163
+ };
164
+ StateTracker.prototype.switchToAnonFootprints = function () {
165
+ this.logger.info('Switching to anonymous footprints.');
166
+ this.setTestIdentifier(INITIAL_COLOR, false);
167
+ };
168
+ StateTracker.prototype.getCurrentTestIdentifier = function () {
169
+ return this.currentTestIdentifier;
170
+ };
171
+ StateTracker.prototype.setTestIdentifier = function (newTestIdentifier, silent) {
172
+ this.logger.info('setting test identifier: ' + newTestIdentifier);
173
+ if ((this.currentTestIdentifier == null) && (newTestIdentifier != null) || (this.currentTestIdentifier != null && this.currentTestIdentifier != newTestIdentifier && newTestIdentifier != INITIAL_COLOR)) {
174
+ var previousTestIdentifier = this.currentTestIdentifier;
175
+ this.currentTestIdentifier = newTestIdentifier;
176
+ if (this.isRunning) {
177
+ if (!silent) {
178
+ this.emit('test_identifier_changed', this.currentTestIdentifier, previousTestIdentifier);
179
+ }
180
+ else {
181
+ this.logger.info('Test identifier changed, running in silent mode not enqueuing footprints');
182
+ }
183
+ this.checkTestStatusWatchdog.reset();
184
+ }
185
+ }
186
+ else {
187
+ this.logger.info('Not setting the color. newTestIdentifier is \'' + newTestIdentifier + '\' ' + 'and currentTestIdentifier is \'' + this.currentTestIdentifier + '\'');
188
+ }
189
+ };
190
+ // Added for backward compatibility with browser agent
191
+ StateTracker.prototype.setCurrentTestIdentifier = function (newTestIdentifier) {
192
+ this.setTestIdentifier(newTestIdentifier);
193
+ };
194
+ StateTracker.prototype.start = function () {
195
+ if (!this.isRunning) {
196
+ this.checkTestStatusWatchdog.start();
197
+ this.isRunning = true;
198
+ }
199
+ };
200
+ StateTracker.prototype.stop = function (callback) {
201
+ try {
202
+ if (!this.isRunning) {
203
+ return callback();
204
+ }
205
+ this.checkTestStatusWatchdog.stop();
206
+ this.isRunning = false;
207
+ callback();
208
+ }
209
+ catch (err) {
210
+ this.logger.error("Error while stopping StateTracker. '" + err + "'");
211
+ return callback();
212
+ }
213
+ };
214
+ StateTracker.prototype.getTestStage = function () {
215
+ return (this.currentExecution && this.currentExecution.testStage) || this.cfg.testStage.value;
216
+ };
217
+ StateTracker.splitTestIdToExecutionAndTestName = function (testId) {
218
+ testId = testId || '';
219
+ var executionId = testId.split('/')[0];
220
+ var testName = (testId.indexOf('/') == -1) ? '' : testId.substring(executionId.length + 1);
221
+ if (!executionId) {
222
+ testName = '';
223
+ }
224
+ return { executionId: executionId, testName: testName };
225
+ };
226
+ StateTracker.combineExecutionIdAndTestName = function (executionId, testName) {
227
+ testName = testName || '';
228
+ if (!executionId) {
229
+ return '';
230
+ }
231
+ return executionId + '/' + testName;
232
+ };
233
+ StateTracker.prototype.startColoredExecution = function (executionId) {
234
+ return __awaiter(this, void 0, void 0, function () {
235
+ var request, e_1;
236
+ return __generator(this, function (_a) {
237
+ switch (_a.label) {
238
+ case 0:
239
+ _a.trys.push([0, 2, , 3]);
240
+ request = {
241
+ appName: this.cfg.appName.value,
242
+ branchName: this.cfg.branch.value,
243
+ buildName: this.cfg.build.value,
244
+ labId: this.cfg.labId.value,
245
+ testStage: this.cfg.testStage.value,
246
+ executionId: executionId,
247
+ };
248
+ return [4 /*yield*/, this.backendProxy.startColoredExecution(request)];
249
+ case 1:
250
+ _a.sent();
251
+ this.currentExecution = __assign(__assign({}, request), { buildSessionId: this.cfg.buildSessionId.value, status: StateTracker.EXECUTION_STATUS_CREATED });
252
+ return [3 /*break*/, 3];
253
+ case 2:
254
+ e_1 = _a.sent();
255
+ this.logger.error("Failed to create execution, error '" + e_1 + "'. Footprints will not be sent");
256
+ return [3 /*break*/, 3];
257
+ case 3: return [2 /*return*/];
258
+ }
259
+ });
260
+ });
261
+ };
262
+ StateTracker.prototype.fireExecutionEvents = function (executionData) {
263
+ // No active execution on the server
264
+ if (!executionData) {
265
+ return;
266
+ }
267
+ // First time got response from server
268
+ if (!this.currentExecution) {
269
+ return;
270
+ }
271
+ if (this.currentExecution.buildSessionId != executionData.buildSessionId) {
272
+ this.emit(StateTracker.EXECUTION_BSID_CHANGED, this.currentExecution, executionData.buildSessionId);
273
+ return;
274
+ }
275
+ if (this.currentExecution.executionId != executionData.executionId) {
276
+ this.emit(StateTracker.EXECUTION_ID_CHANGED, this.currentExecution, executionData.buildSessionId);
277
+ return;
278
+ }
279
+ if (this.currentExecution.testStage != executionData.testStage) {
280
+ this.emit(StateTracker.TEST_STAGE_CHANGED, this.currentExecution, executionData.testStage);
281
+ return;
282
+ }
283
+ };
284
+ StateTracker.prototype.notifyCockpit = function (execution) {
285
+ if (!execution) {
286
+ cockpit_notifier_1.CockpitNotifier.sendEventOnce(agent_events_conracts_1.AgentEventCode.FIRST_TIME_NO_EXECUTION);
287
+ }
288
+ else {
289
+ cockpit_notifier_1.CockpitNotifier.sendEventOnce(agent_events_conracts_1.AgentEventCode.FIRST_TIME_HAS_EXECUTION);
290
+ this._openExecutionFoundOnce = true;
291
+ }
292
+ };
293
+ StateTracker.EXECUTION_ENDS = 'executionEnds';
294
+ StateTracker.EXECUTION_BSID_CHANGED = 'executionBsidChanged';
295
+ StateTracker.EXECUTION_ID_CHANGED = 'executionIdChanged';
296
+ StateTracker.TEST_STAGE_CHANGED = 'testStageChanged';
297
+ StateTracker.EXECUTION_STATUS_CREATED = 'created';
298
+ StateTracker.EXECUTION_STATUS_PENDING_DELETE = 'pendingDelete';
299
+ return StateTracker;
300
+ }(events.EventEmitter));
301
+ exports.StateTracker = StateTracker;
300
302
  //# sourceMappingURL=state-tracker.js.map