slnodejs 6.1.2 → 6.1.10

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