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