slnodejs 6.0.42 → 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 (431) hide show
  1. package/lib/cli.js +1 -1
  2. package/package.json +124 -124
  3. package/tsOutputs/api.d.ts +12 -12
  4. package/tsOutputs/api.js +116 -116
  5. package/tsOutputs/build-scanner/ast-utils.js +38 -38
  6. package/tsOutputs/build-scanner/ast-utils.js.map +1 -1
  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/file-instrumenter.js +271 -271
  23. package/tsOutputs/build-scanner/instrumentation/file-instrumenter.js.map +1 -1
  24. package/tsOutputs/build-scanner/instrumentation/instrumentation-utils.js +58 -58
  25. package/tsOutputs/build-scanner/instrumentation/instrumented-file-size-reducer.js +159 -159
  26. package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js +185 -190
  27. package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js.map +1 -1
  28. package/tsOutputs/build-scanner/instrumentation/sync-instrumenter.js +39 -39
  29. package/tsOutputs/build-scanner/js_diff/ast-node-types.js +44 -44
  30. package/tsOutputs/build-scanner/js_diff/branch-key.js +10 -10
  31. package/tsOutputs/build-scanner/js_diff/branch-signature.js +156 -156
  32. package/tsOutputs/build-scanner/js_diff/code-metrics-spec.js +1 -0
  33. package/tsOutputs/build-scanner/js_diff/code-metrics-spec.js.map +1 -0
  34. package/tsOutputs/build-scanner/js_diff/code-metrics.js +1 -0
  35. package/tsOutputs/build-scanner/js_diff/code-metrics.js.map +1 -0
  36. package/tsOutputs/build-scanner/js_diff/create-node-key.js +7 -7
  37. package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js +23 -23
  38. package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js.map +1 -1
  39. package/tsOutputs/build-scanner/js_diff/file-signature.js +234 -231
  40. package/tsOutputs/build-scanner/js_diff/file-signature.js.map +1 -1
  41. package/tsOutputs/build-scanner/js_diff/files-mapping.js +460 -473
  42. package/tsOutputs/build-scanner/js_diff/files-mapping.js.map +1 -1
  43. package/tsOutputs/build-scanner/js_diff/generated-file-signature.js +143 -143
  44. package/tsOutputs/build-scanner/js_diff/generated-file-signature.js.map +1 -1
  45. package/tsOutputs/build-scanner/js_diff/globalMethodIndexer.js +26 -26
  46. package/tsOutputs/build-scanner/js_diff/guess-method-location.js +100 -97
  47. package/tsOutputs/build-scanner/js_diff/guess-method-location.js.map +1 -1
  48. package/tsOutputs/build-scanner/js_diff/guess-method-name.js +54 -54
  49. package/tsOutputs/build-scanner/js_diff/method-signature.js +142 -140
  50. package/tsOutputs/build-scanner/js_diff/method-signature.js.map +1 -1
  51. package/tsOutputs/build-scanner/js_diff/sl-mapper.js +136 -75
  52. package/tsOutputs/build-scanner/js_diff/sl-mapper.js.map +1 -1
  53. package/tsOutputs/build-scanner/js_diff/source-data-enricher.js +89 -89
  54. package/tsOutputs/build-scanner/js_diff/source-data-enricher.js.map +1 -1
  55. package/tsOutputs/build-scanner/js_diff/source-files-notifier.js +31 -31
  56. package/tsOutputs/build-scanner/js_diff/source-position-mapper.js +29 -29
  57. package/tsOutputs/build-scanner/mappings/contracts.js +3 -0
  58. package/tsOutputs/build-scanner/mappings/contracts.js.map +1 -0
  59. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js +214 -0
  60. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js.map +1 -0
  61. package/tsOutputs/build-scanner/mappings/file-element-utils.js +47 -0
  62. package/tsOutputs/build-scanner/mappings/file-element-utils.js.map +1 -0
  63. package/tsOutputs/build-scanner/mappings/file-enricher.js +205 -0
  64. package/tsOutputs/build-scanner/mappings/file-enricher.js.map +1 -0
  65. package/tsOutputs/build-scanner/mappings/files-data-container.js +52 -0
  66. package/tsOutputs/build-scanner/mappings/files-data-container.js.map +1 -0
  67. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js +78 -0
  68. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js.map +1 -0
  69. package/tsOutputs/build-scanner/markup-files-parser.js +71 -71
  70. package/tsOutputs/build-scanner/nopt-types.js +19 -19
  71. package/tsOutputs/build-scanner/nopt-usage-2.js +56 -56
  72. package/tsOutputs/build-scanner/polyfills.js +6 -6
  73. package/tsOutputs/build-scanner/scm/parse-log.js +5 -5
  74. package/tsOutputs/build-scanner/scm/scm-files-container.js +49 -49
  75. package/tsOutputs/build-scanner/sl-config-cia-cli.js +175 -175
  76. package/tsOutputs/build-scanner/utils.js +91 -91
  77. package/tsOutputs/cli-parse/agent-instance-data.d.ts +2 -2
  78. package/tsOutputs/cli-parse/agent-instance-data.js +6 -6
  79. package/tsOutputs/cli-parse/child-process-wrapper.js +82 -82
  80. package/tsOutputs/cli-parse/child-process-wrapper.js.map +1 -1
  81. package/tsOutputs/cli-parse/cli.js +509 -509
  82. package/tsOutputs/cli-parse/constants/constants.js +55 -56
  83. package/tsOutputs/cli-parse/constants/constants.js.map +1 -1
  84. package/tsOutputs/cli-parse/constants/third-parties.js +10 -10
  85. package/tsOutputs/cli-parse/contracts.js +2 -2
  86. package/tsOutputs/cli-parse/custom-commander.js +44 -44
  87. package/tsOutputs/cli-parse/executors/base-executor.js +263 -254
  88. package/tsOutputs/cli-parse/executors/base-executor.js.map +1 -1
  89. package/tsOutputs/cli-parse/executors/build-args-dto.js +55 -55
  90. package/tsOutputs/cli-parse/executors/build-end-executor.js +115 -117
  91. package/tsOutputs/cli-parse/executors/build-end-executor.js.map +1 -1
  92. package/tsOutputs/cli-parse/executors/build-executor.js +147 -149
  93. package/tsOutputs/cli-parse/executors/build-executor.js.map +1 -1
  94. package/tsOutputs/cli-parse/executors/config-executor.js +112 -114
  95. package/tsOutputs/cli-parse/executors/config-executor.js.map +1 -1
  96. package/tsOutputs/cli-parse/executors/dry-run/base-data.js +55 -55
  97. package/tsOutputs/cli-parse/executors/dry-run/base-data.js.map +1 -1
  98. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js +228 -230
  99. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js.map +1 -1
  100. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js +277 -277
  101. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js.map +1 -1
  102. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js +120 -122
  103. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js.map +1 -1
  104. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js +130 -72
  105. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js.map +1 -1
  106. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js +104 -99
  107. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js.map +1 -1
  108. package/tsOutputs/cli-parse/executors/end-execution-executor.js +88 -90
  109. package/tsOutputs/cli-parse/executors/end-execution-executor.js.map +1 -1
  110. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js +132 -134
  111. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js.map +1 -1
  112. package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js +73 -75
  113. package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js.map +1 -1
  114. package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js +71 -73
  115. package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js.map +1 -1
  116. package/tsOutputs/cli-parse/executors/mocha-executor.js +122 -124
  117. package/tsOutputs/cli-parse/executors/mocha-executor.js.map +1 -1
  118. package/tsOutputs/cli-parse/executors/nyc-report-executor.js +104 -106
  119. package/tsOutputs/cli-parse/executors/nyc-report-executor.js.map +1 -1
  120. package/tsOutputs/cli-parse/executors/pr-config-executor.js +83 -85
  121. package/tsOutputs/cli-parse/executors/pr-config-executor.js.map +1 -1
  122. package/tsOutputs/cli-parse/executors/run-executor.js +93 -95
  123. package/tsOutputs/cli-parse/executors/run-executor.js.map +1 -1
  124. package/tsOutputs/cli-parse/executors/start-execution-executor.js +91 -93
  125. package/tsOutputs/cli-parse/executors/start-execution-executor.js.map +1 -1
  126. package/tsOutputs/cli-parse/executors/test-executions-executor.js +75 -77
  127. package/tsOutputs/cli-parse/executors/test-executions-executor.js.map +1 -1
  128. package/tsOutputs/cli-parse/executors/test-listener-executor.js +149 -151
  129. package/tsOutputs/cli-parse/executors/test-listener-executor.js.map +1 -1
  130. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js +75 -77
  131. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js.map +1 -1
  132. package/tsOutputs/cli-parse/executors/upload-report-executor.js +116 -118
  133. package/tsOutputs/cli-parse/executors/upload-report-executor.js.map +1 -1
  134. package/tsOutputs/cli-parse/utils.js +32 -32
  135. package/tsOutputs/cli-parse/utils.js.map +1 -1
  136. package/tsOutputs/common/agent-events/agent-events-conracts.d.ts +123 -123
  137. package/tsOutputs/common/agent-events/agent-events-conracts.js +56 -56
  138. package/tsOutputs/common/agent-events/agent-events-controller.d.ts +45 -45
  139. package/tsOutputs/common/agent-events/agent-events-controller.js +301 -301
  140. package/tsOutputs/common/agent-events/agent-events-controller.js.map +1 -1
  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-instance-info-builder.js.map +1 -1
  144. package/tsOutputs/common/agent-events/agent-start-info-builder.d.ts +14 -14
  145. package/tsOutputs/common/agent-events/agent-start-info-builder.js +23 -23
  146. package/tsOutputs/common/agent-events/ci-info-builder.d.ts +7 -7
  147. package/tsOutputs/common/agent-events/ci-info-builder.js +30 -30
  148. package/tsOutputs/common/agent-events/cockpit-notifier.d.ts +26 -26
  149. package/tsOutputs/common/agent-events/cockpit-notifier.js +119 -119
  150. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.d.ts +7 -7
  151. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js +31 -33
  152. package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js.map +1 -1
  153. package/tsOutputs/common/agent-events/machine-info-builder.d.ts +7 -7
  154. package/tsOutputs/common/agent-events/machine-info-builder.js +35 -35
  155. package/tsOutputs/common/agent-events/machine-info-builder.js.map +1 -1
  156. package/tsOutputs/common/agent-events/nodejs-env-info-builder.d.ts +8 -8
  157. package/tsOutputs/common/agent-events/nodejs-env-info-builder.js +19 -19
  158. package/tsOutputs/common/agent-events/sensitive-data-filter.d.ts +2 -2
  159. package/tsOutputs/common/agent-events/sensitive-data-filter.js +54 -54
  160. package/tsOutputs/common/agent-instance-data.d.ts +10 -10
  161. package/tsOutputs/common/agent-instance-data.js +39 -39
  162. package/tsOutputs/common/agent-instance-data.js.map +1 -1
  163. package/tsOutputs/common/config-process/config-loader.d.ts +8 -8
  164. package/tsOutputs/common/config-process/config-loader.js +86 -86
  165. package/tsOutputs/common/config-process/config-system.d.ts +88 -88
  166. package/tsOutputs/common/config-process/config-system.js +293 -293
  167. package/tsOutputs/common/config-process/config.d.ts +60 -60
  168. package/tsOutputs/common/config-process/config.js +90 -92
  169. package/tsOutputs/common/config-process/config.js.map +1 -1
  170. package/tsOutputs/common/config-process/index.d.ts +21 -21
  171. package/tsOutputs/common/config-process/index.js +125 -127
  172. package/tsOutputs/common/config-process/index.js.map +1 -1
  173. package/tsOutputs/common/constants/constants.d.ts +18 -18
  174. package/tsOutputs/common/constants/constants.js +29 -29
  175. package/tsOutputs/common/constants/sl-env-vars.d.ts +52 -52
  176. package/tsOutputs/common/constants/sl-env-vars.js +122 -122
  177. package/tsOutputs/common/contracts.d.ts +123 -123
  178. package/tsOutputs/common/contracts.js +2 -2
  179. package/tsOutputs/common/coverage-elements/contracts.d.ts +25 -25
  180. package/tsOutputs/common/coverage-elements/contracts.js +8 -8
  181. package/tsOutputs/common/coverage-elements/file-element.d.ts +35 -35
  182. package/tsOutputs/common/coverage-elements/file-element.js +158 -158
  183. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.d.ts +12 -12
  184. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js +95 -97
  185. package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js.map +1 -1
  186. package/tsOutputs/common/coverage-elements/new-id-resolver.d.ts +3 -3
  187. package/tsOutputs/common/coverage-elements/new-id-resolver.js +45 -45
  188. package/tsOutputs/common/coverage-elements/new-id-resolver.js.map +1 -1
  189. package/tsOutputs/common/coverage-elements/original-module-loader.d.ts +41 -41
  190. package/tsOutputs/common/coverage-elements/original-module-loader.js +189 -189
  191. package/tsOutputs/common/coverage-elements/unique-id-converter.d.ts +32 -32
  192. package/tsOutputs/common/coverage-elements/unique-id-converter.js +234 -234
  193. package/tsOutputs/common/environment-data-service.d.ts +15 -15
  194. package/tsOutputs/common/environment-data-service.js +60 -60
  195. package/tsOutputs/common/events-process/events-contracts.d.ts +52 -52
  196. package/tsOutputs/common/events-process/events-contracts.js +19 -19
  197. package/tsOutputs/common/events-process/events-creator.js +42 -40
  198. package/tsOutputs/common/events-process/events-creator.js.map +1 -1
  199. package/tsOutputs/common/events-process/index.d.ts +42 -42
  200. package/tsOutputs/common/events-process/index.js +265 -266
  201. package/tsOutputs/common/events-process/index.js.map +1 -1
  202. package/tsOutputs/common/footprints-process/collection-interval.d.ts +10 -10
  203. package/tsOutputs/common/footprints-process/collection-interval.js +27 -27
  204. package/tsOutputs/common/footprints-process/collection-interval.js.map +1 -1
  205. package/tsOutputs/common/footprints-process/footprints-service-proxy.d.ts +12 -12
  206. package/tsOutputs/common/footprints-process/footprints-service-proxy.js +51 -51
  207. package/tsOutputs/common/footprints-process/index.d.ts +71 -71
  208. package/tsOutputs/common/footprints-process/index.js +264 -264
  209. package/tsOutputs/common/footprints-process/index.js.map +1 -1
  210. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.d.ts +98 -98
  211. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.js +9 -9
  212. package/tsOutputs/common/footprints-process/istanbul-to-footprints.d.ts +47 -47
  213. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js +421 -421
  214. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js.map +1 -1
  215. package/tsOutputs/common/footprints-process/production-footprints-handler.d.ts +54 -54
  216. package/tsOutputs/common/footprints-process/production-footprints-handler.js +308 -308
  217. package/tsOutputs/common/footprints-process/production-footprints-handler.js.map +1 -1
  218. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.d.ts +20 -20
  219. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js +63 -65
  220. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js.map +1 -1
  221. package/tsOutputs/common/footprints-process-v6/buffer-size-helper.d.ts +15 -15
  222. package/tsOutputs/common/footprints-process-v6/buffer-size-helper.js +40 -40
  223. package/tsOutputs/common/footprints-process-v6/contracts.d.ts +184 -181
  224. package/tsOutputs/common/footprints-process-v6/contracts.js +9 -9
  225. package/tsOutputs/common/footprints-process-v6/footprints-buffer.d.ts +36 -34
  226. package/tsOutputs/common/footprints-process-v6/footprints-buffer.js +147 -135
  227. package/tsOutputs/common/footprints-process-v6/footprints-buffer.js.map +1 -1
  228. package/tsOutputs/common/footprints-process-v6/hits-collector.d.ts +24 -24
  229. package/tsOutputs/common/footprints-process-v6/hits-collector.js +168 -168
  230. package/tsOutputs/common/footprints-process-v6/hits-converter.d.ts +30 -28
  231. package/tsOutputs/common/footprints-process-v6/hits-converter.js +135 -105
  232. package/tsOutputs/common/footprints-process-v6/hits-converter.js.map +1 -1
  233. package/tsOutputs/common/footprints-process-v6/index.d.ts +41 -40
  234. package/tsOutputs/common/footprints-process-v6/index.js +304 -258
  235. package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
  236. package/tsOutputs/common/footprints-process-v6/location-formatter.d.ts +6 -6
  237. package/tsOutputs/common/footprints-process-v6/location-formatter.js +25 -25
  238. package/tsOutputs/common/footprints-process-v6/relative-path-resolver.d.ts +8 -8
  239. package/tsOutputs/common/footprints-process-v6/relative-path-resolver.js +28 -28
  240. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.d.ts +9 -9
  241. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js +38 -40
  242. package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js.map +1 -1
  243. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.d.ts +8 -8
  244. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js +32 -34
  245. package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js.map +1 -1
  246. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.d.ts +14 -14
  247. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js +39 -41
  248. package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js.map +1 -1
  249. package/tsOutputs/common/footprints-process-v6/source-map-data.d.ts +9 -9
  250. package/tsOutputs/common/footprints-process-v6/source-map-data.js +32 -32
  251. package/tsOutputs/common/footprints-process-v6/source-map-data.js.map +1 -1
  252. package/tsOutputs/common/http/backend-proxy-interface.d.ts +33 -33
  253. package/tsOutputs/common/http/backend-proxy-interface.js +2 -2
  254. package/tsOutputs/common/http/backend-proxy.d.ts +54 -53
  255. package/tsOutputs/common/http/backend-proxy.js +408 -398
  256. package/tsOutputs/common/http/backend-proxy.js.map +1 -1
  257. package/tsOutputs/common/http/contracts.d.ts +280 -203
  258. package/tsOutputs/common/http/contracts.js +156 -158
  259. package/tsOutputs/common/http/contracts.js.map +1 -1
  260. package/tsOutputs/common/http/dry-run-proxy.js +106 -106
  261. package/tsOutputs/common/http/entities-mapper.d.ts +4 -4
  262. package/tsOutputs/common/http/entities-mapper.js +17 -17
  263. package/tsOutputs/common/http/http-client.d.ts +21 -21
  264. package/tsOutputs/common/http/http-client.js +195 -191
  265. package/tsOutputs/common/http/http-client.js.map +1 -1
  266. package/tsOutputs/common/http/http-verb.d.ts +6 -6
  267. package/tsOutputs/common/http/http-verb.js +10 -10
  268. package/tsOutputs/common/http/sl-routes.d.ts +70 -70
  269. package/tsOutputs/common/http/sl-routes.js +218 -218
  270. package/tsOutputs/common/ignored-files-handler.js +122 -122
  271. package/tsOutputs/common/ignored-files-handler.js.map +1 -1
  272. package/tsOutputs/common/logger.d.ts +40 -40
  273. package/tsOutputs/common/logger.js +188 -190
  274. package/tsOutputs/common/logger.js.map +1 -1
  275. package/tsOutputs/common/messages-formatter.d.ts +6 -6
  276. package/tsOutputs/common/messages-formatter.js +21 -21
  277. package/tsOutputs/common/queue.d.ts +19 -19
  278. package/tsOutputs/common/queue.js +55 -57
  279. package/tsOutputs/common/queue.js.map +1 -1
  280. package/tsOutputs/common/scm/contracts.js +2 -2
  281. package/tsOutputs/common/scm/git-cloner.js +138 -0
  282. package/tsOutputs/common/scm/git-cloner.js.map +1 -0
  283. package/tsOutputs/common/scm/git-format-builder.js +72 -72
  284. package/tsOutputs/common/scm/git.js +411 -411
  285. package/tsOutputs/common/scm/git.js.map +1 -1
  286. package/tsOutputs/common/scm/none.js +115 -115
  287. package/tsOutputs/common/scm/scm-factory.js +21 -21
  288. package/tsOutputs/common/short-name-to-file-mapper.js +79 -79
  289. package/tsOutputs/common/source-map-handler.d.ts +58 -58
  290. package/tsOutputs/common/source-map-handler.js +197 -197
  291. package/tsOutputs/common/source-map-reader.js +84 -84
  292. package/tsOutputs/common/source-maps-utils.d.ts +3 -3
  293. package/tsOutputs/common/source-maps-utils.js +39 -39
  294. package/tsOutputs/common/state-tracker-fpv6.d.ts +6 -6
  295. package/tsOutputs/common/state-tracker-fpv6.js +42 -44
  296. package/tsOutputs/common/state-tracker-fpv6.js.map +1 -1
  297. package/tsOutputs/common/state-tracker.d.ts +49 -49
  298. package/tsOutputs/common/state-tracker.js +299 -304
  299. package/tsOutputs/common/state-tracker.js.map +1 -1
  300. package/tsOutputs/common/system-date.d.ts +2 -2
  301. package/tsOutputs/common/system-date.js +21 -21
  302. package/tsOutputs/common/utils/abstract-data-builder.d.ts +10 -10
  303. package/tsOutputs/common/utils/abstract-data-builder.js +24 -24
  304. package/tsOutputs/common/utils/abstract-data-builder.js.map +1 -1
  305. package/tsOutputs/common/utils/build-session-data-builder.d.ts +18 -18
  306. package/tsOutputs/common/utils/build-session-data-builder.js +135 -137
  307. package/tsOutputs/common/utils/build-session-data-builder.js.map +1 -1
  308. package/tsOutputs/common/utils/dependency-utils.js +69 -69
  309. package/tsOutputs/common/utils/files-utils.d.ts +6 -5
  310. package/tsOutputs/common/utils/files-utils.js +45 -36
  311. package/tsOutputs/common/utils/files-utils.js.map +1 -1
  312. package/tsOutputs/common/utils/parsing-utils.d.ts +4 -4
  313. package/tsOutputs/common/utils/parsing-utils.js +29 -29
  314. package/tsOutputs/common/utils/test-utils/mock-server-utils/contracts.js +10 -10
  315. package/tsOutputs/common/utils/test-utils/mock-server-utils/mock-server-proxy.js +248 -248
  316. package/tsOutputs/common/utils/timer-utils.d.ts +3 -3
  317. package/tsOutputs/common/utils/timer-utils.js +12 -12
  318. package/tsOutputs/common/utils/token-data-builder.d.ts +21 -21
  319. package/tsOutputs/common/utils/token-data-builder.js +95 -97
  320. package/tsOutputs/common/utils/token-data-builder.js.map +1 -1
  321. package/tsOutputs/common/utils/validation-utils.d.ts +3 -3
  322. package/tsOutputs/common/utils/validation-utils.js +18 -18
  323. package/tsOutputs/common/uuid.js +23 -23
  324. package/tsOutputs/common/watchdog.d.ts +96 -96
  325. package/tsOutputs/common/watchdog.js +149 -151
  326. package/tsOutputs/common/watchdog.js.map +1 -1
  327. package/tsOutputs/mocha-reporter/constants.js +27 -27
  328. package/tsOutputs/mocha-reporter/end-execution.js +22 -22
  329. package/tsOutputs/mocha-reporter/index.js +323 -323
  330. package/tsOutputs/test-listener/IConsoleLogger.js +5 -5
  331. package/tsOutputs/test-listener/SlNodeJsProxy.js +96 -96
  332. package/tsOutputs/test-listener/UserMessageHelper.js +47 -47
  333. package/tsOutputs/test-listener/agent-loader.js +58 -58
  334. package/tsOutputs/test-listener/agent.d.ts +53 -53
  335. package/tsOutputs/test-listener/agent.js +273 -273
  336. package/tsOutputs/test-listener/agent.js.map +1 -1
  337. package/tsOutputs/test-listener/api.js +157 -157
  338. package/tsOutputs/test-listener/base-proxy.d.ts +15 -15
  339. package/tsOutputs/test-listener/base-proxy.js +133 -133
  340. package/tsOutputs/test-listener/bootstrap.js +16 -16
  341. package/tsOutputs/test-listener/child-process-patcher.js +136 -136
  342. package/tsOutputs/test-listener/child-process-patcher.js.map +1 -1
  343. package/tsOutputs/test-listener/cli.js +64 -64
  344. package/tsOutputs/test-listener/coloring/http-coloring.d.ts +15 -15
  345. package/tsOutputs/test-listener/coloring/http-coloring.js +188 -188
  346. package/tsOutputs/test-listener/coloring/icoloring-provider.d.ts +10 -10
  347. package/tsOutputs/test-listener/coloring/icoloring-provider.js +2 -2
  348. package/tsOutputs/test-listener/coloring/listening-port.d.ts +20 -20
  349. package/tsOutputs/test-listener/coloring/listening-port.js +48 -48
  350. package/tsOutputs/test-listener/command-line-arg-parser.js +91 -91
  351. package/tsOutputs/test-listener/config-process/config-loader.js +104 -104
  352. package/tsOutputs/test-listener/config-process/config-system.d.ts +88 -88
  353. package/tsOutputs/test-listener/config-process/config-system.js +285 -285
  354. package/tsOutputs/test-listener/config-process/index.js +126 -128
  355. package/tsOutputs/test-listener/config-process/index.js.map +1 -1
  356. package/tsOutputs/test-listener/config.d.ts +50 -50
  357. package/tsOutputs/test-listener/config.js +80 -82
  358. package/tsOutputs/test-listener/config.js.map +1 -1
  359. package/tsOutputs/test-listener/contracts.d.ts +72 -72
  360. package/tsOutputs/test-listener/contracts.js +2 -2
  361. package/tsOutputs/test-listener/entities/BasicConfigurationData.js +72 -72
  362. package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js +48 -50
  363. package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js.map +1 -1
  364. package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js +51 -53
  365. package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js.map +1 -1
  366. package/tsOutputs/test-listener/environment-data-service.d.ts +11 -11
  367. package/tsOutputs/test-listener/environment-data-service.js +60 -60
  368. package/tsOutputs/test-listener/execution-process/contracts.js +5 -5
  369. package/tsOutputs/test-listener/execution-process/entities-mapper.js +49 -49
  370. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js +205 -207
  371. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js.map +1 -1
  372. package/tsOutputs/test-listener/execution-process/index.js +163 -163
  373. package/tsOutputs/test-listener/factory.d.ts +87 -87
  374. package/tsOutputs/test-listener/factory.js +285 -285
  375. package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js +50 -52
  376. package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js.map +1 -1
  377. package/tsOutputs/test-listener/footprints-process/index.js +230 -230
  378. package/tsOutputs/test-listener/footprints-process/index.js.map +1 -1
  379. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js +130 -130
  380. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-contract.js +2 -2
  381. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js +288 -290
  382. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js.map +1 -1
  383. package/tsOutputs/test-listener/integrations/SlGulp.js +104 -104
  384. package/tsOutputs/test-listener/logs-process/index.d.ts +48 -48
  385. package/tsOutputs/test-listener/logs-process/index.js +142 -142
  386. package/tsOutputs/test-listener/logs-process/index.js.map +1 -1
  387. package/tsOutputs/test-listener/logs-process/log-service-proxy.d.ts +9 -9
  388. package/tsOutputs/test-listener/logs-process/log-service-proxy.js +29 -31
  389. package/tsOutputs/test-listener/logs-process/log-service-proxy.js.map +1 -1
  390. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js +143 -136
  391. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js.map +1 -1
  392. package/tsOutputs/test-listener/nyc-report-executor.js +144 -144
  393. package/tsOutputs/test-listener/nyc-report-executor.js.map +1 -1
  394. package/tsOutputs/test-listener/queue.js +55 -57
  395. package/tsOutputs/test-listener/queue.js.map +1 -1
  396. package/tsOutputs/test-listener/remote-agent.d.ts +42 -42
  397. package/tsOutputs/test-listener/remote-agent.js +200 -200
  398. package/tsOutputs/test-listener/remote-agent.js.map +1 -1
  399. package/tsOutputs/test-listener/resolvers/AppNameResolver.js +32 -34
  400. package/tsOutputs/test-listener/resolvers/AppNameResolver.js.map +1 -1
  401. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js +64 -64
  402. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js.map +1 -1
  403. package/tsOutputs/test-listener/resolvers/BuildResolver.js +31 -33
  404. package/tsOutputs/test-listener/resolvers/BuildResolver.js.map +1 -1
  405. package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js +31 -33
  406. package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js.map +1 -1
  407. package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js +34 -36
  408. package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js.map +1 -1
  409. package/tsOutputs/test-listener/resolvers/ProxyResolver.js +31 -33
  410. package/tsOutputs/test-listener/resolvers/ProxyResolver.js.map +1 -1
  411. package/tsOutputs/test-listener/resolvers/TokenResolver.js +31 -33
  412. package/tsOutputs/test-listener/resolvers/TokenResolver.js.map +1 -1
  413. package/tsOutputs/test-listener/state-tracker-process/index.js +160 -162
  414. package/tsOutputs/test-listener/state-tracker-process/index.js.map +1 -1
  415. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.d.ts +8 -8
  416. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js +69 -71
  417. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js.map +1 -1
  418. package/tsOutputs/test-listener/test-recommendation-handler.d.ts +29 -29
  419. package/tsOutputs/test-listener/test-recommendation-handler.js +161 -161
  420. package/tsOutputs/test-listener/upload-report-handler.js +96 -96
  421. package/tsOutputs/test-listener/utils.js +68 -68
  422. package/tsOutputs/test-listener/uuid.d.ts +3 -3
  423. package/tsOutputs/test-listener/uuid.js +23 -23
  424. package/tsOutputs/test-listener/wait-for-multiple-callbacks.d.ts +22 -22
  425. package/tsOutputs/test-listener/wait-for-multiple-callbacks.js +60 -60
  426. package/tsOutputs/test-listener/watchdog.d.ts +89 -89
  427. package/tsOutputs/test-listener/watchdog.js +144 -146
  428. package/tsOutputs/test-listener/watchdog.js.map +1 -1
  429. package/browser-agent/dist/browser-agent-all.js +0 -101140
  430. package/browser-agent/dist/browser-agent-all.min.js +0 -57
  431. package/browser-agent/package.json +0 -44
@@ -1,189 +1,189 @@
1
- "use strict";
2
- /**
3
- * Created by nadav on 19/03/2017.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HttpColoring = void 0;
7
- var url = require("url");
8
- var objectAssign = require("object-assign");
9
- var http = require("http");
10
- var https = require("https");
11
- var cookie = require("lightcookie");
12
- var HttpColoring = /** @class */ (function () {
13
- function HttpColoring() {
14
- }
15
- HttpColoring.prototype.setup = function (config, stateTracker, log) {
16
- this.setupHttpColoring(config, stateTracker, log);
17
- };
18
- HttpColoring.prototype.teardown = function () {
19
- };
20
- HttpColoring.prototype.setupHttpColoring = function (config, stateTracker, log) {
21
- if (config.httpServerColoring.value) {
22
- this.setupHttpServerColoring(config, stateTracker, log);
23
- }
24
- else {
25
- log.info('HTTP Server coloring is disabled');
26
- }
27
- if (config.httpClientColoring.value) {
28
- this.setupHttpClientColoring(config, stateTracker, log);
29
- }
30
- else {
31
- log.info('HTTP Client coloring is disabled');
32
- }
33
- };
34
- /*
35
- *
36
- * Server coloring means that we wrap the prototype of "Http.Server" in such a way that:
37
- * 1. Every request to the server will be searched. If we'll find the Sealights HTTP header, we'll read it and save into the state tracker.
38
- * 2. Add the sealights header to every response (regardless if the request had the sealights header or not).
39
- *
40
- * Basically this handles all the INCOMING requests and their responses.
41
- * */
42
- HttpColoring.prototype.setupHttpServerColoring = function (config, stateTracker, log) {
43
- function wrapListener(listener) {
44
- if (typeof listener !== 'function')
45
- return listener;
46
- return function (request, response) {
47
- try {
48
- if (request && request.headers) {
49
- var newTestIdentifier = request.headers[HttpColoring.COLORING_HEADER_NAME];
50
- if (newTestIdentifier) {
51
- log.info('Got test identifier from Sealights HTTP header: ' + newTestIdentifier);
52
- }
53
- else {
54
- var cookiesHeader = request.headers['cookie'];
55
- if (cookiesHeader) {
56
- try {
57
- log.info('\'Got cookiesHeader: \'' + cookiesHeader + '\'');
58
- var parsed = cookie.parse(cookiesHeader) || {};
59
- newTestIdentifier = parsed[HttpColoring.COLORING_HEADER_NAME];
60
- if (newTestIdentifier) {
61
- log.info('\'Got test identifier from HTTP cookie: \'' + newTestIdentifier + '\'');
62
- }
63
- else {
64
- log.error('Got invalid cookie header: \'' + cookiesHeader);
65
- }
66
- }
67
- catch (e) {
68
- log.error('Got invalid cookie header: \'%s\' Error: %s', cookiesHeader, e);
69
- }
70
- }
71
- }
72
- if (newTestIdentifier) {
73
- log.info('Setting test identifier from HTTP header: ' + newTestIdentifier);
74
- stateTracker.setTestIdentifier(newTestIdentifier);
75
- }
76
- }
77
- }
78
- catch (e) {
79
- log.error('Exception in server communication hook: ' + e);
80
- }
81
- try {
82
- var currentTestIdentifier = stateTracker.getCurrentTestIdentifier();
83
- if (currentTestIdentifier) {
84
- response.setHeader(HttpColoring.COLORING_HEADER_NAME, currentTestIdentifier);
85
- }
86
- }
87
- catch (e) {
88
- log.error('Error adding color to response');
89
- }
90
- // eslint-disable-next-line prefer-spread,prefer-rest-params
91
- listener.apply(null, arguments);
92
- };
93
- }
94
- function hookAddListenerFunction(oldListener) {
95
- return function (type, listener) {
96
- if (type == 'request') {
97
- return oldListener.call(this, type, wrapListener(listener));
98
- }
99
- return oldListener.apply(this, arguments);
100
- };
101
- }
102
- var httpServerPrototype = http.Server.prototype;
103
- httpServerPrototype.on = hookAddListenerFunction(httpServerPrototype.on);
104
- httpServerPrototype.addListener = hookAddListenerFunction(httpServerPrototype.addListener);
105
- };
106
- /*
107
- *
108
- * Client coloring means that we wrap 'http.request' and 'https.request' in such a way that:
109
- * 1. For every request that client application we should add the Sealights HTTP Header as long as the request is not to Sealights servers.
110
- * The reason for the latter is that when the agent sends events and footprints to the cloud, we don't want to send the color.
111
- * 2. Since HTTP is based on request-response model, every request has a response. When the client sends a request, we also
112
- * search for the Sealights HTTP Header on response (if the server uses HttpServerColoring=true). If it exists, we'll set to the state tracker.
113
- *
114
- * Basically this handles all the OUTGOING requests and their responses.
115
- * */
116
- HttpColoring.prototype.setupHttpClientColoring = function (config, stateTracker, log) {
117
- function hookRequestFunction(oldRequest, protocol) {
118
- return function (options, callback) {
119
- var currentTestIdentifier = stateTracker.getCurrentTestIdentifier();
120
- try {
121
- if (currentTestIdentifier) {
122
- if (typeof options === 'string') {
123
- options = url.parse(options);
124
- }
125
- else {
126
- options = objectAssign({}, options);
127
- }
128
- options.headers = options.headers || {};
129
- options.protocol = options.protocol || protocol;
130
- var fullUrl = url.format(options);
131
- if (options.path)
132
- fullUrl += options.path; //according to the docs, the generated url will NOT include the path
133
- if (options.href) {
134
- //This should fix the following:
135
- //TODO: Fix the URL. Missing the protocol + should compare without casing issues. Example:
136
- //fullUrl: "//dev-nadav-gw.sealights.co/api/v2/config/SeaLights/hello%20world/master/Unit%20Tests/nodejs-agent/3.0.28"
137
- //config.server.value: "https://DEV-nadav-gw.sealights.co/api"
138
- fullUrl = options.href;
139
- }
140
- var shouldSend = shouldSendHeader(config.server.value, options.method, fullUrl, currentTestIdentifier);
141
- if (shouldSend) {
142
- log.info('Sending test identifier: ' + currentTestIdentifier + ', url:' + fullUrl);
143
- options.headers[HttpColoring.COLORING_HEADER_NAME] = currentTestIdentifier;
144
- }
145
- }
146
- }
147
- catch (e) {
148
- log.error('Exception in client communication hook: ' + e);
149
- }
150
- var originalCallback = callback;
151
- callback = function (res) {
152
- if (res && res.headers && res.headers[HttpColoring.COLORING_HEADER_NAME]) {
153
- var newTestIdentifier = res.headers[HttpColoring.COLORING_HEADER_NAME];
154
- if (newTestIdentifier) {
155
- try {
156
- log.info('Setting color from server response. newTestIdentifier:\'' + newTestIdentifier + '\'.');
157
- stateTracker.setTestIdentifier(newTestIdentifier);
158
- }
159
- catch (e) {
160
- log.error('Error setting test identifier' + e);
161
- }
162
- }
163
- }
164
- originalCallback && originalCallback.apply(this, arguments);
165
- };
166
- var req = oldRequest(options, callback);
167
- return req;
168
- };
169
- }
170
- function shouldSendHeader(server, method, fullUrl, currentTestIdentifier) {
171
- if (!currentTestIdentifier) {
172
- return false;
173
- }
174
- if (method === 'CONNECT') {
175
- return false;
176
- }
177
- return !isSealightsServer(fullUrl, server);
178
- }
179
- function isSealightsServer(fullUrl, server) {
180
- return fullUrl.toLowerCase().indexOf(server.toLowerCase()) === 0;
181
- }
182
- http.request = hookRequestFunction(http.request, 'http:');
183
- https.request = hookRequestFunction(https.request, 'https:');
184
- };
185
- HttpColoring.COLORING_HEADER_NAME = 'x-sl-testid';
186
- return HttpColoring;
187
- }());
188
- exports.HttpColoring = HttpColoring;
1
+ "use strict";
2
+ /**
3
+ * Created by nadav on 19/03/2017.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HttpColoring = void 0;
7
+ var url = require("url");
8
+ var objectAssign = require("object-assign");
9
+ var http = require("http");
10
+ var https = require("https");
11
+ var cookie = require("lightcookie");
12
+ var HttpColoring = /** @class */ (function () {
13
+ function HttpColoring() {
14
+ }
15
+ HttpColoring.prototype.setup = function (config, stateTracker, log) {
16
+ this.setupHttpColoring(config, stateTracker, log);
17
+ };
18
+ HttpColoring.prototype.teardown = function () {
19
+ };
20
+ HttpColoring.prototype.setupHttpColoring = function (config, stateTracker, log) {
21
+ if (config.httpServerColoring.value) {
22
+ this.setupHttpServerColoring(config, stateTracker, log);
23
+ }
24
+ else {
25
+ log.info('HTTP Server coloring is disabled');
26
+ }
27
+ if (config.httpClientColoring.value) {
28
+ this.setupHttpClientColoring(config, stateTracker, log);
29
+ }
30
+ else {
31
+ log.info('HTTP Client coloring is disabled');
32
+ }
33
+ };
34
+ /*
35
+ *
36
+ * Server coloring means that we wrap the prototype of "Http.Server" in such a way that:
37
+ * 1. Every request to the server will be searched. If we'll find the Sealights HTTP header, we'll read it and save into the state tracker.
38
+ * 2. Add the sealights header to every response (regardless if the request had the sealights header or not).
39
+ *
40
+ * Basically this handles all the INCOMING requests and their responses.
41
+ * */
42
+ HttpColoring.prototype.setupHttpServerColoring = function (config, stateTracker, log) {
43
+ function wrapListener(listener) {
44
+ if (typeof listener !== 'function')
45
+ return listener;
46
+ return function (request, response) {
47
+ try {
48
+ if (request && request.headers) {
49
+ var newTestIdentifier = request.headers[HttpColoring.COLORING_HEADER_NAME];
50
+ if (newTestIdentifier) {
51
+ log.info('Got test identifier from Sealights HTTP header: ' + newTestIdentifier);
52
+ }
53
+ else {
54
+ var cookiesHeader = request.headers['cookie'];
55
+ if (cookiesHeader) {
56
+ try {
57
+ log.info('\'Got cookiesHeader: \'' + cookiesHeader + '\'');
58
+ var parsed = cookie.parse(cookiesHeader) || {};
59
+ newTestIdentifier = parsed[HttpColoring.COLORING_HEADER_NAME];
60
+ if (newTestIdentifier) {
61
+ log.info('\'Got test identifier from HTTP cookie: \'' + newTestIdentifier + '\'');
62
+ }
63
+ else {
64
+ log.error('Got invalid cookie header: \'' + cookiesHeader);
65
+ }
66
+ }
67
+ catch (e) {
68
+ log.error('Got invalid cookie header: \'%s\' Error: %s', cookiesHeader, e);
69
+ }
70
+ }
71
+ }
72
+ if (newTestIdentifier) {
73
+ log.info('Setting test identifier from HTTP header: ' + newTestIdentifier);
74
+ stateTracker.setTestIdentifier(newTestIdentifier);
75
+ }
76
+ }
77
+ }
78
+ catch (e) {
79
+ log.error('Exception in server communication hook: ' + e);
80
+ }
81
+ try {
82
+ var currentTestIdentifier = stateTracker.getCurrentTestIdentifier();
83
+ if (currentTestIdentifier) {
84
+ response.setHeader(HttpColoring.COLORING_HEADER_NAME, currentTestIdentifier);
85
+ }
86
+ }
87
+ catch (e) {
88
+ log.error('Error adding color to response');
89
+ }
90
+ // eslint-disable-next-line prefer-spread,prefer-rest-params
91
+ listener.apply(null, arguments);
92
+ };
93
+ }
94
+ function hookAddListenerFunction(oldListener) {
95
+ return function (type, listener) {
96
+ if (type == 'request') {
97
+ return oldListener.call(this, type, wrapListener(listener));
98
+ }
99
+ return oldListener.apply(this, arguments);
100
+ };
101
+ }
102
+ var httpServerPrototype = http.Server.prototype;
103
+ httpServerPrototype.on = hookAddListenerFunction(httpServerPrototype.on);
104
+ httpServerPrototype.addListener = hookAddListenerFunction(httpServerPrototype.addListener);
105
+ };
106
+ /*
107
+ *
108
+ * Client coloring means that we wrap 'http.request' and 'https.request' in such a way that:
109
+ * 1. For every request that client application we should add the Sealights HTTP Header as long as the request is not to Sealights servers.
110
+ * The reason for the latter is that when the agent sends events and footprints to the cloud, we don't want to send the color.
111
+ * 2. Since HTTP is based on request-response model, every request has a response. When the client sends a request, we also
112
+ * search for the Sealights HTTP Header on response (if the server uses HttpServerColoring=true). If it exists, we'll set to the state tracker.
113
+ *
114
+ * Basically this handles all the OUTGOING requests and their responses.
115
+ * */
116
+ HttpColoring.prototype.setupHttpClientColoring = function (config, stateTracker, log) {
117
+ function hookRequestFunction(oldRequest, protocol) {
118
+ return function (options, callback) {
119
+ var currentTestIdentifier = stateTracker.getCurrentTestIdentifier();
120
+ try {
121
+ if (currentTestIdentifier) {
122
+ if (typeof options === 'string') {
123
+ options = url.parse(options);
124
+ }
125
+ else {
126
+ options = objectAssign({}, options);
127
+ }
128
+ options.headers = options.headers || {};
129
+ options.protocol = options.protocol || protocol;
130
+ var fullUrl = url.format(options);
131
+ if (options.path)
132
+ fullUrl += options.path; //according to the docs, the generated url will NOT include the path
133
+ if (options.href) {
134
+ //This should fix the following:
135
+ //TODO: Fix the URL. Missing the protocol + should compare without casing issues. Example:
136
+ //fullUrl: "//dev-nadav-gw.sealights.co/api/v2/config/SeaLights/hello%20world/master/Unit%20Tests/nodejs-agent/3.0.28"
137
+ //config.server.value: "https://DEV-nadav-gw.sealights.co/api"
138
+ fullUrl = options.href;
139
+ }
140
+ var shouldSend = shouldSendHeader(config.server.value, options.method, fullUrl, currentTestIdentifier);
141
+ if (shouldSend) {
142
+ log.info('Sending test identifier: ' + currentTestIdentifier + ', url:' + fullUrl);
143
+ options.headers[HttpColoring.COLORING_HEADER_NAME] = currentTestIdentifier;
144
+ }
145
+ }
146
+ }
147
+ catch (e) {
148
+ log.error('Exception in client communication hook: ' + e);
149
+ }
150
+ var originalCallback = callback;
151
+ callback = function (res) {
152
+ if (res && res.headers && res.headers[HttpColoring.COLORING_HEADER_NAME]) {
153
+ var newTestIdentifier = res.headers[HttpColoring.COLORING_HEADER_NAME];
154
+ if (newTestIdentifier) {
155
+ try {
156
+ log.info('Setting color from server response. newTestIdentifier:\'' + newTestIdentifier + '\'.');
157
+ stateTracker.setTestIdentifier(newTestIdentifier);
158
+ }
159
+ catch (e) {
160
+ log.error('Error setting test identifier' + e);
161
+ }
162
+ }
163
+ }
164
+ originalCallback && originalCallback.apply(this, arguments);
165
+ };
166
+ var req = oldRequest(options, callback);
167
+ return req;
168
+ };
169
+ }
170
+ function shouldSendHeader(server, method, fullUrl, currentTestIdentifier) {
171
+ if (!currentTestIdentifier) {
172
+ return false;
173
+ }
174
+ if (method === 'CONNECT') {
175
+ return false;
176
+ }
177
+ return !isSealightsServer(fullUrl, server);
178
+ }
179
+ function isSealightsServer(fullUrl, server) {
180
+ return fullUrl.toLowerCase().indexOf(server.toLowerCase()) === 0;
181
+ }
182
+ http.request = hookRequestFunction(http.request, 'http:');
183
+ https.request = hookRequestFunction(https.request, 'https:');
184
+ };
185
+ HttpColoring.COLORING_HEADER_NAME = 'x-sl-testid';
186
+ return HttpColoring;
187
+ }());
188
+ exports.HttpColoring = HttpColoring;
189
189
  //# sourceMappingURL=http-coloring.js.map
@@ -1,10 +1,10 @@
1
- import { AgentConfig } from '../../common/config-process/config';
2
- import { StateTracker } from '../../common/state-tracker';
3
- import { Logger } from '../../common/contracts';
4
- /**
5
- * Created by nadav on 19/03/2017.
6
- */
7
- export interface IColoringProvider {
8
- setup(config: AgentConfig, stateTracker: StateTracker, log: Logger): any;
9
- teardown(): void;
10
- }
1
+ import { AgentConfig } from '../../common/config-process/config';
2
+ import { StateTracker } from '../../common/state-tracker';
3
+ import { Logger } from '../../common/contracts';
4
+ /**
5
+ * Created by nadav on 19/03/2017.
6
+ */
7
+ export interface IColoringProvider {
8
+ setup(config: AgentConfig, stateTracker: StateTracker, log: Logger): any;
9
+ teardown(): void;
10
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=icoloring-provider.js.map
@@ -1,20 +1,20 @@
1
- import { IColoringProvider } from './icoloring-provider';
2
- import { AgentConfig } from '../../common/config-process/config';
3
- import { StateTracker } from '../../common/state-tracker';
4
- import { Logger } from '../../common/contracts';
5
- /**
6
- * Created by nadav on 19/03/2017.
7
- */
8
- /**
9
- * This class creates an HTTP server that can be used in order to color the agent.
10
- * We'll probably need that when the client's uses something that is unsupported (ie, not HTTP).
11
- * The actual color will be set by the HttpColoring class.
12
- * */
13
- export declare class ListeningPort implements IColoringProvider {
14
- private server;
15
- setup(config: AgentConfig, stateTracker: StateTracker, log: Logger): void;
16
- teardown(): void;
17
- private setupListeningPort;
18
- private handleRequest;
19
- private stopListening;
20
- }
1
+ import { IColoringProvider } from './icoloring-provider';
2
+ import { AgentConfig } from '../../common/config-process/config';
3
+ import { StateTracker } from '../../common/state-tracker';
4
+ import { Logger } from '../../common/contracts';
5
+ /**
6
+ * Created by nadav on 19/03/2017.
7
+ */
8
+ /**
9
+ * This class creates an HTTP server that can be used in order to color the agent.
10
+ * We'll probably need that when the client's uses something that is unsupported (ie, not HTTP).
11
+ * The actual color will be set by the HttpColoring class.
12
+ * */
13
+ export declare class ListeningPort implements IColoringProvider {
14
+ private server;
15
+ setup(config: AgentConfig, stateTracker: StateTracker, log: Logger): void;
16
+ teardown(): void;
17
+ private setupListeningPort;
18
+ private handleRequest;
19
+ private stopListening;
20
+ }
@@ -1,49 +1,49 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ListeningPort = void 0;
4
- var http = require("http");
5
- /**
6
- * Created by nadav on 19/03/2017.
7
- */
8
- /**
9
- * This class creates an HTTP server that can be used in order to color the agent.
10
- * We'll probably need that when the client's uses something that is unsupported (ie, not HTTP).
11
- * The actual color will be set by the HttpColoring class.
12
- * */
13
- var ListeningPort = /** @class */ (function () {
14
- function ListeningPort() {
15
- }
16
- ListeningPort.prototype.setup = function (config, stateTracker, log) {
17
- this.setupListeningPort(config, log);
18
- };
19
- ListeningPort.prototype.teardown = function () {
20
- this.stopListening();
21
- };
22
- ListeningPort.prototype.setupListeningPort = function (config, log) {
23
- var httpListeningPort = config.httpListeningPort.value;
24
- if (httpListeningPort) {
25
- //Create a server
26
- this.server = http.createServer(this.handleRequest);
27
- //Lets start our server
28
- this.server.listen(httpListeningPort, function () {
29
- log.info('[HTTP LISTENER] Agent is listening on port ' + httpListeningPort + ']');
30
- try {
31
- this.server.unref(); //Don't hold the process active just because this server is up.
32
- }
33
- catch (e) {
34
- }
35
- });
36
- }
37
- };
38
- ListeningPort.prototype.handleRequest = function (request, response) {
39
- response.end();
40
- };
41
- ListeningPort.prototype.stopListening = function () {
42
- if (this.server) {
43
- this.server.close();
44
- }
45
- };
46
- return ListeningPort;
47
- }());
48
- exports.ListeningPort = ListeningPort;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListeningPort = void 0;
4
+ var http = require("http");
5
+ /**
6
+ * Created by nadav on 19/03/2017.
7
+ */
8
+ /**
9
+ * This class creates an HTTP server that can be used in order to color the agent.
10
+ * We'll probably need that when the client's uses something that is unsupported (ie, not HTTP).
11
+ * The actual color will be set by the HttpColoring class.
12
+ * */
13
+ var ListeningPort = /** @class */ (function () {
14
+ function ListeningPort() {
15
+ }
16
+ ListeningPort.prototype.setup = function (config, stateTracker, log) {
17
+ this.setupListeningPort(config, log);
18
+ };
19
+ ListeningPort.prototype.teardown = function () {
20
+ this.stopListening();
21
+ };
22
+ ListeningPort.prototype.setupListeningPort = function (config, log) {
23
+ var httpListeningPort = config.httpListeningPort.value;
24
+ if (httpListeningPort) {
25
+ //Create a server
26
+ this.server = http.createServer(this.handleRequest);
27
+ //Lets start our server
28
+ this.server.listen(httpListeningPort, function () {
29
+ log.info('[HTTP LISTENER] Agent is listening on port ' + httpListeningPort + ']');
30
+ try {
31
+ this.server.unref(); //Don't hold the process active just because this server is up.
32
+ }
33
+ catch (e) {
34
+ }
35
+ });
36
+ }
37
+ };
38
+ ListeningPort.prototype.handleRequest = function (request, response) {
39
+ response.end();
40
+ };
41
+ ListeningPort.prototype.stopListening = function () {
42
+ if (this.server) {
43
+ this.server.close();
44
+ }
45
+ };
46
+ return ListeningPort;
47
+ }());
48
+ exports.ListeningPort = ListeningPort;
49
49
  //# sourceMappingURL=listening-port.js.map