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,302 +1,302 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- 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;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.AgentEventsController = void 0;
51
- var agent_events_conracts_1 = require("./agent-events-conracts");
52
- var agent_instance_info_builder_1 = require("./agent-instance-info-builder");
53
- var machine_info_builder_1 = require("./machine-info-builder");
54
- var nodejs_env_info_builder_1 = require("./nodejs-env-info-builder");
55
- var agent_start_info_builder_1 = require("./agent-start-info-builder");
56
- var ci_info_builder_1 = require("./ci-info-builder");
57
- var backend_proxy_1 = require("../http/backend-proxy");
58
- var validation_utils_1 = require("../utils/validation-utils");
59
- var watchdog_1 = require("../watchdog");
60
- var system_date_1 = require("../system-date");
61
- var AgentEventsController = /** @class */ (function () {
62
- function AgentEventsController(agentConfig, agentInstanceData, logger, backendProxy, tool) {
63
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(agentConfig, 'agentConfig');
64
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(agentInstanceData, 'agentInstanceData');
65
- validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(logger, 'logger');
66
- this._agentConfig = agentConfig;
67
- this._logger = logger;
68
- this._agentInstanceData = agentInstanceData;
69
- this.shutDownRetries = 0;
70
- this.backendProxy = backendProxy || this.createBackendProxy();
71
- this.addTool(tool);
72
- this.initWatchdog();
73
- this.submittedEventsMap = new Map();
74
- }
75
- AgentEventsController.prototype.submitAgentStartedEvent = function (packageJsonFile) {
76
- return __awaiter(this, void 0, void 0, function () {
77
- var event, result;
78
- return __generator(this, function (_a) {
79
- switch (_a.label) {
80
- case 0:
81
- this.startRequestStatus = StartRequestStatus.PENDING;
82
- event = this.buildAgentStartEvent(packageJsonFile || {});
83
- return [4 /*yield*/, this.submitAgentEventRequest(event)];
84
- case 1:
85
- result = _a.sent();
86
- this.startRequestStatus = result ? StartRequestStatus.SUCCEED : StartRequestStatus.FAILED;
87
- if (this.startRequestStatus !== StartRequestStatus.SUCCEED) {
88
- this._logger.info('Agent start event failed to submit - ping events will not be sent');
89
- }
90
- else {
91
- this._pingWatchdog.start();
92
- }
93
- return [2 /*return*/];
94
- }
95
- });
96
- });
97
- };
98
- AgentEventsController.prototype.submitAgentEventRequest = function (event) {
99
- return __awaiter(this, void 0, void 0, function () {
100
- var request, e_1;
101
- return __generator(this, function (_a) {
102
- switch (_a.label) {
103
- case 0:
104
- request = {
105
- agentId: this._agentInstanceData.agentId,
106
- events: Array.isArray(event) ? event : [event],
107
- appName: this._agentConfig.appName.value,
108
- buildSessionId: this._agentConfig.buildSessionId.value
109
- };
110
- _a.label = 1;
111
- case 1:
112
- _a.trys.push([1, 3, , 4]);
113
- return [4 /*yield*/, this.backendProxy.submitAgentEvent(request)];
114
- case 2:
115
- _a.sent();
116
- this._logger.info("Submitted '" + request.events.length + "' events successfully");
117
- return [2 /*return*/, true];
118
- case 3:
119
- e_1 = _a.sent();
120
- this._logger.warn("Failed to submit '" + request.events.length + "' events. Error " + e_1);
121
- return [2 /*return*/, false];
122
- case 4: return [2 /*return*/];
123
- }
124
- });
125
- });
126
- };
127
- AgentEventsController.prototype.buildAgentStartEvent = function (packageJsonFile) {
128
- var agentInstanceInfoBuilder = new agent_instance_info_builder_1.AgentInstanceInfoBuilder(this);
129
- var machineInfoBuilder = new machine_info_builder_1.MachineInfoBuilder();
130
- var dependencies = __assign(__assign({}, packageJsonFile.dependencies), packageJsonFile.devDependencies);
131
- var nodejsEnvInfoBuilder = new nodejs_env_info_builder_1.NodejsEnvInfoBuilder(dependencies);
132
- var ciInfoBuilder = new ci_info_builder_1.CiInfoBuilder();
133
- var agentStartInfoBuilder = new agent_start_info_builder_1.AgentStartInfoBuilder(agentInstanceInfoBuilder, machineInfoBuilder, nodejsEnvInfoBuilder, ciInfoBuilder);
134
- var agentStartInfo = agentStartInfoBuilder.build();
135
- return this.buildEvent(agent_events_conracts_1.AgentEventCode.AGENT_STARTED, agentStartInfo);
136
- };
137
- AgentEventsController.prototype.buildAgentShutdownEvent = function () {
138
- return this.buildEvent(agent_events_conracts_1.AgentEventCode.AGENT_SHUTDOWN);
139
- };
140
- AgentEventsController.prototype.submitAgentShutdownEvent = function () {
141
- return __awaiter(this, void 0, void 0, function () {
142
- var event;
143
- var _this = this;
144
- return __generator(this, function (_a) {
145
- this.shutDownRetries++;
146
- if (this.startRequestStatus == StartRequestStatus.FAILED) {
147
- this._logger.debug('Agent start not submitted - not sending shut down events');
148
- return [2 /*return*/];
149
- }
150
- if (this.shutDownRetries > AgentEventsController.MAX_SHUTDOWN_RETRIES) {
151
- this._logger.debug('Stop trying to send shutdown event after 60 seconds ');
152
- return [2 /*return*/];
153
- }
154
- this._pingWatchdog.stop();
155
- event = this.buildAgentShutdownEvent();
156
- if (this.startRequestStatus == StartRequestStatus.PENDING) {
157
- setTimeout(function () { return _this.submitAgentShutdownEvent.call(_this); }, 1000);
158
- }
159
- else {
160
- return [2 /*return*/, this.submitAgentEventRequest(event)];
161
- }
162
- return [2 /*return*/];
163
- });
164
- });
165
- };
166
- // Not happens if start event failed to submit
167
- AgentEventsController.prototype.submitPingEvent = function () {
168
- return this.submitEvent(agent_events_conracts_1.AgentEventCode.AGENT_PING);
169
- };
170
- AgentEventsController.prototype.submitEvent = function (code) {
171
- var _this = this;
172
- this.submittedEventsMap.set(code, true);
173
- this._logger.debug("About to send event with code '" + code + "', current time: " + system_date_1.getSystemDateValueOf());
174
- var event = this.buildEvent(code);
175
- this.submitAgentEventRequest(event).then(function () {
176
- return _this._logger.debug("Event with code '" + code + "' submitted successfully");
177
- });
178
- };
179
- AgentEventsController.prototype.submitEventOnce = function (code) {
180
- if (!this.submittedEventsMap.get(code)) {
181
- this.submitEvent(code);
182
- }
183
- };
184
- // Not happens if start event failed to submit
185
- AgentEventsController.prototype.submitGenericMessage = function (message) {
186
- this.sendMessage(message, agent_events_conracts_1.AgentEventCode.GENERIC_MESSAGE);
187
- };
188
- AgentEventsController.prototype.submitWarning = function (message) {
189
- this.sendMessage(message, agent_events_conracts_1.AgentEventCode.WARN);
190
- };
191
- AgentEventsController.prototype.submitError = function (message) {
192
- this.sendMessage(message, agent_events_conracts_1.AgentEventCode.GENERIC_ERROR);
193
- };
194
- AgentEventsController.prototype.submitErrorsBatch = function (messages) {
195
- var _this = this;
196
- if (!messages || !messages.length) {
197
- return;
198
- }
199
- var events = messages.map(function (msg) { return _this.buildEvent(agent_events_conracts_1.AgentEventCode.GENERIC_ERROR, msg); });
200
- this.submitAgentEventRequest(events).then(function () { return _this.logger.debug("'" + events.length + "' events were submitted successfully"); });
201
- };
202
- AgentEventsController.prototype.sendMessage = function (message, code) {
203
- var _this = this;
204
- this.logger.debug("About to send message '" + message + "' with code '" + code + "', current time: " + system_date_1.getSystemDateValueOf());
205
- var messageEvent = this.buildEvent(code, message);
206
- this.submitAgentEventRequest(messageEvent).then(function () {
207
- return _this.logger.debug('Message submitted successfully');
208
- });
209
- };
210
- AgentEventsController.prototype.submitConfigChanged = function () {
211
- var _this = this;
212
- var messageEvent = this.buildEvent(agent_events_conracts_1.AgentEventCode.AGENT_CONFIG_CHANGED, this._agentConfig.toJsonObject());
213
- this.submitAgentEventRequest(messageEvent).then(function () {
214
- return _this.logger.debug('Config changed event submitted successfully');
215
- });
216
- };
217
- Object.defineProperty(AgentEventsController.prototype, "watchdog", {
218
- get: function () {
219
- return this._pingWatchdog;
220
- },
221
- enumerable: false,
222
- configurable: true
223
- });
224
- Object.defineProperty(AgentEventsController.prototype, "agentConfig", {
225
- get: function () {
226
- return this._agentConfig;
227
- },
228
- enumerable: false,
229
- configurable: true
230
- });
231
- Object.defineProperty(AgentEventsController.prototype, "logger", {
232
- get: function () {
233
- return this._logger;
234
- },
235
- enumerable: false,
236
- configurable: true
237
- });
238
- Object.defineProperty(AgentEventsController.prototype, "tools", {
239
- get: function () {
240
- return this._tools;
241
- },
242
- enumerable: false,
243
- configurable: true
244
- });
245
- AgentEventsController.prototype.resolveTags = function () {
246
- return [];
247
- };
248
- AgentEventsController.prototype.addTool = function (tollInfo) {
249
- if (!tollInfo)
250
- return;
251
- this._tools = this._tools || [];
252
- this._tools.push(tollInfo);
253
- };
254
- AgentEventsController.prototype.createBackendProxy = function () {
255
- var httpConfig = {
256
- token: this._agentConfig.token.value,
257
- proxy: this._agentConfig.proxy.value,
258
- server: this._agentConfig.server.value,
259
- compressRequests: this._agentConfig.gzip.value
260
- };
261
- return new backend_proxy_1.BackendProxy(this._agentInstanceData, httpConfig, this._logger);
262
- };
263
- AgentEventsController.prototype.initWatchdog = function () {
264
- var watchdogOptions = { interval: AgentEventsController.PING_INTERVAL, name: 'AgentEventsWatchdog', autoReset: true, unref: true };
265
- var timers = this.getTimers();
266
- this._pingWatchdog = new watchdog_1.Watchdog(watchdogOptions, timers);
267
- this._pingWatchdog.on('alarm', this.submitPingEvent.bind(this));
268
- };
269
- AgentEventsController.prototype.getTimers = function () {
270
- if (this._agentInstanceData.technology === agent_events_conracts_1.Technology.BROWSER) {
271
- return { setTimeout: setTimeout.bind(window), clearTimeout: clearTimeout.bind(window) };
272
- }
273
- else {
274
- return { setTimeout: setTimeout, clearTimeout: clearTimeout };
275
- }
276
- };
277
- AgentEventsController.prototype.buildEvent = function (type, data) {
278
- return {
279
- type: type,
280
- utcTimestamp_ms: system_date_1.getSystemDateValueOf(),
281
- data: data
282
- };
283
- };
284
- Object.defineProperty(AgentEventsController.prototype, "agentInstanceData", {
285
- get: function () {
286
- return this._agentInstanceData;
287
- },
288
- enumerable: false,
289
- configurable: true
290
- });
291
- AgentEventsController.PING_INTERVAL = 2 * 60 * 1000; // 2 Minutes.
292
- AgentEventsController.MAX_SHUTDOWN_RETRIES = 60;
293
- return AgentEventsController;
294
- }());
295
- exports.AgentEventsController = AgentEventsController;
296
- var StartRequestStatus;
297
- (function (StartRequestStatus) {
298
- StartRequestStatus["FAILED"] = "failed";
299
- StartRequestStatus["SUCCEED"] = "succeed";
300
- StartRequestStatus["PENDING"] = "pending";
301
- })(StartRequestStatus || (StartRequestStatus = {}));
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.AgentEventsController = void 0;
51
+ var agent_events_conracts_1 = require("./agent-events-conracts");
52
+ var agent_instance_info_builder_1 = require("./agent-instance-info-builder");
53
+ var machine_info_builder_1 = require("./machine-info-builder");
54
+ var nodejs_env_info_builder_1 = require("./nodejs-env-info-builder");
55
+ var agent_start_info_builder_1 = require("./agent-start-info-builder");
56
+ var ci_info_builder_1 = require("./ci-info-builder");
57
+ var backend_proxy_1 = require("../http/backend-proxy");
58
+ var validation_utils_1 = require("../utils/validation-utils");
59
+ var watchdog_1 = require("../watchdog");
60
+ var system_date_1 = require("../system-date");
61
+ var AgentEventsController = /** @class */ (function () {
62
+ function AgentEventsController(agentConfig, agentInstanceData, logger, backendProxy, tool) {
63
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(agentConfig, 'agentConfig');
64
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(agentInstanceData, 'agentInstanceData');
65
+ validation_utils_1.ValidationUtils.verifyNotNullOrEmpty(logger, 'logger');
66
+ this._agentConfig = agentConfig;
67
+ this._logger = logger;
68
+ this._agentInstanceData = agentInstanceData;
69
+ this.shutDownRetries = 0;
70
+ this.backendProxy = backendProxy || this.createBackendProxy();
71
+ this.addTool(tool);
72
+ this.initWatchdog();
73
+ this.submittedEventsMap = new Map();
74
+ }
75
+ AgentEventsController.prototype.submitAgentStartedEvent = function (packageJsonFile) {
76
+ return __awaiter(this, void 0, void 0, function () {
77
+ var event, result;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0:
81
+ this.startRequestStatus = StartRequestStatus.PENDING;
82
+ event = this.buildAgentStartEvent(packageJsonFile || {});
83
+ return [4 /*yield*/, this.submitAgentEventRequest(event)];
84
+ case 1:
85
+ result = _a.sent();
86
+ this.startRequestStatus = result ? StartRequestStatus.SUCCEED : StartRequestStatus.FAILED;
87
+ if (this.startRequestStatus !== StartRequestStatus.SUCCEED) {
88
+ this._logger.info('Agent start event failed to submit - ping events will not be sent');
89
+ }
90
+ else {
91
+ this._pingWatchdog.start();
92
+ }
93
+ return [2 /*return*/];
94
+ }
95
+ });
96
+ });
97
+ };
98
+ AgentEventsController.prototype.submitAgentEventRequest = function (event) {
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ var request, e_1;
101
+ return __generator(this, function (_a) {
102
+ switch (_a.label) {
103
+ case 0:
104
+ request = {
105
+ agentId: this._agentInstanceData.agentId,
106
+ events: Array.isArray(event) ? event : [event],
107
+ appName: this._agentConfig.appName.value,
108
+ buildSessionId: this._agentConfig.buildSessionId.value
109
+ };
110
+ _a.label = 1;
111
+ case 1:
112
+ _a.trys.push([1, 3, , 4]);
113
+ return [4 /*yield*/, this.backendProxy.submitAgentEvent(request)];
114
+ case 2:
115
+ _a.sent();
116
+ this._logger.info("Submitted '" + request.events.length + "' events successfully");
117
+ return [2 /*return*/, true];
118
+ case 3:
119
+ e_1 = _a.sent();
120
+ this._logger.warn("Failed to submit '" + request.events.length + "' events. Error " + e_1);
121
+ return [2 /*return*/, false];
122
+ case 4: return [2 /*return*/];
123
+ }
124
+ });
125
+ });
126
+ };
127
+ AgentEventsController.prototype.buildAgentStartEvent = function (packageJsonFile) {
128
+ var agentInstanceInfoBuilder = new agent_instance_info_builder_1.AgentInstanceInfoBuilder(this);
129
+ var machineInfoBuilder = new machine_info_builder_1.MachineInfoBuilder();
130
+ var dependencies = __assign(__assign({}, packageJsonFile.dependencies), packageJsonFile.devDependencies);
131
+ var nodejsEnvInfoBuilder = new nodejs_env_info_builder_1.NodejsEnvInfoBuilder(dependencies);
132
+ var ciInfoBuilder = new ci_info_builder_1.CiInfoBuilder();
133
+ var agentStartInfoBuilder = new agent_start_info_builder_1.AgentStartInfoBuilder(agentInstanceInfoBuilder, machineInfoBuilder, nodejsEnvInfoBuilder, ciInfoBuilder);
134
+ var agentStartInfo = agentStartInfoBuilder.build();
135
+ return this.buildEvent(agent_events_conracts_1.AgentEventCode.AGENT_STARTED, agentStartInfo);
136
+ };
137
+ AgentEventsController.prototype.buildAgentShutdownEvent = function () {
138
+ return this.buildEvent(agent_events_conracts_1.AgentEventCode.AGENT_SHUTDOWN);
139
+ };
140
+ AgentEventsController.prototype.submitAgentShutdownEvent = function () {
141
+ return __awaiter(this, void 0, void 0, function () {
142
+ var event;
143
+ var _this = this;
144
+ return __generator(this, function (_a) {
145
+ this.shutDownRetries++;
146
+ if (this.startRequestStatus == StartRequestStatus.FAILED) {
147
+ this._logger.debug('Agent start not submitted - not sending shut down events');
148
+ return [2 /*return*/];
149
+ }
150
+ if (this.shutDownRetries > AgentEventsController.MAX_SHUTDOWN_RETRIES) {
151
+ this._logger.debug('Stop trying to send shutdown event after 60 seconds ');
152
+ return [2 /*return*/];
153
+ }
154
+ this._pingWatchdog.stop();
155
+ event = this.buildAgentShutdownEvent();
156
+ if (this.startRequestStatus == StartRequestStatus.PENDING) {
157
+ setTimeout(function () { return _this.submitAgentShutdownEvent.call(_this); }, 1000);
158
+ }
159
+ else {
160
+ return [2 /*return*/, this.submitAgentEventRequest(event)];
161
+ }
162
+ return [2 /*return*/];
163
+ });
164
+ });
165
+ };
166
+ // Not happens if start event failed to submit
167
+ AgentEventsController.prototype.submitPingEvent = function () {
168
+ return this.submitEvent(agent_events_conracts_1.AgentEventCode.AGENT_PING);
169
+ };
170
+ AgentEventsController.prototype.submitEvent = function (code) {
171
+ var _this = this;
172
+ this.submittedEventsMap.set(code, true);
173
+ this._logger.debug("About to send event with code '" + code + "', current time: " + system_date_1.getSystemDateValueOf());
174
+ var event = this.buildEvent(code);
175
+ this.submitAgentEventRequest(event).then(function () {
176
+ return _this._logger.debug("Event with code '" + code + "' submitted successfully");
177
+ });
178
+ };
179
+ AgentEventsController.prototype.submitEventOnce = function (code) {
180
+ if (!this.submittedEventsMap.get(code)) {
181
+ this.submitEvent(code);
182
+ }
183
+ };
184
+ // Not happens if start event failed to submit
185
+ AgentEventsController.prototype.submitGenericMessage = function (message) {
186
+ this.sendMessage(message, agent_events_conracts_1.AgentEventCode.GENERIC_MESSAGE);
187
+ };
188
+ AgentEventsController.prototype.submitWarning = function (message) {
189
+ this.sendMessage(message, agent_events_conracts_1.AgentEventCode.WARN);
190
+ };
191
+ AgentEventsController.prototype.submitError = function (message) {
192
+ this.sendMessage(message, agent_events_conracts_1.AgentEventCode.GENERIC_ERROR);
193
+ };
194
+ AgentEventsController.prototype.submitErrorsBatch = function (messages) {
195
+ var _this = this;
196
+ if (!messages || !messages.length) {
197
+ return;
198
+ }
199
+ var events = messages.map(function (msg) { return _this.buildEvent(agent_events_conracts_1.AgentEventCode.GENERIC_ERROR, msg); });
200
+ this.submitAgentEventRequest(events).then(function () { return _this.logger.debug("'" + events.length + "' events were submitted successfully"); });
201
+ };
202
+ AgentEventsController.prototype.sendMessage = function (message, code) {
203
+ var _this = this;
204
+ this.logger.debug("About to send message '" + message + "' with code '" + code + "', current time: " + system_date_1.getSystemDateValueOf());
205
+ var messageEvent = this.buildEvent(code, message);
206
+ this.submitAgentEventRequest(messageEvent).then(function () {
207
+ return _this.logger.debug('Message submitted successfully');
208
+ });
209
+ };
210
+ AgentEventsController.prototype.submitConfigChanged = function () {
211
+ var _this = this;
212
+ var messageEvent = this.buildEvent(agent_events_conracts_1.AgentEventCode.AGENT_CONFIG_CHANGED, this._agentConfig.toJsonObject());
213
+ this.submitAgentEventRequest(messageEvent).then(function () {
214
+ return _this.logger.debug('Config changed event submitted successfully');
215
+ });
216
+ };
217
+ Object.defineProperty(AgentEventsController.prototype, "watchdog", {
218
+ get: function () {
219
+ return this._pingWatchdog;
220
+ },
221
+ enumerable: false,
222
+ configurable: true
223
+ });
224
+ Object.defineProperty(AgentEventsController.prototype, "agentConfig", {
225
+ get: function () {
226
+ return this._agentConfig;
227
+ },
228
+ enumerable: false,
229
+ configurable: true
230
+ });
231
+ Object.defineProperty(AgentEventsController.prototype, "logger", {
232
+ get: function () {
233
+ return this._logger;
234
+ },
235
+ enumerable: false,
236
+ configurable: true
237
+ });
238
+ Object.defineProperty(AgentEventsController.prototype, "tools", {
239
+ get: function () {
240
+ return this._tools;
241
+ },
242
+ enumerable: false,
243
+ configurable: true
244
+ });
245
+ AgentEventsController.prototype.resolveTags = function () {
246
+ return [];
247
+ };
248
+ AgentEventsController.prototype.addTool = function (tollInfo) {
249
+ if (!tollInfo)
250
+ return;
251
+ this._tools = this._tools || [];
252
+ this._tools.push(tollInfo);
253
+ };
254
+ AgentEventsController.prototype.createBackendProxy = function () {
255
+ var httpConfig = {
256
+ token: this._agentConfig.token.value,
257
+ proxy: this._agentConfig.proxy.value,
258
+ server: this._agentConfig.server.value,
259
+ compressRequests: this._agentConfig.gzip.value
260
+ };
261
+ return new backend_proxy_1.BackendProxy(this._agentInstanceData, httpConfig, this._logger);
262
+ };
263
+ AgentEventsController.prototype.initWatchdog = function () {
264
+ var watchdogOptions = { interval: AgentEventsController.PING_INTERVAL, name: 'AgentEventsWatchdog', autoReset: true, unref: true };
265
+ var timers = this.getTimers();
266
+ this._pingWatchdog = new watchdog_1.Watchdog(watchdogOptions, timers);
267
+ this._pingWatchdog.on('alarm', this.submitPingEvent.bind(this));
268
+ };
269
+ AgentEventsController.prototype.getTimers = function () {
270
+ if (this._agentInstanceData.technology === agent_events_conracts_1.Technology.BROWSER) {
271
+ return { setTimeout: setTimeout.bind(window), clearTimeout: clearTimeout.bind(window) };
272
+ }
273
+ else {
274
+ return { setTimeout: setTimeout, clearTimeout: clearTimeout };
275
+ }
276
+ };
277
+ AgentEventsController.prototype.buildEvent = function (type, data) {
278
+ return {
279
+ type: type,
280
+ utcTimestamp_ms: system_date_1.getSystemDateValueOf(),
281
+ data: data
282
+ };
283
+ };
284
+ Object.defineProperty(AgentEventsController.prototype, "agentInstanceData", {
285
+ get: function () {
286
+ return this._agentInstanceData;
287
+ },
288
+ enumerable: false,
289
+ configurable: true
290
+ });
291
+ AgentEventsController.PING_INTERVAL = 2 * 60 * 1000; // 2 Minutes.
292
+ AgentEventsController.MAX_SHUTDOWN_RETRIES = 60;
293
+ return AgentEventsController;
294
+ }());
295
+ exports.AgentEventsController = AgentEventsController;
296
+ var StartRequestStatus;
297
+ (function (StartRequestStatus) {
298
+ StartRequestStatus["FAILED"] = "failed";
299
+ StartRequestStatus["SUCCEED"] = "succeed";
300
+ StartRequestStatus["PENDING"] = "pending";
301
+ })(StartRequestStatus || (StartRequestStatus = {}));
302
302
  //# sourceMappingURL=agent-events-controller.js.map