testplane 9.0.0-rc.3 → 9.0.0

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 (607) hide show
  1. package/README.md +1 -1
  2. package/build/package.json +41 -25
  3. package/build/src/base-testplane.d.ts +6 -2
  4. package/build/src/base-testplane.js +19 -5
  5. package/build/src/base-testplane.js.map +1 -1
  6. package/build/src/browser/browser.d.ts +8 -0
  7. package/build/src/browser/browser.js +16 -5
  8. package/build/src/browser/browser.js.map +1 -1
  9. package/build/src/browser/calibrator.d.ts +5 -4
  10. package/build/src/browser/calibrator.js +96 -47
  11. package/build/src/browser/calibrator.js.map +1 -1
  12. package/build/src/browser/camera/index.d.ts +16 -19
  13. package/build/src/browser/camera/index.js +72 -25
  14. package/build/src/browser/camera/index.js.map +1 -1
  15. package/build/src/browser/camera/utils.d.ts +15 -2
  16. package/build/src/browser/camera/utils.js +58 -5
  17. package/build/src/browser/camera/utils.js.map +1 -1
  18. package/build/src/browser/cdp/connection.d.ts +15 -0
  19. package/build/src/browser/cdp/connection.js +145 -0
  20. package/build/src/browser/cdp/connection.js.map +1 -0
  21. package/build/src/browser/cdp/constants.d.ts +6 -0
  22. package/build/src/browser/cdp/constants.js +10 -0
  23. package/build/src/browser/cdp/constants.js.map +1 -0
  24. package/build/src/browser/cdp/debug.d.ts +2 -0
  25. package/build/src/browser/cdp/debug.js +9 -0
  26. package/build/src/browser/cdp/debug.js.map +1 -0
  27. package/build/src/browser/cdp/domains/css.d.ts +54 -0
  28. package/build/src/browser/cdp/domains/css.js +39 -0
  29. package/build/src/browser/cdp/domains/css.js.map +1 -0
  30. package/build/src/browser/cdp/domains/debugger.d.ts +65 -0
  31. package/build/src/browser/cdp/domains/debugger.js +31 -0
  32. package/build/src/browser/cdp/domains/debugger.js.map +1 -0
  33. package/build/src/browser/cdp/domains/dom.d.ts +24 -0
  34. package/build/src/browser/cdp/domains/dom.js +23 -0
  35. package/build/src/browser/cdp/domains/dom.js.map +1 -0
  36. package/build/src/browser/cdp/domains/fetch.d.ts +163 -0
  37. package/build/src/browser/cdp/domains/fetch.js +51 -0
  38. package/build/src/browser/cdp/domains/fetch.js.map +1 -0
  39. package/build/src/browser/cdp/domains/network.d.ts +290 -0
  40. package/build/src/browser/cdp/domains/network.js +75 -0
  41. package/build/src/browser/cdp/domains/network.js.map +1 -0
  42. package/build/src/browser/cdp/domains/page.d.ts +378 -0
  43. package/build/src/browser/cdp/domains/page.js +114 -0
  44. package/build/src/browser/cdp/domains/page.js.map +1 -0
  45. package/build/src/browser/cdp/domains/profiler.d.ts +60 -0
  46. package/build/src/browser/cdp/domains/profiler.js +39 -0
  47. package/build/src/browser/cdp/domains/profiler.js.map +1 -0
  48. package/build/src/browser/cdp/domains/runtime.d.ts +57 -0
  49. package/build/src/browser/cdp/domains/runtime.js +34 -0
  50. package/build/src/browser/cdp/domains/runtime.js.map +1 -0
  51. package/build/src/browser/cdp/domains/target.d.ts +77 -0
  52. package/build/src/browser/cdp/domains/target.js +53 -0
  53. package/build/src/browser/cdp/domains/target.js.map +1 -0
  54. package/build/src/browser/cdp/emitter.d.ts +10 -0
  55. package/build/src/browser/cdp/emitter.js +61 -0
  56. package/build/src/browser/cdp/emitter.js.map +1 -0
  57. package/build/src/browser/cdp/error.d.ts +17 -0
  58. package/build/src/browser/cdp/error.js +38 -0
  59. package/build/src/browser/cdp/error.js.map +1 -0
  60. package/build/src/browser/cdp/index.d.ts +29 -0
  61. package/build/src/browser/cdp/index.js +80 -0
  62. package/build/src/browser/cdp/index.js.map +1 -0
  63. package/build/src/browser/cdp/selectivity/constants.d.ts +3 -0
  64. package/build/src/browser/cdp/selectivity/constants.js +7 -0
  65. package/build/src/browser/cdp/selectivity/constants.js.map +1 -0
  66. package/build/src/browser/cdp/selectivity/css-selectivity.d.ts +24 -0
  67. package/build/src/browser/cdp/selectivity/css-selectivity.js +261 -0
  68. package/build/src/browser/cdp/selectivity/css-selectivity.js.map +1 -0
  69. package/build/src/browser/cdp/selectivity/debug.d.ts +2 -0
  70. package/build/src/browser/cdp/selectivity/debug.js +9 -0
  71. package/build/src/browser/cdp/selectivity/debug.js.map +1 -0
  72. package/build/src/browser/cdp/selectivity/fs-cache.d.ts +12 -0
  73. package/build/src/browser/cdp/selectivity/fs-cache.js +122 -0
  74. package/build/src/browser/cdp/selectivity/fs-cache.js.map +1 -0
  75. package/build/src/browser/cdp/selectivity/hash-provider.d.ts +7 -0
  76. package/build/src/browser/cdp/selectivity/hash-provider.js +86 -0
  77. package/build/src/browser/cdp/selectivity/hash-provider.js.map +1 -0
  78. package/build/src/browser/cdp/selectivity/hash-reader.d.ts +16 -0
  79. package/build/src/browser/cdp/selectivity/hash-reader.js +83 -0
  80. package/build/src/browser/cdp/selectivity/hash-reader.js.map +1 -0
  81. package/build/src/browser/cdp/selectivity/hash-writer.d.ts +18 -0
  82. package/build/src/browser/cdp/selectivity/hash-writer.js +80 -0
  83. package/build/src/browser/cdp/selectivity/hash-writer.js.map +1 -0
  84. package/build/src/browser/cdp/selectivity/index.d.ts +15 -0
  85. package/build/src/browser/cdp/selectivity/index.js +220 -0
  86. package/build/src/browser/cdp/selectivity/index.js.map +1 -0
  87. package/build/src/browser/cdp/selectivity/js-selectivity.d.ts +23 -0
  88. package/build/src/browser/cdp/selectivity/js-selectivity.js +242 -0
  89. package/build/src/browser/cdp/selectivity/js-selectivity.js.map +1 -0
  90. package/build/src/browser/cdp/selectivity/json-utils.d.ts +15 -0
  91. package/build/src/browser/cdp/selectivity/json-utils.js +135 -0
  92. package/build/src/browser/cdp/selectivity/json-utils.js.map +1 -0
  93. package/build/src/browser/cdp/selectivity/merge-dumps/index.d.ts +2 -0
  94. package/build/src/browser/cdp/selectivity/merge-dumps/index.js +28 -0
  95. package/build/src/browser/cdp/selectivity/merge-dumps/index.js.map +1 -0
  96. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.d.ts +2 -0
  97. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js +39 -0
  98. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js.map +1 -0
  99. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.d.ts +2 -0
  100. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js +129 -0
  101. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js.map +1 -0
  102. package/build/src/browser/cdp/selectivity/modes.d.ts +4 -0
  103. package/build/src/browser/cdp/selectivity/modes.js +11 -0
  104. package/build/src/browser/cdp/selectivity/modes.js.map +1 -0
  105. package/build/src/browser/cdp/selectivity/runner.d.ts +24 -0
  106. package/build/src/browser/cdp/selectivity/runner.js +234 -0
  107. package/build/src/browser/cdp/selectivity/runner.js.map +1 -0
  108. package/build/src/browser/cdp/selectivity/test-dependencies-reader.d.ts +10 -0
  109. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js +41 -0
  110. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js.map +1 -0
  111. package/build/src/browser/cdp/selectivity/test-dependencies-writer.d.ts +11 -0
  112. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js +69 -0
  113. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js.map +1 -0
  114. package/build/src/browser/cdp/selectivity/testplane-selectivity.d.ts +7 -0
  115. package/build/src/browser/cdp/selectivity/testplane-selectivity.js +127 -0
  116. package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -0
  117. package/build/src/browser/cdp/selectivity/types.d.ts +26 -0
  118. package/build/src/browser/cdp/selectivity/types.js +10 -0
  119. package/build/src/browser/cdp/selectivity/types.js.map +1 -0
  120. package/build/src/browser/cdp/selectivity/used-dumps-tracker.d.ts +7 -0
  121. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js +25 -0
  122. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js.map +1 -0
  123. package/build/src/browser/cdp/selectivity/utils.d.ts +57 -0
  124. package/build/src/browser/cdp/selectivity/utils.js +382 -0
  125. package/build/src/browser/cdp/selectivity/utils.js.map +1 -0
  126. package/build/src/browser/cdp/types.d.ts +417 -0
  127. package/build/src/browser/cdp/types.js.map +1 -0
  128. package/build/src/browser/cdp/utils.d.ts +1 -0
  129. package/build/src/browser/cdp/utils.js +18 -0
  130. package/build/src/browser/cdp/utils.js.map +1 -0
  131. package/build/src/browser/cdp/ws-endpoint.d.ts +2 -0
  132. package/build/src/browser/cdp/ws-endpoint.js +70 -0
  133. package/build/src/browser/cdp/ws-endpoint.js.map +1 -0
  134. package/build/src/browser/client-bridge/error.d.ts +1 -1
  135. package/build/src/browser/client-bridge/error.js +2 -2
  136. package/build/src/browser/client-bridge/error.js.map +1 -1
  137. package/build/src/browser/client-bridge/index.d.ts +17 -7
  138. package/build/src/browser/client-bridge/index.js +65 -14
  139. package/build/src/browser/client-bridge/index.js.map +1 -1
  140. package/build/src/browser/client-scripts/browser-utils/build/bundle.compat.js +18 -0
  141. package/build/src/browser/client-scripts/browser-utils/build/bundle.native.js +10 -0
  142. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/browser-utils/implementation.js +38 -0
  143. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/browser-utils/inject.js +31 -0
  144. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/lib.compat.js +57 -0
  145. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/lib.native.js +53 -0
  146. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/logger.js +42 -0
  147. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/polyfills/getComputedStyle.js +132 -0
  148. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/polyfills/matchMedia.js +82 -0
  149. package/build/src/browser/client-scripts/{xpath.js → browser-utils/tsc-out/client-scripts/shared/xpath.js} +9 -13
  150. package/build/src/browser/client-scripts/browser-utils/tsc-out/isomorphic/assign.js +21 -0
  151. package/build/src/browser/client-scripts/browser-utils/tsc-out/isomorphic/geometry.js +220 -0
  152. package/build/src/browser/client-scripts/browser-utils/tsc-out/isomorphic/index.js +19 -0
  153. package/build/src/browser/client-scripts/browser-utils/tsc-out/isomorphic/types.js +18 -0
  154. package/build/src/browser/client-scripts/build.js +50 -13
  155. package/build/src/browser/client-scripts/calibrate.js +13 -1
  156. package/build/src/browser/client-scripts/rrweb-record.min.js +32 -32
  157. package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +38 -0
  158. package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +38 -0
  159. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/errors/outside-of-viewport.js +32 -0
  160. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +406 -0
  161. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/inject.js +31 -0
  162. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +633 -0
  163. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/types.js +2 -0
  164. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/clip-rect.js +103 -0
  165. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/descriptions.js +19 -0
  166. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/dom.js +99 -0
  167. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/element-rect.js +183 -0
  168. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/pseudo-element-rect.js +205 -0
  169. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/scroll.js +155 -0
  170. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/trusted-types.js +14 -0
  171. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/user-agent.js +10 -0
  172. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/z-index.js +144 -0
  173. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/lib.compat.js +57 -0
  174. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/lib.native.js +53 -0
  175. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/logger.js +42 -0
  176. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/polyfills/getComputedStyle.js +132 -0
  177. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/polyfills/matchMedia.js +82 -0
  178. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/xpath.js +27 -0
  179. package/build/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/assign.js +21 -0
  180. package/build/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/geometry.js +220 -0
  181. package/build/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js +19 -0
  182. package/build/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/types.js +18 -0
  183. package/build/src/browser/commands/assert-view/errors/image-diff-error.d.ts +1 -0
  184. package/build/src/browser/commands/assert-view/index.js +79 -31
  185. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  186. package/build/src/browser/commands/getPuppeteer.js +1 -1
  187. package/build/src/browser/commands/getPuppeteer.js.map +1 -1
  188. package/build/src/browser/commands/getState.d.ts +5 -0
  189. package/build/src/browser/commands/getState.js +41 -0
  190. package/build/src/browser/commands/getState.js.map +1 -0
  191. package/build/src/browser/commands/index.js +5 -0
  192. package/build/src/browser/commands/index.js.map +1 -1
  193. package/build/src/browser/commands/moveCursorTo.d.ts +1 -1
  194. package/build/src/browser/commands/openAndWait.js +47 -5
  195. package/build/src/browser/commands/openAndWait.js.map +1 -1
  196. package/build/src/browser/commands/restoreState/index.d.ts +9 -0
  197. package/build/src/browser/commands/restoreState/index.js +112 -0
  198. package/build/src/browser/commands/restoreState/index.js.map +1 -0
  199. package/build/src/browser/commands/restoreState/restoreStorage.d.ts +1 -0
  200. package/build/src/browser/commands/restoreState/restoreStorage.js +12 -0
  201. package/build/src/browser/commands/restoreState/restoreStorage.js.map +1 -0
  202. package/build/src/browser/commands/saveState/dumpStorage.d.ts +5 -0
  203. package/build/src/browser/commands/saveState/dumpStorage.js +29 -0
  204. package/build/src/browser/commands/saveState/dumpStorage.js.map +1 -0
  205. package/build/src/browser/commands/saveState/index.d.ts +13 -0
  206. package/build/src/browser/commands/saveState/index.js +156 -0
  207. package/build/src/browser/commands/saveState/index.js.map +1 -0
  208. package/build/src/browser/commands/switchToRepl.js +64 -11
  209. package/build/src/browser/commands/switchToRepl.js.map +1 -1
  210. package/build/src/browser/commands/unstable_getCdp.d.ts +3 -0
  211. package/build/src/browser/commands/unstable_getCdp.js +9 -0
  212. package/build/src/browser/commands/unstable_getCdp.js.map +1 -0
  213. package/build/src/browser/commands/waitForStaticToLoad.d.ts +13 -0
  214. package/build/src/browser/commands/waitForStaticToLoad.js +169 -0
  215. package/build/src/browser/commands/waitForStaticToLoad.js.map +1 -0
  216. package/build/src/browser/existing-browser.d.ts +27 -35
  217. package/build/src/browser/existing-browser.js +141 -98
  218. package/build/src/browser/existing-browser.js.map +1 -1
  219. package/build/src/browser/history/async-local-storage.d.ts +5 -0
  220. package/build/src/browser/history/async-local-storage.js +14 -0
  221. package/build/src/browser/history/async-local-storage.js.map +1 -0
  222. package/build/src/browser/history/callstack.d.ts +0 -4
  223. package/build/src/browser/history/callstack.js +0 -8
  224. package/build/src/browser/history/callstack.js.map +1 -1
  225. package/build/src/browser/history/index.d.ts +19 -6
  226. package/build/src/browser/history/index.js +85 -47
  227. package/build/src/browser/history/index.js.map +1 -1
  228. package/build/src/browser/history/rrweb.d.ts +3 -1
  229. package/build/src/browser/history/rrweb.js +163 -57
  230. package/build/src/browser/history/rrweb.js.map +1 -1
  231. package/build/src/browser/isomorphic/assign.d.ts +2 -0
  232. package/build/src/browser/isomorphic/assign.js +18 -0
  233. package/build/src/browser/isomorphic/assign.js.map +1 -0
  234. package/build/src/browser/isomorphic/geometry.d.ts +85 -0
  235. package/build/src/browser/isomorphic/geometry.js +198 -0
  236. package/build/src/browser/isomorphic/geometry.js.map +1 -0
  237. package/build/src/browser/isomorphic/index.d.ts +3 -0
  238. package/build/src/browser/isomorphic/index.js +20 -0
  239. package/build/src/browser/isomorphic/index.js.map +1 -0
  240. package/build/src/browser/isomorphic/tsconfig.tsbuildinfo +1 -0
  241. package/build/src/browser/isomorphic/types.d.ts +15 -0
  242. package/build/src/browser/isomorphic/types.js +19 -0
  243. package/build/src/browser/isomorphic/types.js.map +1 -0
  244. package/build/src/browser/new-browser.d.ts +2 -1
  245. package/build/src/browser/new-browser.js +12 -12
  246. package/build/src/browser/new-browser.js.map +1 -1
  247. package/build/src/browser/screen-shooter/composite-image/debug-utils.d.ts +37 -0
  248. package/build/src/browser/screen-shooter/composite-image/debug-utils.js +127 -0
  249. package/build/src/browser/screen-shooter/composite-image/debug-utils.js.map +1 -0
  250. package/build/src/browser/screen-shooter/composite-image/index.d.ts +65 -14
  251. package/build/src/browser/screen-shooter/composite-image/index.js +488 -122
  252. package/build/src/browser/screen-shooter/composite-image/index.js.map +1 -1
  253. package/build/src/browser/screen-shooter/constants.d.ts +1 -0
  254. package/build/src/browser/screen-shooter/constants.js +5 -0
  255. package/build/src/browser/screen-shooter/constants.js.map +1 -0
  256. package/build/src/browser/screen-shooter/debug.d.ts +3 -0
  257. package/build/src/browser/screen-shooter/debug.js +25 -0
  258. package/build/src/browser/screen-shooter/debug.js.map +1 -0
  259. package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +43 -0
  260. package/build/src/browser/screen-shooter/elements-screen-shooter.js +466 -0
  261. package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -0
  262. package/build/src/browser/screen-shooter/errors/horizontal-overflow-error.d.ts +1 -0
  263. package/build/src/browser/screen-shooter/errors/horizontal-overflow-error.js +16 -12
  264. package/build/src/browser/screen-shooter/errors/horizontal-overflow-error.js.map +1 -1
  265. package/build/src/browser/screen-shooter/errors/vertical-overflow-error.d.ts +1 -0
  266. package/build/src/browser/screen-shooter/errors/vertical-overflow-error.js +12 -8
  267. package/build/src/browser/screen-shooter/errors/vertical-overflow-error.js.map +1 -1
  268. package/build/src/browser/screen-shooter/full-page-screen-shooter.d.ts +44 -0
  269. package/build/src/browser/screen-shooter/full-page-screen-shooter.js +160 -0
  270. package/build/src/browser/screen-shooter/full-page-screen-shooter.js.map +1 -0
  271. package/build/src/browser/screen-shooter/operations/animations.d.ts +7 -0
  272. package/build/src/browser/screen-shooter/operations/animations.js +25 -0
  273. package/build/src/browser/screen-shooter/operations/animations.js.map +1 -0
  274. package/build/src/browser/screen-shooter/operations/iframe.d.ts +1 -0
  275. package/build/src/browser/screen-shooter/operations/iframe.js +27 -0
  276. package/build/src/browser/screen-shooter/operations/iframe.js.map +1 -0
  277. package/build/src/browser/screen-shooter/operations/index.d.ts +5 -0
  278. package/build/src/browser/screen-shooter/operations/index.js +16 -0
  279. package/build/src/browser/screen-shooter/operations/index.js.map +1 -0
  280. package/build/src/browser/screen-shooter/operations/pointer-events.d.ts +11 -0
  281. package/build/src/browser/screen-shooter/operations/pointer-events.js +45 -0
  282. package/build/src/browser/screen-shooter/operations/pointer-events.js.map +1 -0
  283. package/build/src/browser/screen-shooter/operations/scrolls.d.ts +5 -0
  284. package/build/src/browser/screen-shooter/operations/scrolls.js +8 -0
  285. package/build/src/browser/screen-shooter/operations/scrolls.js.map +1 -0
  286. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.d.ts +2 -0
  287. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js +133 -0
  288. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js.map +1 -0
  289. package/build/src/browser/screen-shooter/validation/index.d.ts +2 -2
  290. package/build/src/browser/screen-shooter/validation/index.js +31 -5
  291. package/build/src/browser/screen-shooter/validation/index.js.map +1 -1
  292. package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +44 -0
  293. package/build/src/browser/screen-shooter/viewport-screen-shooter.js +89 -0
  294. package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -0
  295. package/build/src/browser/stacktrace/utils.js +13 -3
  296. package/build/src/browser/stacktrace/utils.js.map +1 -1
  297. package/build/src/browser/standalone/attachToBrowser.d.ts +2 -0
  298. package/build/src/browser/standalone/attachToBrowser.js +63 -0
  299. package/build/src/browser/standalone/attachToBrowser.js.map +1 -0
  300. package/build/src/browser/standalone/index.d.ts +2 -0
  301. package/build/src/browser/standalone/index.js +8 -0
  302. package/build/src/browser/standalone/index.js.map +1 -0
  303. package/build/src/browser/standalone/launchBrowser.d.ts +4 -0
  304. package/build/src/browser/{standalone.js → standalone/launchBrowser.js} +24 -10
  305. package/build/src/browser/standalone/launchBrowser.js.map +1 -0
  306. package/build/src/browser/standalone/types.d.ts +5 -0
  307. package/build/src/browser/standalone/types.js +3 -0
  308. package/build/src/browser/standalone/types.js.map +1 -0
  309. package/build/src/browser/types.d.ts +30 -4
  310. package/build/src/browser/types.js.map +1 -1
  311. package/build/src/browser/wsdriver/compression.d.ts +5 -0
  312. package/build/src/browser/wsdriver/compression.js +79 -0
  313. package/build/src/browser/wsdriver/compression.js.map +1 -0
  314. package/build/src/browser/wsdriver/constants.d.ts +11 -0
  315. package/build/src/browser/wsdriver/constants.js +15 -0
  316. package/build/src/browser/wsdriver/constants.js.map +1 -0
  317. package/build/src/browser/wsdriver/debug.d.ts +2 -0
  318. package/build/src/browser/wsdriver/debug.js +9 -0
  319. package/build/src/browser/wsdriver/debug.js.map +1 -0
  320. package/build/src/browser/wsdriver/error.d.ts +18 -0
  321. package/build/src/browser/wsdriver/error.js +36 -0
  322. package/build/src/browser/wsdriver/error.js.map +1 -0
  323. package/build/src/browser/wsdriver/index.d.ts +23 -0
  324. package/build/src/browser/wsdriver/index.js +261 -0
  325. package/build/src/browser/wsdriver/index.js.map +1 -0
  326. package/build/src/browser/wsdriver/request.d.ts +10 -0
  327. package/build/src/browser/wsdriver/request.js +58 -0
  328. package/build/src/browser/wsdriver/request.js.map +1 -0
  329. package/build/src/browser/wsdriver/response.d.ts +3 -0
  330. package/build/src/browser/wsdriver/response.js +111 -0
  331. package/build/src/browser/wsdriver/response.js.map +1 -0
  332. package/build/src/browser/wsdriver/types.d.ts +71 -0
  333. package/build/src/browser/wsdriver/types.js +27 -0
  334. package/build/src/browser/wsdriver/types.js.map +1 -0
  335. package/build/src/browser-installer/chrome/index.d.ts +1 -0
  336. package/build/src/browser-installer/chrome/index.js +13 -3
  337. package/build/src/browser-installer/chrome/index.js.map +1 -1
  338. package/build/src/browser-installer/edge/index.d.ts +1 -0
  339. package/build/src/browser-installer/edge/index.js +8 -3
  340. package/build/src/browser-installer/edge/index.js.map +1 -1
  341. package/build/src/browser-installer/firefox/index.d.ts +1 -0
  342. package/build/src/browser-installer/firefox/index.js +8 -3
  343. package/build/src/browser-installer/firefox/index.js.map +1 -1
  344. package/build/src/browser-installer/safari/index.d.ts +1 -0
  345. package/build/src/browser-installer/safari/index.js +8 -3
  346. package/build/src/browser-installer/safari/index.js.map +1 -1
  347. package/build/src/browser-pool/basic-pool.js +3 -1
  348. package/build/src/browser-pool/basic-pool.js.map +1 -1
  349. package/build/src/browser-pool/cancelled-error.js +7 -1
  350. package/build/src/browser-pool/cancelled-error.js.map +1 -1
  351. package/build/src/browser-pool/limited-pool.d.ts +1 -1
  352. package/build/src/browser-pool/limited-pool.js +3 -3
  353. package/build/src/browser-pool/limited-pool.js.map +1 -1
  354. package/build/src/browser-pool/per-browser-limited-pool.d.ts +1 -1
  355. package/build/src/browser-pool/per-browser-limited-pool.js +3 -2
  356. package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
  357. package/build/src/browser-pool/types.d.ts +1 -1
  358. package/build/src/browser-pool/webdriver-pool.d.ts +1 -0
  359. package/build/src/browser-pool/webdriver-pool.js +2 -0
  360. package/build/src/browser-pool/webdriver-pool.js.map +1 -1
  361. package/build/src/bundle/cjs/index.js +207 -108
  362. package/build/src/cli/commands/list-tests/index.js +2 -1
  363. package/build/src/cli/commands/list-tests/index.js.map +1 -1
  364. package/build/src/cli/commands/selectivity-merge-dumps/index.d.ts +2 -0
  365. package/build/src/cli/commands/selectivity-merge-dumps/index.js +50 -0
  366. package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -0
  367. package/build/src/cli/constants.d.ts +1 -0
  368. package/build/src/cli/constants.js +1 -0
  369. package/build/src/cli/constants.js.map +1 -1
  370. package/build/src/cli/index.js +29 -8
  371. package/build/src/cli/index.js.map +1 -1
  372. package/build/src/config/browser-options.js +51 -6
  373. package/build/src/config/browser-options.js.map +1 -1
  374. package/build/src/config/defaults.d.ts +27 -2
  375. package/build/src/config/defaults.js +30 -5
  376. package/build/src/config/defaults.js.map +1 -1
  377. package/build/src/config/index.d.ts +10 -6
  378. package/build/src/config/index.js +67 -42
  379. package/build/src/config/index.js.map +1 -1
  380. package/build/src/config/options.js +3 -2
  381. package/build/src/config/options.js.map +1 -1
  382. package/build/src/config/types.d.ts +133 -11
  383. package/build/src/config/types.js +15 -5
  384. package/build/src/config/types.js.map +1 -1
  385. package/build/src/config/utils.d.ts +4 -1
  386. package/build/src/config/utils.js +20 -2
  387. package/build/src/config/utils.js.map +1 -1
  388. package/build/src/constants/config.d.ts +1 -1
  389. package/build/src/constants/config.js +2 -2
  390. package/build/src/constants/config.js.map +1 -1
  391. package/build/src/constants/png.d.ts +14 -0
  392. package/build/src/constants/png.js +17 -0
  393. package/build/src/constants/png.js.map +1 -0
  394. package/build/src/constants/process-messages.d.ts +1 -0
  395. package/build/src/constants/process-messages.js +2 -1
  396. package/build/src/constants/process-messages.js.map +1 -1
  397. package/build/src/constants/repl.d.ts +2 -0
  398. package/build/src/constants/repl.js +6 -0
  399. package/build/src/constants/repl.js.map +1 -0
  400. package/build/src/dev-server/index.d.ts +1 -1
  401. package/build/src/dev-server/index.js +1 -1
  402. package/build/src/dev-server/index.js.map +1 -1
  403. package/build/src/error-snippets/constants.d.ts +2 -1
  404. package/build/src/error-snippets/constants.js +3 -2
  405. package/build/src/error-snippets/constants.js.map +1 -1
  406. package/build/src/error-snippets/source-maps.d.ts +3 -3
  407. package/build/src/error-snippets/source-maps.js +10 -8
  408. package/build/src/error-snippets/source-maps.js.map +1 -1
  409. package/build/src/error-snippets/utils.js +2 -2
  410. package/build/src/error-snippets/utils.js.map +1 -1
  411. package/build/src/errors/unhandled-rejection-error.d.ts +9 -0
  412. package/build/src/errors/unhandled-rejection-error.js +24 -0
  413. package/build/src/errors/unhandled-rejection-error.js.map +1 -0
  414. package/build/src/events/index.d.ts +12 -0
  415. package/build/src/events/index.js +3 -0
  416. package/build/src/events/index.js.map +1 -1
  417. package/build/src/globalFilesToRemove.d.ts +4 -0
  418. package/build/src/globalFilesToRemove.js +24 -0
  419. package/build/src/globalFilesToRemove.js.map +1 -0
  420. package/build/src/globals.d.ts +7 -0
  421. package/build/src/globals.js +10 -0
  422. package/build/src/globals.js.map +1 -0
  423. package/build/src/image.d.ts +26 -9
  424. package/build/src/image.js +201 -97
  425. package/build/src/image.js.map +1 -1
  426. package/build/src/index.d.ts +6 -14
  427. package/build/src/index.js +5 -1
  428. package/build/src/index.js.map +1 -1
  429. package/build/src/reporters/flat.js +7 -5
  430. package/build/src/reporters/flat.js.map +1 -1
  431. package/build/src/reporters/informers/console.d.ts +3 -3
  432. package/build/src/reporters/informers/console.js +6 -6
  433. package/build/src/reporters/informers/console.js.map +1 -1
  434. package/build/src/reporters/informers/file.d.ts +3 -3
  435. package/build/src/reporters/informers/file.js +13 -6
  436. package/build/src/reporters/informers/file.js.map +1 -1
  437. package/build/src/reporters/plain.js +4 -2
  438. package/build/src/reporters/plain.js.map +1 -1
  439. package/build/src/reporters/utils/helpers.js +10 -1
  440. package/build/src/reporters/utils/helpers.js.map +1 -1
  441. package/build/src/runner/browser-env/vite/browser-modules/driver.js +28 -8
  442. package/build/src/runner/browser-env/vite/browser-modules/driver.js.map +1 -1
  443. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  444. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +1 -1
  445. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +4 -6
  446. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
  447. package/build/src/runner/browser-env/vite/server.d.ts +1 -0
  448. package/build/src/runner/browser-env/vite/server.js +26 -0
  449. package/build/src/runner/browser-env/vite/server.js.map +1 -1
  450. package/build/src/runner/browser-env/vite/utils.d.ts +0 -5
  451. package/build/src/runner/browser-env/vite/utils.js +15 -9
  452. package/build/src/runner/browser-env/vite/utils.js.map +1 -1
  453. package/build/src/runner/browser-runner.d.ts +1 -1
  454. package/build/src/runner/browser-runner.js +2 -2
  455. package/build/src/runner/browser-runner.js.map +1 -1
  456. package/build/src/runner/index.d.ts +6 -3
  457. package/build/src/runner/index.js +20 -8
  458. package/build/src/runner/index.js.map +1 -1
  459. package/build/src/runner/suite-monitor.d.ts +1 -1
  460. package/build/src/runner/test-runner/insistant-test-runner.d.ts +1 -0
  461. package/build/src/runner/test-runner/regular-test-runner.d.ts +3 -1
  462. package/build/src/runner/test-runner/regular-test-runner.js +30 -3
  463. package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
  464. package/build/src/runner/tests-tracker.d.ts +25 -0
  465. package/build/src/runner/tests-tracker.js +121 -0
  466. package/build/src/runner/tests-tracker.js.map +1 -0
  467. package/build/src/runner/types.d.ts +1 -1
  468. package/build/src/signal-handler.d.ts +2 -2
  469. package/build/src/signal-handler.js +24 -11
  470. package/build/src/signal-handler.js.map +1 -1
  471. package/build/src/test-reader/index.js +12 -8
  472. package/build/src/test-reader/index.js.map +1 -1
  473. package/build/src/test-reader/mocha-reader/index.d.ts +2 -1
  474. package/build/src/test-reader/mocha-reader/index.js +47 -2
  475. package/build/src/test-reader/mocha-reader/index.js.map +1 -1
  476. package/build/src/test-reader/mocha-reader/mocha-event-bus.d.ts +1 -1
  477. package/build/src/test-reader/mocha-reader/tree-builder-decorator.js +4 -4
  478. package/build/src/test-reader/mocha-reader/tree-builder-decorator.js.map +1 -1
  479. package/build/src/test-reader/test-object/suite.d.ts +9 -3
  480. package/build/src/test-reader/test-object/suite.js +19 -1
  481. package/build/src/test-reader/test-object/suite.js.map +1 -1
  482. package/build/src/test-reader/test-object/test.d.ts +7 -2
  483. package/build/src/test-reader/test-object/test.js +20 -1
  484. package/build/src/test-reader/test-object/test.js.map +1 -1
  485. package/build/src/test-reader/test-object/types.d.ts +11 -2
  486. package/build/src/test-reader/test-parser.d.ts +3 -1
  487. package/build/src/test-reader/test-parser.js +22 -6
  488. package/build/src/test-reader/test-parser.js.map +1 -1
  489. package/build/src/testplane.d.ts +22 -10
  490. package/build/src/testplane.js +115 -18
  491. package/build/src/testplane.js.map +1 -1
  492. package/build/src/types/globals.d.ts +16 -0
  493. package/build/src/types/globals.js +3 -0
  494. package/build/src/types/globals.js.map +1 -0
  495. package/build/src/types/index.d.ts +44 -7
  496. package/build/src/unstable.d.ts +2 -2
  497. package/build/src/unstable.js +2 -1
  498. package/build/src/unstable.js.map +1 -1
  499. package/build/src/utils/cli.d.ts +2 -0
  500. package/build/src/utils/cli.js +29 -2
  501. package/build/src/utils/cli.js.map +1 -1
  502. package/build/src/utils/config.d.ts +1 -0
  503. package/build/src/utils/config.js +6 -1
  504. package/build/src/utils/config.js.map +1 -1
  505. package/build/src/utils/crypto.d.ts +1 -0
  506. package/build/src/utils/crypto.js +2 -1
  507. package/build/src/utils/crypto.js.map +1 -1
  508. package/build/src/utils/eight-bit-rgba-to-png.d.ts +3 -0
  509. package/build/src/utils/eight-bit-rgba-to-png.js +61 -0
  510. package/build/src/utils/eight-bit-rgba-to-png.js.map +1 -0
  511. package/build/src/utils/ipc.d.ts +1 -1
  512. package/build/src/utils/ipc.js +15 -1
  513. package/build/src/utils/ipc.js.map +1 -1
  514. package/build/src/utils/logger.d.ts +9 -0
  515. package/build/src/utils/logger.js +27 -3
  516. package/build/src/utils/logger.js.map +1 -1
  517. package/build/src/utils/preload-utils.d.ts +1 -0
  518. package/build/src/utils/preload-utils.js +4 -4
  519. package/build/src/utils/preload-utils.js.map +1 -1
  520. package/build/src/utils/processor.js +15 -6
  521. package/build/src/utils/processor.js.map +1 -1
  522. package/build/src/utils/repl-instrumentation/index.d.ts +1 -0
  523. package/build/src/utils/repl-instrumentation/index.js +46 -0
  524. package/build/src/utils/repl-instrumentation/index.js.map +1 -0
  525. package/build/src/utils/repl-instrumentation/typescript.d.ts +7 -0
  526. package/build/src/utils/repl-instrumentation/typescript.js +307 -0
  527. package/build/src/utils/repl-instrumentation/typescript.js.map +1 -0
  528. package/build/src/utils/repl-module-hooks.d.ts +1 -0
  529. package/build/src/utils/repl-module-hooks.js +111 -0
  530. package/build/src/utils/repl-module-hooks.js.map +1 -0
  531. package/build/src/utils/typescript.d.ts +3 -0
  532. package/build/src/utils/typescript.js +142 -36
  533. package/build/src/utils/typescript.js.map +1 -1
  534. package/build/src/utils/worker-error-serialization.d.ts +13 -0
  535. package/build/src/utils/worker-error-serialization.js +125 -0
  536. package/build/src/utils/worker-error-serialization.js.map +1 -0
  537. package/build/src/utils/workers-registry.d.ts +2 -2
  538. package/build/src/utils/workers-registry.js +53 -3
  539. package/build/src/utils/workers-registry.js.map +1 -1
  540. package/build/src/vendors/expect-webdriverio/matchers-overrides.d.ts +49 -0
  541. package/build/src/vendors/expect-webdriverio/matchers-overrides.js +3 -0
  542. package/build/src/vendors/expect-webdriverio/matchers-overrides.js.map +1 -0
  543. package/build/src/worker/browser-env/runner/test-runner/index.js +16 -0
  544. package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
  545. package/build/src/worker/runner/browser-pool.js +5 -2
  546. package/build/src/worker/runner/browser-pool.js.map +1 -1
  547. package/build/src/worker/runner/index.d.ts +1 -0
  548. package/build/src/worker/runner/index.js +27 -6
  549. package/build/src/worker/runner/index.js.map +1 -1
  550. package/build/src/worker/runner/sequence-test-parser.js +5 -7
  551. package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
  552. package/build/src/worker/runner/test-runner/capture-fail-screenshot.d.ts +10 -0
  553. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js +68 -0
  554. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js.map +1 -0
  555. package/build/src/worker/runner/test-runner/execution-thread.d.ts +2 -4
  556. package/build/src/worker/runner/test-runner/execution-thread.js +11 -18
  557. package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
  558. package/build/src/worker/runner/test-runner/index.d.ts +3 -2
  559. package/build/src/worker/runner/test-runner/index.js +72 -12
  560. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  561. package/build/src/worker/runner/test-runner/types.d.ts +1 -2
  562. package/build/src/worker/testplane-facade.js +5 -3
  563. package/build/src/worker/testplane-facade.js.map +1 -1
  564. package/build/src/worker/testplane.d.ts +2 -0
  565. package/build/src/worker/testplane.js +4 -1
  566. package/build/src/worker/testplane.js.map +1 -1
  567. package/build/src/ws-connection/constants.d.ts +13 -0
  568. package/build/src/ws-connection/constants.js +17 -0
  569. package/build/src/ws-connection/constants.js.map +1 -0
  570. package/build/src/ws-connection/error.d.ts +52 -0
  571. package/build/src/ws-connection/error.js +84 -0
  572. package/build/src/ws-connection/error.js.map +1 -0
  573. package/build/src/ws-connection/index.d.ts +83 -0
  574. package/build/src/ws-connection/index.js +397 -0
  575. package/build/src/ws-connection/index.js.map +1 -0
  576. package/build/src/ws-connection/utils.d.ts +6 -0
  577. package/build/src/ws-connection/utils.js +9 -0
  578. package/build/src/ws-connection/utils.js.map +1 -0
  579. package/package.json +41 -25
  580. package/build/src/browser/client-bridge/client-bridge.d.ts +0 -12
  581. package/build/src/browser/client-bridge/client-bridge.js +0 -45
  582. package/build/src/browser/client-bridge/client-bridge.js.map +0 -1
  583. package/build/src/browser/client-scripts/bundle.compat.js +0 -23
  584. package/build/src/browser/client-scripts/bundle.native.js +0 -15
  585. package/build/src/browser/client-scripts/ignore-areas.js +0 -7
  586. package/build/src/browser/client-scripts/index.js +0 -850
  587. package/build/src/browser/client-scripts/lib.compat.js +0 -28
  588. package/build/src/browser/client-scripts/lib.native.js +0 -28
  589. package/build/src/browser/client-scripts/rect.js +0 -251
  590. package/build/src/browser/client-scripts/util.js +0 -319
  591. package/build/src/browser/screen-shooter/index.d.ts +0 -22
  592. package/build/src/browser/screen-shooter/index.js +0 -117
  593. package/build/src/browser/screen-shooter/index.js.map +0 -1
  594. package/build/src/browser/screen-shooter/types.d.ts +0 -14
  595. package/build/src/browser/screen-shooter/types.js.map +0 -1
  596. package/build/src/browser/screen-shooter/utils.d.ts +0 -18
  597. package/build/src/browser/screen-shooter/utils.js +0 -198
  598. package/build/src/browser/screen-shooter/utils.js.map +0 -1
  599. package/build/src/browser/standalone.d.ts +0 -6
  600. package/build/src/browser/standalone.js.map +0 -1
  601. package/build/src/runner/browser-env/index.d.ts +0 -12
  602. package/build/src/runner/browser-env/index.js +0 -39
  603. package/build/src/runner/browser-env/index.js.map +0 -1
  604. package/build/src/worker/runner/test-runner/one-time-screenshooter.d.ts +0 -35
  605. package/build/src/worker/runner/test-runner/one-time-screenshooter.js +0 -86
  606. package/build/src/worker/runner/test-runner/one-time-screenshooter.js.map +0 -1
  607. /package/build/src/browser/{screen-shooter → cdp}/types.js +0 -0
@@ -26,12 +26,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.registerTransformHook = exports.transformCode = void 0;
29
+ exports.enableSourceMaps = exports.updateTransformHook = exports.registerTransformHook = exports.transformCode = void 0;
30
30
  const node_path_1 = __importDefault(require("node:path"));
31
31
  const pirates_1 = require("pirates");
32
+ const recast = __importStar(require("recast"));
32
33
  const logger = __importStar(require("./logger"));
34
+ const config_1 = require("./config");
33
35
  const TESTPLANE_TRANSFORM_HOOK = Symbol.for("testplane.transform.hook");
34
- const TRANSFORM_EXTENSIONS = [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs", ".mts", ".cts"];
36
+ const TRANSFORM_CODE_EXTENSIONS = [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs", ".mts", ".cts"];
35
37
  const ASSET_EXTENSIONS = [
36
38
  ".css",
37
39
  ".scss",
@@ -47,6 +49,7 @@ const ASSET_EXTENSIONS = [
47
49
  ".woff2",
48
50
  ];
49
51
  let transformFunc = null;
52
+ let shouldRemoveViteQueryImports = false;
50
53
  const transformCode = (code, { sourceFile, sourceMaps, isSilent = true }) => {
51
54
  if (transformFunc === null) {
52
55
  const envVar = process.env.TS_NODE_SWC === "false" ? false : true;
@@ -65,66 +68,169 @@ const transformCode = (code, { sourceFile, sourceMaps, isSilent = true }) => {
65
68
  if (envVar && hasSwcCore()) {
66
69
  // eslint-disable-next-line @typescript-eslint/no-var-requires
67
70
  const { transformSync } = require("@swc/core");
68
- transformFunc = (code, sourceFile, sourceMaps) => transformSync(code, {
69
- sourceFileName: sourceFile,
70
- sourceMaps: sourceMaps ? "inline" : false,
71
- configFile: false,
72
- swcrc: false,
73
- minify: false,
74
- module: {
75
- type: "commonjs",
76
- },
77
- jsc: {
78
- target: "esnext",
79
- parser: {
80
- syntax: "typescript",
81
- tsx: true,
71
+ transformFunc = (code, sourceFile, sourceMaps) => {
72
+ const preprocessedCode = shouldRemoveViteQueryImports ? removeViteQueryImports(code, sourceFile) : code;
73
+ return transformSync(preprocessedCode, {
74
+ sourceFileName: sourceFile,
75
+ sourceMaps: sourceMaps ? "inline" : false,
76
+ configFile: false,
77
+ swcrc: false,
78
+ minify: false,
79
+ module: {
80
+ type: "commonjs",
81
+ ignoreDynamic: true,
82
+ },
83
+ jsc: {
84
+ target: "esnext",
85
+ parser: {
86
+ syntax: "typescript",
87
+ tsx: true,
88
+ decorators: true,
89
+ dynamicImport: true,
90
+ },
82
91
  },
83
- },
84
- }).code;
92
+ }).code;
93
+ };
85
94
  }
86
95
  else {
87
96
  // eslint-disable-next-line @typescript-eslint/no-var-requires
88
97
  const { transformSync } = require("esbuild");
89
- transformFunc = (code, sourceFile, sourceMaps) => transformSync(code, {
90
- sourcefile: sourceFile,
91
- sourcemap: sourceMaps ? "inline" : false,
92
- minify: false,
93
- loader: node_path_1.default.extname(sourceFile).includes("j") ? "jsx" : "tsx",
94
- format: "cjs",
95
- target: "esnext",
96
- jsx: "automatic",
97
- }).code;
98
+ transformFunc = (code, sourceFile, sourceMaps) => {
99
+ const preprocessedCode = shouldRemoveViteQueryImports ? removeViteQueryImports(code, sourceFile) : code;
100
+ return transformSync(preprocessedCode, {
101
+ sourcefile: sourceFile,
102
+ sourcemap: sourceMaps ? "inline" : false,
103
+ minify: false,
104
+ loader: node_path_1.default.extname(sourceFile).includes("j") ? "jsx" : "tsx",
105
+ format: "cjs",
106
+ target: "esnext",
107
+ platform: "node",
108
+ jsx: "automatic",
109
+ }).code;
110
+ };
98
111
  }
99
112
  }
100
113
  return transformFunc(code, sourceFile, sourceMaps);
101
114
  };
102
115
  exports.transformCode = transformCode;
103
116
  const registerTransformHook = (isSilent = false) => {
104
- const processWithEsbuildSymbol = process;
105
- if (processWithEsbuildSymbol[TESTPLANE_TRANSFORM_HOOK] || process.env.TS_ENABLE === "false") {
117
+ const processWithTranspileSymbol = process;
118
+ if (processWithTranspileSymbol[TESTPLANE_TRANSFORM_HOOK] || process.env.TS_ENABLE === "false") {
106
119
  return;
107
120
  }
108
121
  try {
109
- const revertTransformHook = (0, pirates_1.addHook)((code, filename) => (0, exports.transformCode)(code, { sourceFile: filename, sourceMaps: false, isSilent }), {
110
- exts: TRANSFORM_EXTENSIONS,
111
- matcher: filename => !filename.includes("node_modules"),
112
- ignoreNodeModules: false,
113
- });
122
+ const mkTransformCodeHook = (sourceMaps = false) => (code, sourceFile) => (0, exports.transformCode)(code, { sourceFile, sourceMaps, isSilent });
123
+ const transformCodeOptions = {
124
+ exts: TRANSFORM_CODE_EXTENSIONS,
125
+ ignoreNodeModules: true,
126
+ };
127
+ let areSourceMapsEnabled = false;
128
+ let revertTransformHook = (0, pirates_1.addHook)(mkTransformCodeHook(), transformCodeOptions);
114
129
  const revertAssetHook = (0, pirates_1.addHook)(() => "module.exports = {};", {
115
130
  exts: ASSET_EXTENSIONS,
116
131
  ignoreNodeModules: false,
117
132
  });
133
+ const enableSourceMaps = () => {
134
+ if (areSourceMapsEnabled) {
135
+ return;
136
+ }
137
+ areSourceMapsEnabled = true;
138
+ revertTransformHook();
139
+ revertTransformHook = (0, pirates_1.addHook)(mkTransformCodeHook(true), transformCodeOptions);
140
+ };
118
141
  const revertAll = () => {
119
142
  revertTransformHook();
120
143
  revertAssetHook();
121
- delete processWithEsbuildSymbol[TESTPLANE_TRANSFORM_HOOK];
144
+ delete processWithTranspileSymbol[TESTPLANE_TRANSFORM_HOOK];
122
145
  };
123
- processWithEsbuildSymbol[TESTPLANE_TRANSFORM_HOOK] = { revert: revertAll };
146
+ processWithTranspileSymbol[TESTPLANE_TRANSFORM_HOOK] = { revert: revertAll, enableSourceMaps };
124
147
  }
125
148
  catch (err) {
126
149
  logger.warn(`testplane: an error occurred while trying to register transform hook.`, err);
127
150
  }
128
151
  };
129
152
  exports.registerTransformHook = registerTransformHook;
153
+ const updateTransformHook = (config) => {
154
+ shouldRemoveViteQueryImports = (0, config_1.isRunInBrowserEnv)(config);
155
+ };
156
+ exports.updateTransformHook = updateTransformHook;
157
+ const enableSourceMaps = () => {
158
+ const processWithTranspileSymbol = process;
159
+ if (!processWithTranspileSymbol[TESTPLANE_TRANSFORM_HOOK]) {
160
+ return;
161
+ }
162
+ processWithTranspileSymbol[TESTPLANE_TRANSFORM_HOOK].enableSourceMaps();
163
+ };
164
+ exports.enableSourceMaps = enableSourceMaps;
165
+ function removeViteQueryImports(code, sourceFile) {
166
+ const extname = node_path_1.default.extname(sourceFile);
167
+ const isJsxOrTsx = extname === ".jsx" || extname === ".tsx";
168
+ if (!isJsxOrTsx) {
169
+ return code;
170
+ }
171
+ let parser = null;
172
+ try {
173
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
174
+ const babelParser = require("@babel/parser");
175
+ parser = {
176
+ parse(source) {
177
+ return babelParser.parse(source, {
178
+ sourceType: "module",
179
+ plugins: [
180
+ "typescript",
181
+ "jsx",
182
+ "decorators-legacy",
183
+ "classProperties",
184
+ "nullishCoalescingOperator",
185
+ "optionalChaining",
186
+ ],
187
+ tokens: true,
188
+ });
189
+ },
190
+ };
191
+ }
192
+ catch (err) {
193
+ // If @babel/parser is not installed, return original code without transformation.
194
+ // This is not a critical issue as the user may not be using Vite-style imports with query parameters.
195
+ return code;
196
+ }
197
+ let ast;
198
+ try {
199
+ ast = recast.parse(code, {
200
+ parser,
201
+ sourceFileName: sourceFile,
202
+ sourceRoot: node_path_1.default.dirname(sourceFile),
203
+ });
204
+ }
205
+ catch (err) {
206
+ const errorMessage = err.message;
207
+ logger.warn(`Failed to parse file ${sourceFile} for removal of Vite query imports: ${errorMessage}. ` +
208
+ `The file will be processed without removing query imports.`);
209
+ return code;
210
+ }
211
+ recast.visit(ast, {
212
+ visitImportDeclaration(nodePath) {
213
+ const declaration = nodePath.value;
214
+ const source = declaration.source.value;
215
+ if (typeof source === "string") {
216
+ const extname = node_path_1.default.extname(source);
217
+ if (extname && extname.includes("?")) {
218
+ nodePath.prune();
219
+ return false;
220
+ }
221
+ }
222
+ return this.traverse(nodePath);
223
+ },
224
+ });
225
+ try {
226
+ const result = recast.print(ast, { sourceMapName: sourceFile });
227
+ return result.code;
228
+ }
229
+ catch (err) {
230
+ const errorMessage = err.message;
231
+ logger.warn(`Failed to transform AST for ${sourceFile} for removal of Vite query imports: ${errorMessage}. ` +
232
+ `The file will be processed without removing query imports.`);
233
+ return code;
234
+ }
235
+ }
130
236
  //# sourceMappingURL=typescript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/utils/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/utils/typescript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const SERIALIZED_ERROR_MARKER = "__testplane_serialized_error__";
2
+ type UnknownRecord = Record<string, unknown>;
3
+ type SerializedWorkerError = UnknownRecord & {
4
+ [SERIALIZED_ERROR_MARKER]: true;
5
+ isThrownNonError?: true;
6
+ value?: unknown;
7
+ message?: string;
8
+ stack?: string;
9
+ name?: string;
10
+ };
11
+ export declare function deserializeWorkerError(value: unknown): unknown;
12
+ export declare function serializeWorkerError(error: unknown): SerializedWorkerError;
13
+ export {};
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeWorkerError = exports.deserializeWorkerError = exports.SERIALIZED_ERROR_MARKER = void 0;
4
+ exports.SERIALIZED_ERROR_MARKER = "__testplane_serialized_error__";
5
+ const CIRCULAR_REFERENCE_PLACEHOLDER = "[Circular]";
6
+ const BASE_ERROR_FIELDS = new Set(["name", "message", "stack"]);
7
+ const ENVELOPE_FIELDS = new Set([exports.SERIALIZED_ERROR_MARKER, "isThrownNonError", "value", "message", "stack", "name"]);
8
+ const isObject = (value) => value !== null && typeof value === "object";
9
+ const isSerializedWorkerError = (value) => isObject(value) && value[exports.SERIALIZED_ERROR_MARKER] === true;
10
+ function serializeValue(value, traversed) {
11
+ if (Buffer.isBuffer(value)) {
12
+ return { type: "Buffer", data: Array.from(value) };
13
+ }
14
+ if (value instanceof Error) {
15
+ return serializeError(value, traversed);
16
+ }
17
+ if (!isObject(value)) {
18
+ return value;
19
+ }
20
+ if (traversed.has(value)) {
21
+ return CIRCULAR_REFERENCE_PLACEHOLDER;
22
+ }
23
+ traversed.add(value);
24
+ try {
25
+ if (Array.isArray(value)) {
26
+ return value.map(item => serializeValue(item, traversed));
27
+ }
28
+ return Object.keys(value).reduce((result, key) => {
29
+ result[key] = serializeValue(value[key], traversed);
30
+ return result;
31
+ }, {});
32
+ }
33
+ finally {
34
+ traversed.delete(value);
35
+ }
36
+ }
37
+ function serializeError(error, traversed) {
38
+ if (traversed.has(error)) {
39
+ return {
40
+ [exports.SERIALIZED_ERROR_MARKER]: true,
41
+ message: error.message,
42
+ stack: error.stack,
43
+ name: error.name,
44
+ };
45
+ }
46
+ traversed.add(error);
47
+ try {
48
+ const serializedError = {
49
+ [exports.SERIALIZED_ERROR_MARKER]: true,
50
+ message: error.message,
51
+ stack: error.stack,
52
+ name: error.name,
53
+ };
54
+ Object.getOwnPropertyNames(error).forEach(key => {
55
+ if (BASE_ERROR_FIELDS.has(key)) {
56
+ return;
57
+ }
58
+ serializedError[key] = serializeValue(error[key], traversed);
59
+ });
60
+ return serializedError;
61
+ }
62
+ finally {
63
+ traversed.delete(error);
64
+ }
65
+ }
66
+ function deserializeValue(value) {
67
+ if (Array.isArray(value)) {
68
+ return value.map(deserializeValue);
69
+ }
70
+ if (isSerializedWorkerError(value)) {
71
+ return deserializeWorkerError(value);
72
+ }
73
+ if (!isObject(value)) {
74
+ return value;
75
+ }
76
+ if (value.type === "Buffer" && Array.isArray(value.data)) {
77
+ return Buffer.from(value.data);
78
+ }
79
+ return Object.keys(value).reduce((result, key) => {
80
+ result[key] = deserializeValue(value[key]);
81
+ return result;
82
+ }, {});
83
+ }
84
+ function deserializeWorkerError(value) {
85
+ if (!isSerializedWorkerError(value)) {
86
+ return value;
87
+ }
88
+ if (value.isThrownNonError) {
89
+ return deserializeValue(value.value);
90
+ }
91
+ const message = typeof value.message === "string" ? value.message : "";
92
+ const cause = Object.prototype.hasOwnProperty.call(value, "cause") ? deserializeValue(value.cause) : undefined;
93
+ const error = cause === undefined ? new Error(message) : new Error(message, { cause });
94
+ if (typeof value.stack === "string") {
95
+ error.stack = value.stack;
96
+ }
97
+ if (typeof value.name === "string" && value.name !== "Error") {
98
+ Object.defineProperty(error, "name", {
99
+ value: value.name,
100
+ configurable: true,
101
+ writable: true,
102
+ enumerable: false,
103
+ });
104
+ }
105
+ Object.keys(value).forEach(key => {
106
+ if (ENVELOPE_FIELDS.has(key) || key === "cause") {
107
+ return;
108
+ }
109
+ error[key] = deserializeValue(value[key]);
110
+ });
111
+ return error;
112
+ }
113
+ exports.deserializeWorkerError = deserializeWorkerError;
114
+ function serializeWorkerError(error) {
115
+ if (error instanceof Error) {
116
+ return serializeError(error, new WeakSet());
117
+ }
118
+ return {
119
+ [exports.SERIALIZED_ERROR_MARKER]: true,
120
+ isThrownNonError: true,
121
+ value: serializeValue(error, new WeakSet()),
122
+ };
123
+ }
124
+ exports.serializeWorkerError = serializeWorkerError;
125
+ //# sourceMappingURL=worker-error-serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-error-serialization.js","sourceRoot":"","sources":["../../../src/utils/worker-error-serialization.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export = WorkersRegistry;
2
- declare class WorkersRegistry extends EventEmitter {
2
+ declare class WorkersRegistry extends EventEmitter<[never]> {
3
3
  static create(...args: any[]): import("./workers-registry");
4
4
  constructor(config: any);
5
5
  _config: any;
@@ -9,7 +9,7 @@ declare class WorkersRegistry extends EventEmitter {
9
9
  init(): void;
10
10
  end(): Promise<void>;
11
11
  isEnded(): boolean;
12
- register(workerFilepath: any, exportedMethods: any): EventEmitter;
12
+ register(workerFilepath: any, exportedMethods: any): EventEmitter<[never]>;
13
13
  _createWorkerFarm(): workerFarm.Workers;
14
14
  _inspectParams(): {
15
15
  workerOptions: {
@@ -7,8 +7,24 @@ const { MasterEvents } = require("../events");
7
7
  const RuntimeConfig = require("../config/runtime-config");
8
8
  const { WorkerProcess } = require("./worker-process");
9
9
  const logger = require("../utils/logger");
10
- const { MASTER_INIT, MASTER_SYNC_CONFIG, WORKER_INIT, WORKER_SYNC_CONFIG, WORKER_UNHANDLED_REJECTION, } = require("../constants/process-messages");
10
+ const { MASTER_INIT, MASTER_SYNC_CONFIG, WORKER_INIT, WORKER_SYNC_CONFIG, WORKER_UNHANDLED_REJECTION, TEST_ASSIGNED_TO_WORKER, } = require("../constants/process-messages");
11
11
  const { isRunInNodeJsEnv } = require("./config");
12
+ const { utilInspectSafe } = require("./secret-replacer");
13
+ const { NEW_ISSUE_LINK } = require("../constants/help");
14
+ const { deserializeWorkerError } = require("./worker-error-serialization");
15
+ const extractErrorFromWorkerMessage = data => {
16
+ if (data.error) {
17
+ let error = data.error;
18
+ if (!(error instanceof Error)) {
19
+ const errorTextLines = String(error).split("\n");
20
+ error = new Error(errorTextLines[0]);
21
+ error.stack = errorTextLines.slice(1).join("\n");
22
+ }
23
+ error.workerPid = data.workerPid;
24
+ return error;
25
+ }
26
+ return null;
27
+ };
12
28
  module.exports = class WorkersRegistry extends EventEmitter {
13
29
  static create(...args) {
14
30
  return new WorkersRegistry(...args);
@@ -45,7 +61,28 @@ module.exports = class WorkersRegistry extends EventEmitter {
45
61
  if (this._ended) {
46
62
  return Promise.reject(new Error(`Can't execute method '${methodName}' because worker farm ended.`));
47
63
  }
48
- return promisify(this._workerFarm.execute)(workerFilepath, methodName, args);
64
+ const stack = new Error().stack;
65
+ return promisify(this._workerFarm.execute)(workerFilepath, methodName, args).catch(error => {
66
+ error = deserializeWorkerError(error);
67
+ if (error.name === "ProcessTerminatedError") {
68
+ const workerCallError = new Error(`Testplane tried to run method '${methodName}' with args ${utilInspectSafe(args)} in worker, but failed to do so.\n` +
69
+ `Most likely this happened due to a critical error in the worker like unhandled promise rejection or the worker process was terminated unexpectedly.\n` +
70
+ `Check surrounding logs for more details on the cause. If you believe this should not have happened, let us know: ${NEW_ISSUE_LINK}\n\n`);
71
+ try {
72
+ const nodeInternalLinesFilter = line => !/node:internal|node:events|node:domain/.test(line);
73
+ workerCallError.stack =
74
+ workerCallError.name +
75
+ stack.split("\n").slice(1).filter(nodeInternalLinesFilter).join("\n");
76
+ error.stack = error.stack.split("\n").filter(nodeInternalLinesFilter).join("\n");
77
+ }
78
+ catch {
79
+ /* */
80
+ }
81
+ workerCallError.cause = error;
82
+ throw workerCallError;
83
+ }
84
+ throw error;
85
+ });
49
86
  };
50
87
  }
51
88
  return workers;
@@ -86,6 +123,7 @@ module.exports = class WorkersRegistry extends EventEmitter {
86
123
  const errMsg = code === null ? `signal: ${signal}` : `exit code: ${code}`;
87
124
  logger.error(`testplane:worker:${child.pid} terminated unexpectedly with ${errMsg}`);
88
125
  });
126
+ this.once(MasterEvents.EXIT, () => child.kill());
89
127
  child.on("message", (data = {}) => {
90
128
  switch (data.event) {
91
129
  case WORKER_INIT:
@@ -103,13 +141,25 @@ module.exports = class WorkersRegistry extends EventEmitter {
103
141
  break;
104
142
  case WORKER_UNHANDLED_REJECTION:
105
143
  if (data.error) {
106
- this.emit(MasterEvents.ERROR, data.error);
144
+ const error = extractErrorFromWorkerMessage(data);
145
+ this.emit(MasterEvents.ERROR, error);
107
146
  }
108
147
  break;
148
+ case TEST_ASSIGNED_TO_WORKER:
149
+ this.emit(MasterEvents.TEST_ASSIGNED_TO_WORKER, data);
150
+ break;
109
151
  case MasterEvents.DOM_SNAPSHOTS: {
110
152
  this.emit(MasterEvents.DOM_SNAPSHOTS, data.context, data.data);
111
153
  break;
112
154
  }
155
+ case MasterEvents.ADD_FILE_TO_REMOVE: {
156
+ this.emit(MasterEvents.ADD_FILE_TO_REMOVE, data.data);
157
+ break;
158
+ }
159
+ case MasterEvents.TEST_DEPENDENCIES: {
160
+ this.emit(MasterEvents.TEST_DEPENDENCIES, data.context, data.data);
161
+ break;
162
+ }
113
163
  default:
114
164
  if (data.event) {
115
165
  this._registeredWorkers.forEach(workers => workers.emit(data.event, _.omit(data, "event")));
@@ -1 +1 @@
1
- {"version":3,"file":"workers-registry.js","sourceRoot":"","sources":["../../../src/utils/workers-registry.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers-registry.js","sourceRoot":"","sources":["../../../src/utils/workers-registry.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /// <reference types="expect-webdriverio/types/expect-webdriverio" />
2
+ export {};
3
+ declare global {
4
+ namespace ExpectWebdriverIO {
5
+ interface Matchers<R, T> {
6
+ toBeDisplayed(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
7
+ toExist(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
8
+ toBePresent(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
9
+ toBeExisting(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
10
+ toHaveAttribute(attribute: string, value?: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
11
+ toHaveAttr(attribute: string, value?: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
12
+ toHaveAttributeContaining(attribute: string, contains: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
13
+ toHaveAttrContaining(attribute: string, contains: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
14
+ toHaveClass(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
15
+ toHaveElementClass(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
16
+ toHaveClassContaining(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
17
+ toHaveElementClassContaining(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
18
+ toHaveElementProperty(property: string | RegExp, value?: unknown, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
19
+ toHaveValue(value: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
20
+ toHaveValueContaining(value: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
21
+ toBeClickable(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
22
+ toBeDisabled(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
23
+ toBeDisplayedInViewport(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
24
+ toBeEnabled(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
25
+ toBeFocused(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
26
+ toBeSelected(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
27
+ toBeChecked(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
28
+ toHaveChildren(size?: number | ExpectWebdriverIO.NumberOptions, options?: ExpectWebdriverIO.NumberOptions): Promise<R>;
29
+ toHaveHref(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
30
+ toHaveLink(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
31
+ toHaveHrefContaining(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
32
+ toHaveLinkContaining(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
33
+ toHaveId(id: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
34
+ toHaveText(text: string | RegExp | Array<string | RegExp>, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
35
+ toHaveTextContaining(text: string | RegExp | Array<string | RegExp>, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
36
+ toHaveStyle(style: {
37
+ [key: string]: string;
38
+ }, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
39
+ toHaveUrl(url: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
40
+ toHaveUrlContaining(url: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
41
+ toHaveTitle(title: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
42
+ toHaveTitleContaining(title: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
43
+ toBeElementsArrayOfSize(size: number | ExpectWebdriverIO.NumberOptions, options?: ExpectWebdriverIO.NumberOptions): Promise<R>;
44
+ toBeRequested(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
45
+ toBeRequestedTimes(times: number | ExpectWebdriverIO.NumberOptions, options?: ExpectWebdriverIO.NumberOptions): Promise<R>;
46
+ toBeRequestedWith(requestedWith: ExpectWebdriverIO.RequestedWith, options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=matchers-overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchers-overrides.js","sourceRoot":"","sources":["../../../../src/vendors/expect-webdriverio/matchers-overrides.ts"],"names":[],"mappings":""}
@@ -44,6 +44,12 @@ const types_2 = require("../../../../runner/browser-env/vite/types");
44
44
  const prepareData = (data) => {
45
45
  return JSON.parse(JSON.stringify(data, Object.getOwnPropertyNames(data)));
46
46
  };
47
+ const hasElementRef = (data) => {
48
+ return lodash_1.default.isObject(data) && Object.keys(data).some(key => key.startsWith("element-"));
49
+ };
50
+ const getElementRef = (elementRefWithExtraProps) => {
51
+ return lodash_1.default.pickBy(elementRefWithExtraProps, (_v, key) => key.startsWith("element-"));
52
+ };
47
53
  class TestRunner extends test_runner_1.default {
48
54
  constructor(opts) {
49
55
  super(opts);
@@ -174,6 +180,7 @@ class TestRunner extends test_runner_1.default {
174
180
  }
175
181
  await history.runGroup({
176
182
  callstack: browser.callstackHistory,
183
+ snapshotsPromiseRef: this._browser.snapshotsPromiseRef,
177
184
  session: this._browser.publicAPI,
178
185
  config: this._config,
179
186
  }, "openVite", async () => {
@@ -201,9 +208,18 @@ class TestRunner extends test_runner_1.default {
201
208
  if (lodash_1.default.isError(result)) {
202
209
  return cb([prepareData(result)]);
203
210
  }
211
+ // Testing Library queries return large objects, containing many additional props. Here, we strip everything but element ref
204
212
  if (lodash_1.default.isArray(result)) {
213
+ if (result.every((item) => hasElementRef(item))) {
214
+ const elementRefs = result.map((item) => getElementRef(item));
215
+ return cb([null, elementRefs.map(prepareData)]);
216
+ }
205
217
  return cb([null, result.map(prepareData)]);
206
218
  }
219
+ if (hasElementRef(result)) {
220
+ const elementRef = getElementRef(result);
221
+ return cb([null, prepareData(elementRef)]);
222
+ }
207
223
  cb([null, lodash_1.default.isObject(result) ? prepareData(result) : result]);
208
224
  }
209
225
  catch (err) {