testplane 9.0.0-rc.4 → 9.0.1

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 (315) hide show
  1. package/build/package.json +15 -15
  2. package/build/src/base-testplane.d.ts +6 -2
  3. package/build/src/base-testplane.js +18 -5
  4. package/build/src/base-testplane.js.map +1 -1
  5. package/build/src/browser/browser.d.ts +2 -0
  6. package/build/src/browser/browser.js +8 -4
  7. package/build/src/browser/browser.js.map +1 -1
  8. package/build/src/browser/calibrator.js +19 -17
  9. package/build/src/browser/calibrator.js.map +1 -1
  10. package/build/src/browser/camera/index.d.ts +6 -2
  11. package/build/src/browser/camera/index.js +18 -14
  12. package/build/src/browser/camera/index.js.map +1 -1
  13. package/build/src/browser/camera/utils.d.ts +11 -1
  14. package/build/src/browser/camera/utils.js +27 -1
  15. package/build/src/browser/camera/utils.js.map +1 -1
  16. package/build/src/browser/cdp/connection.d.ts +2 -39
  17. package/build/src/browser/cdp/connection.js +73 -353
  18. package/build/src/browser/cdp/connection.js.map +1 -1
  19. package/build/src/browser/cdp/constants.d.ts +0 -10
  20. package/build/src/browser/cdp/constants.js +1 -11
  21. package/build/src/browser/cdp/constants.js.map +1 -1
  22. package/build/src/browser/cdp/domains/css.d.ts +14 -6
  23. package/build/src/browser/cdp/domains/css.js +4 -0
  24. package/build/src/browser/cdp/domains/css.js.map +1 -1
  25. package/build/src/browser/cdp/domains/debugger.d.ts +1 -1
  26. package/build/src/browser/cdp/domains/fetch.d.ts +163 -0
  27. package/build/src/browser/cdp/domains/fetch.js +51 -0
  28. package/build/src/browser/cdp/domains/fetch.js.map +1 -0
  29. package/build/src/browser/cdp/domains/network.d.ts +290 -0
  30. package/build/src/browser/cdp/domains/network.js +75 -0
  31. package/build/src/browser/cdp/domains/network.js.map +1 -0
  32. package/build/src/browser/cdp/domains/page.d.ts +378 -0
  33. package/build/src/browser/cdp/domains/page.js +114 -0
  34. package/build/src/browser/cdp/domains/page.js.map +1 -0
  35. package/build/src/browser/cdp/emitter.d.ts +2 -1
  36. package/build/src/browser/cdp/emitter.js +2 -2
  37. package/build/src/browser/cdp/emitter.js.map +1 -1
  38. package/build/src/browser/cdp/error.d.ts +14 -20
  39. package/build/src/browser/cdp/error.js +29 -32
  40. package/build/src/browser/cdp/error.js.map +1 -1
  41. package/build/src/browser/cdp/index.d.ts +6 -0
  42. package/build/src/browser/cdp/index.js +21 -6
  43. package/build/src/browser/cdp/index.js.map +1 -1
  44. package/build/src/browser/cdp/selectivity/constants.d.ts +2 -0
  45. package/build/src/browser/cdp/selectivity/constants.js +3 -1
  46. package/build/src/browser/cdp/selectivity/constants.js.map +1 -1
  47. package/build/src/browser/cdp/selectivity/css-selectivity.d.ts +13 -3
  48. package/build/src/browser/cdp/selectivity/css-selectivity.js +211 -62
  49. package/build/src/browser/cdp/selectivity/css-selectivity.js.map +1 -1
  50. package/build/src/browser/cdp/selectivity/fs-cache.d.ts +12 -0
  51. package/build/src/browser/cdp/selectivity/fs-cache.js +122 -0
  52. package/build/src/browser/cdp/selectivity/fs-cache.js.map +1 -0
  53. package/build/src/browser/cdp/selectivity/hash-provider.d.ts +1 -0
  54. package/build/src/browser/cdp/selectivity/hash-provider.js +5 -3
  55. package/build/src/browser/cdp/selectivity/hash-provider.js.map +1 -1
  56. package/build/src/browser/cdp/selectivity/hash-reader.d.ts +2 -3
  57. package/build/src/browser/cdp/selectivity/hash-reader.js +39 -26
  58. package/build/src/browser/cdp/selectivity/hash-reader.js.map +1 -1
  59. package/build/src/browser/cdp/selectivity/hash-writer.d.ts +2 -2
  60. package/build/src/browser/cdp/selectivity/hash-writer.js +16 -62
  61. package/build/src/browser/cdp/selectivity/hash-writer.js.map +1 -1
  62. package/build/src/browser/cdp/selectivity/index.d.ts +6 -2
  63. package/build/src/browser/cdp/selectivity/index.js +147 -24
  64. package/build/src/browser/cdp/selectivity/index.js.map +1 -1
  65. package/build/src/browser/cdp/selectivity/js-selectivity.d.ts +11 -4
  66. package/build/src/browser/cdp/selectivity/js-selectivity.js +200 -87
  67. package/build/src/browser/cdp/selectivity/js-selectivity.js.map +1 -1
  68. package/build/src/browser/cdp/selectivity/json-utils.d.ts +5 -0
  69. package/build/src/browser/cdp/selectivity/json-utils.js +19 -9
  70. package/build/src/browser/cdp/selectivity/json-utils.js.map +1 -1
  71. package/build/src/browser/cdp/selectivity/merge-dumps/index.d.ts +2 -0
  72. package/build/src/browser/cdp/selectivity/merge-dumps/index.js +28 -0
  73. package/build/src/browser/cdp/selectivity/merge-dumps/index.js.map +1 -0
  74. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.d.ts +2 -0
  75. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js +39 -0
  76. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js.map +1 -0
  77. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.d.ts +2 -0
  78. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js +129 -0
  79. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js.map +1 -0
  80. package/build/src/browser/cdp/selectivity/modes.d.ts +4 -0
  81. package/build/src/browser/cdp/selectivity/modes.js +11 -0
  82. package/build/src/browser/cdp/selectivity/modes.js.map +1 -0
  83. package/build/src/browser/cdp/selectivity/runner.d.ts +5 -0
  84. package/build/src/browser/cdp/selectivity/runner.js +114 -22
  85. package/build/src/browser/cdp/selectivity/runner.js.map +1 -1
  86. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js +1 -1
  87. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js.map +1 -1
  88. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js +1 -1
  89. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js.map +1 -1
  90. package/build/src/browser/cdp/selectivity/testplane-selectivity.d.ts +3 -1
  91. package/build/src/browser/cdp/selectivity/testplane-selectivity.js +64 -13
  92. package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
  93. package/build/src/browser/cdp/selectivity/types.d.ts +6 -0
  94. package/build/src/browser/cdp/selectivity/types.js.map +1 -1
  95. package/build/src/browser/cdp/selectivity/used-dumps-tracker.d.ts +7 -0
  96. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js +25 -0
  97. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js.map +1 -0
  98. package/build/src/browser/cdp/selectivity/utils.d.ts +18 -9
  99. package/build/src/browser/cdp/selectivity/utils.js +111 -34
  100. package/build/src/browser/cdp/selectivity/utils.js.map +1 -1
  101. package/build/src/browser/cdp/types.d.ts +214 -0
  102. package/build/src/browser/cdp/utils.d.ts +0 -6
  103. package/build/src/browser/cdp/utils.js +1 -6
  104. package/build/src/browser/cdp/utils.js.map +1 -1
  105. package/build/src/browser/client-bridge/index.js +7 -4
  106. package/build/src/browser/client-bridge/index.js.map +1 -1
  107. package/build/src/browser/client-scripts/browser-utils/build/bundle.compat.js +1 -1
  108. package/build/src/browser/client-scripts/browser-utils/build/bundle.native.js +1 -1
  109. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/lib.compat.js +9 -1
  110. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/lib.native.js +5 -1
  111. package/build/src/browser/client-scripts/calibrate.js +10 -3
  112. package/build/src/browser/client-scripts/rrweb-record.min.js +2 -2
  113. package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +35 -23
  114. package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +20 -16
  115. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +21 -8
  116. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +57 -29
  117. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/dom.js +25 -1
  118. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/lib.compat.js +9 -1
  119. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/lib.native.js +5 -1
  120. package/build/src/browser/commands/assert-view/errors/image-diff-error.d.ts +1 -0
  121. package/build/src/browser/commands/assert-view/index.js +41 -15
  122. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  123. package/build/src/browser/commands/openAndWait.js +23 -26
  124. package/build/src/browser/commands/openAndWait.js.map +1 -1
  125. package/build/src/browser/commands/restoreState/index.js +19 -8
  126. package/build/src/browser/commands/restoreState/index.js.map +1 -1
  127. package/build/src/browser/commands/saveState/index.d.ts +1 -2
  128. package/build/src/browser/commands/saveState/index.js +8 -12
  129. package/build/src/browser/commands/saveState/index.js.map +1 -1
  130. package/build/src/browser/commands/switchToRepl.js +27 -9
  131. package/build/src/browser/commands/switchToRepl.js.map +1 -1
  132. package/build/src/browser/existing-browser.d.ts +2 -0
  133. package/build/src/browser/existing-browser.js +15 -0
  134. package/build/src/browser/existing-browser.js.map +1 -1
  135. package/build/src/browser/history/index.d.ts +8 -1
  136. package/build/src/browser/history/index.js +46 -17
  137. package/build/src/browser/history/index.js.map +1 -1
  138. package/build/src/browser/history/rrweb.d.ts +3 -1
  139. package/build/src/browser/history/rrweb.js +158 -29
  140. package/build/src/browser/history/rrweb.js.map +1 -1
  141. package/build/src/browser/isomorphic/tsconfig.tsbuildinfo +1 -1
  142. package/build/src/browser/new-browser.d.ts +2 -1
  143. package/build/src/browser/new-browser.js +9 -12
  144. package/build/src/browser/new-browser.js.map +1 -1
  145. package/build/src/browser/screen-shooter/composite-image/index.d.ts +23 -0
  146. package/build/src/browser/screen-shooter/composite-image/index.js +161 -14
  147. package/build/src/browser/screen-shooter/composite-image/index.js.map +1 -1
  148. package/build/src/browser/screen-shooter/debug.d.ts +3 -0
  149. package/build/src/browser/screen-shooter/debug.js +25 -0
  150. package/build/src/browser/screen-shooter/debug.js.map +1 -0
  151. package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +0 -1
  152. package/build/src/browser/screen-shooter/elements-screen-shooter.js +120 -61
  153. package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
  154. package/build/src/browser/screen-shooter/full-page-screen-shooter.d.ts +3 -2
  155. package/build/src/browser/screen-shooter/full-page-screen-shooter.js +19 -15
  156. package/build/src/browser/screen-shooter/full-page-screen-shooter.js.map +1 -1
  157. package/build/src/browser/screen-shooter/operations/index.d.ts +1 -0
  158. package/build/src/browser/screen-shooter/operations/index.js +3 -1
  159. package/build/src/browser/screen-shooter/operations/index.js.map +1 -1
  160. package/build/src/browser/screen-shooter/operations/pointer-events.js +7 -0
  161. package/build/src/browser/screen-shooter/operations/pointer-events.js.map +1 -1
  162. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.d.ts +6 -0
  163. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js +147 -0
  164. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js.map +1 -0
  165. package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +2 -1
  166. package/build/src/browser/screen-shooter/viewport-screen-shooter.js +3 -5
  167. package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
  168. package/build/src/browser/types.d.ts +6 -4
  169. package/build/src/browser/wsdriver/compression.d.ts +5 -0
  170. package/build/src/browser/wsdriver/compression.js +79 -0
  171. package/build/src/browser/wsdriver/compression.js.map +1 -0
  172. package/build/src/browser/wsdriver/constants.d.ts +11 -0
  173. package/build/src/browser/wsdriver/constants.js +15 -0
  174. package/build/src/browser/wsdriver/constants.js.map +1 -0
  175. package/build/src/browser/wsdriver/debug.d.ts +2 -0
  176. package/build/src/browser/wsdriver/debug.js +9 -0
  177. package/build/src/browser/wsdriver/debug.js.map +1 -0
  178. package/build/src/browser/wsdriver/error.d.ts +18 -0
  179. package/build/src/browser/wsdriver/error.js +36 -0
  180. package/build/src/browser/wsdriver/error.js.map +1 -0
  181. package/build/src/browser/wsdriver/index.d.ts +23 -0
  182. package/build/src/browser/wsdriver/index.js +261 -0
  183. package/build/src/browser/wsdriver/index.js.map +1 -0
  184. package/build/src/browser/wsdriver/request.d.ts +10 -0
  185. package/build/src/browser/wsdriver/request.js +58 -0
  186. package/build/src/browser/wsdriver/request.js.map +1 -0
  187. package/build/src/browser/wsdriver/response.d.ts +3 -0
  188. package/build/src/browser/wsdriver/response.js +111 -0
  189. package/build/src/browser/wsdriver/response.js.map +1 -0
  190. package/build/src/browser/wsdriver/types.d.ts +71 -0
  191. package/build/src/browser/wsdriver/types.js +27 -0
  192. package/build/src/browser/wsdriver/types.js.map +1 -0
  193. package/build/src/browser-installer/chromium/utils.js +1 -0
  194. package/build/src/browser-installer/chromium/utils.js.map +1 -1
  195. package/build/src/browser-installer/utils.js +50 -3
  196. package/build/src/browser-installer/utils.js.map +1 -1
  197. package/build/src/browser-pool/basic-pool.js +3 -1
  198. package/build/src/browser-pool/basic-pool.js.map +1 -1
  199. package/build/src/cli/commands/selectivity-merge-dumps/index.d.ts +2 -0
  200. package/build/src/cli/commands/selectivity-merge-dumps/index.js +50 -0
  201. package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -0
  202. package/build/src/cli/constants.d.ts +1 -0
  203. package/build/src/cli/constants.js +1 -0
  204. package/build/src/cli/constants.js.map +1 -1
  205. package/build/src/cli/index.js +13 -19
  206. package/build/src/cli/index.js.map +1 -1
  207. package/build/src/cli/repl-options.d.ts +3 -0
  208. package/build/src/cli/repl-options.js +16 -0
  209. package/build/src/cli/repl-options.js.map +1 -0
  210. package/build/src/config/browser-options.js +11 -3
  211. package/build/src/config/browser-options.js.map +1 -1
  212. package/build/src/config/defaults.d.ts +7 -2
  213. package/build/src/config/defaults.js +10 -5
  214. package/build/src/config/defaults.js.map +1 -1
  215. package/build/src/config/index.d.ts +10 -6
  216. package/build/src/config/index.js +67 -42
  217. package/build/src/config/index.js.map +1 -1
  218. package/build/src/config/types.d.ts +59 -14
  219. package/build/src/config/types.js +15 -5
  220. package/build/src/config/types.js.map +1 -1
  221. package/build/src/config/utils.d.ts +2 -2
  222. package/build/src/config/utils.js +11 -6
  223. package/build/src/config/utils.js.map +1 -1
  224. package/build/src/constants/config.d.ts +0 -1
  225. package/build/src/constants/config.js +1 -2
  226. package/build/src/constants/config.js.map +1 -1
  227. package/build/src/constants/png.d.ts +1 -0
  228. package/build/src/constants/repl.d.ts +2 -0
  229. package/build/src/constants/repl.js +6 -0
  230. package/build/src/constants/repl.js.map +1 -0
  231. package/build/src/dev-server/index.d.ts +1 -1
  232. package/build/src/dev-server/index.js +1 -1
  233. package/build/src/dev-server/index.js.map +1 -1
  234. package/build/src/globals.d.ts +7 -0
  235. package/build/src/globals.js +10 -0
  236. package/build/src/globals.js.map +1 -0
  237. package/build/src/image.d.ts +6 -1
  238. package/build/src/image.js +56 -2
  239. package/build/src/image.js.map +1 -1
  240. package/build/src/index.d.ts +3 -13
  241. package/build/src/index.js +5 -1
  242. package/build/src/index.js.map +1 -1
  243. package/build/src/runner/browser-env/vite/browser-modules/driver.js +6 -8
  244. package/build/src/runner/browser-env/vite/browser-modules/driver.js.map +1 -1
  245. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  246. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +1 -1
  247. package/build/src/runner/index.js +1 -0
  248. package/build/src/runner/index.js.map +1 -1
  249. package/build/src/runner/suite-monitor.d.ts +1 -1
  250. package/build/src/runner/test-runner/regular-test-runner.js +2 -2
  251. package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
  252. package/build/src/signal-handler.d.ts +2 -2
  253. package/build/src/signal-handler.js +24 -11
  254. package/build/src/signal-handler.js.map +1 -1
  255. package/build/src/test-reader/mocha-reader/mocha-event-bus.d.ts +1 -1
  256. package/build/src/test-reader/test-parser.js +3 -3
  257. package/build/src/test-reader/test-parser.js.map +1 -1
  258. package/build/src/testplane.d.ts +4 -5
  259. package/build/src/testplane.js +20 -10
  260. package/build/src/testplane.js.map +1 -1
  261. package/build/src/types/globals.d.ts +16 -0
  262. package/build/src/types/globals.js +3 -0
  263. package/build/src/types/globals.js.map +1 -0
  264. package/build/src/types/index.d.ts +2 -3
  265. package/build/src/utils/crypto.d.ts +1 -0
  266. package/build/src/utils/crypto.js +2 -1
  267. package/build/src/utils/crypto.js.map +1 -1
  268. package/build/src/utils/eight-bit-rgba-to-png.d.ts +1 -0
  269. package/build/src/utils/repl-instrumentation/index.d.ts +1 -0
  270. package/build/src/utils/repl-instrumentation/index.js +46 -0
  271. package/build/src/utils/repl-instrumentation/index.js.map +1 -0
  272. package/build/src/utils/repl-instrumentation/typescript.d.ts +7 -0
  273. package/build/src/utils/repl-instrumentation/typescript.js +307 -0
  274. package/build/src/utils/repl-instrumentation/typescript.js.map +1 -0
  275. package/build/src/utils/repl-module-hooks.d.ts +1 -0
  276. package/build/src/utils/repl-module-hooks.js +181 -0
  277. package/build/src/utils/repl-module-hooks.js.map +1 -0
  278. package/build/src/utils/workers-registry.d.ts +2 -2
  279. package/build/src/utils/workers-registry.js +1 -0
  280. package/build/src/utils/workers-registry.js.map +1 -1
  281. package/build/src/vendors/expect-webdriverio/matchers-overrides.d.ts +49 -0
  282. package/build/src/vendors/expect-webdriverio/matchers-overrides.js +3 -0
  283. package/build/src/vendors/expect-webdriverio/matchers-overrides.js.map +1 -0
  284. package/build/src/worker/runner/browser-pool.js +4 -1
  285. package/build/src/worker/runner/browser-pool.js.map +1 -1
  286. package/build/src/worker/runner/index.js +6 -3
  287. package/build/src/worker/runner/index.js.map +1 -1
  288. package/build/src/worker/runner/sequence-test-parser.js +5 -7
  289. package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
  290. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js +2 -3
  291. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js.map +1 -1
  292. package/build/src/worker/runner/test-runner/execution-thread.d.ts +0 -1
  293. package/build/src/worker/runner/test-runner/execution-thread.js +0 -5
  294. package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
  295. package/build/src/worker/runner/test-runner/index.d.ts +1 -0
  296. package/build/src/worker/runner/test-runner/index.js +47 -2
  297. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  298. package/build/src/worker/testplane-facade.js +5 -3
  299. package/build/src/worker/testplane-facade.js.map +1 -1
  300. package/build/src/worker/testplane.d.ts +1 -0
  301. package/build/src/worker/testplane.js +4 -1
  302. package/build/src/worker/testplane.js.map +1 -1
  303. package/build/src/ws-connection/constants.d.ts +13 -0
  304. package/build/src/ws-connection/constants.js +17 -0
  305. package/build/src/ws-connection/constants.js.map +1 -0
  306. package/build/src/ws-connection/error.d.ts +52 -0
  307. package/build/src/ws-connection/error.js +84 -0
  308. package/build/src/ws-connection/error.js.map +1 -0
  309. package/build/src/ws-connection/index.d.ts +83 -0
  310. package/build/src/ws-connection/index.js +397 -0
  311. package/build/src/ws-connection/index.js.map +1 -0
  312. package/build/src/ws-connection/utils.d.ts +6 -0
  313. package/build/src/ws-connection/utils.js +9 -0
  314. package/build/src/ws-connection/utils.js.map +1 -0
  315. package/package.json +15 -15
@@ -26,9 +26,9 @@ 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.Config = exports.TimeTravelMode = void 0;
30
- const path = __importStar(require("path"));
31
- const _ = __importStar(require("lodash"));
29
+ exports.Config = exports.SelectivityMode = exports.TimeTravelMode = void 0;
30
+ const path_1 = __importDefault(require("path"));
31
+ const lodash_1 = __importDefault(require("lodash"));
32
32
  const defaults_1 = __importDefault(require("./defaults"));
33
33
  const browser_config_1 = require("./browser-config");
34
34
  const options_1 = __importDefault(require("./options"));
@@ -36,52 +36,77 @@ const logger = __importStar(require("../utils/logger"));
36
36
  const utils_1 = require("./utils");
37
37
  var types_1 = require("./types");
38
38
  Object.defineProperty(exports, "TimeTravelMode", { enumerable: true, get: function () { return types_1.TimeTravelMode; } });
39
+ Object.defineProperty(exports, "SelectivityMode", { enumerable: true, get: function () { return types_1.SelectivityMode; } });
39
40
  class Config {
40
- static create(config) {
41
- return new Config(config);
41
+ static async create(config) {
42
+ try {
43
+ const { configPath, options } = await Config._resolve(config);
44
+ await Config._prepareEnvironment(options);
45
+ return new Config(options, configPath);
46
+ }
47
+ catch (e) {
48
+ const error = new Error(`Got an error while trying to read config: ${e.message}`);
49
+ error.stack = e.stack;
50
+ error.cause = e.cause;
51
+ throw error;
52
+ }
42
53
  }
43
- static read(configPath) {
54
+ static async read(configPath) {
44
55
  try {
45
56
  // eslint-disable-next-line @typescript-eslint/no-var-requires
46
- const configModule = require(path.resolve(process.cwd(), configPath));
47
- return configModule.__esModule ? configModule.default : configModule;
57
+ const configModule = require(path_1.default.resolve(process.cwd(), configPath));
58
+ const exported = (configModule.__esModule ? configModule.default : configModule);
59
+ return await Config._resolveExportedConfig(exported);
48
60
  }
49
61
  catch (e) {
50
62
  logger.error(`Unable to read config from path ${configPath}`);
51
63
  throw e;
52
64
  }
53
65
  }
54
- constructor(config) {
55
- let options;
56
- if (_.isObjectLike(config)) {
57
- options = config;
66
+ static async _resolve(config) {
67
+ if (typeof config === "function") {
68
+ return { options: await Config._resolveExportedConfig(config) };
58
69
  }
59
- else if (typeof config === "string") {
60
- this.configPath = config;
61
- options = Config.read(config);
70
+ if (lodash_1.default.isObjectLike(config)) {
71
+ return { options: config };
62
72
  }
63
- else {
64
- for (const configPath of defaults_1.default.configPaths) {
65
- try {
66
- const resolvedConfigPath = path.resolve(configPath);
67
- require(resolvedConfigPath);
68
- this.configPath = resolvedConfigPath;
69
- break;
70
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
- }
72
- catch (err) {
73
- if (err.code !== "MODULE_NOT_FOUND") {
74
- throw err;
75
- }
76
- }
73
+ if (typeof config === "string") {
74
+ return { configPath: config, options: await Config.read(config) };
75
+ }
76
+ const located = Config._locateConfigPath();
77
+ if (!located) {
78
+ throw new Error(`Unable to read config from paths: ${defaults_1.default.configPaths.join(", ")}`);
79
+ }
80
+ return { configPath: located, options: await Config.read(located) };
81
+ }
82
+ static _locateConfigPath() {
83
+ for (const configPath of defaults_1.default.configPaths) {
84
+ try {
85
+ const resolvedConfigPath = path_1.default.resolve(configPath);
86
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
87
+ require(resolvedConfigPath);
88
+ return resolvedConfigPath;
77
89
  }
78
- if (!this.configPath) {
79
- throw new Error(`Unable to read config from paths: ${defaults_1.default.configPaths.join(", ")}`);
90
+ catch (err) {
91
+ if (err.code !== "MODULE_NOT_FOUND") {
92
+ throw err;
93
+ }
80
94
  }
81
- options = Config.read(this.configPath);
82
95
  }
83
- if (_.isFunction(options.prepareEnvironment)) {
84
- options.prepareEnvironment();
96
+ return null;
97
+ }
98
+ static async _resolveExportedConfig(exported) {
99
+ const resolved = typeof exported === "function" ? await exported() : exported;
100
+ return resolved;
101
+ }
102
+ static async _prepareEnvironment(options) {
103
+ if (lodash_1.default.isFunction(options.prepareEnvironment)) {
104
+ await options.prepareEnvironment();
105
+ }
106
+ }
107
+ constructor(options, configPath) {
108
+ if (configPath) {
109
+ this.configPath = configPath;
85
110
  }
86
111
  const parsedOptions = (0, options_1.default)({
87
112
  options,
@@ -89,9 +114,9 @@ class Config {
89
114
  argv: process.argv,
90
115
  });
91
116
  (0, utils_1.addUserAgentToArgs)(parsedOptions);
92
- _.extend(this, parsedOptions);
93
- this.browsers = _.mapValues(this.browsers, (browser, id) => {
94
- const browserOptions = _.extend({}, browser, {
117
+ lodash_1.default.extend(this, parsedOptions);
118
+ this.browsers = lodash_1.default.mapValues(this.browsers, (browser, id) => {
119
+ const browserOptions = lodash_1.default.extend({}, browser, {
95
120
  id: id,
96
121
  system: this.system,
97
122
  lastFailed: this.lastFailed,
@@ -103,11 +128,11 @@ class Config {
103
128
  return this.browsers[id];
104
129
  }
105
130
  getBrowserIds() {
106
- return _.keys(this.browsers);
131
+ return lodash_1.default.keys(this.browsers);
107
132
  }
108
133
  serialize() {
109
- return _.extend({}, this, {
110
- browsers: _.mapValues(this.browsers, broConf => broConf.serialize()),
134
+ return lodash_1.default.extend({}, this, {
135
+ browsers: lodash_1.default.mapValues(this.browsers, broConf => broConf.serialize()),
111
136
  });
112
137
  }
113
138
  /**
@@ -115,8 +140,8 @@ class Config {
115
140
  * in a subrocess with a config from the main process
116
141
  */
117
142
  mergeWith(config) {
118
- _.mergeWith(this, config, (l, r) => {
119
- if (_.isObjectLike(l)) {
143
+ lodash_1.default.mergeWith(this, config, (l, r) => {
144
+ if (lodash_1.default.isObjectLike(l)) {
120
145
  return;
121
146
  }
122
147
  // When passing stringified config from the master to workers
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import type { ChildProcessWithoutNullStreams } from "child_process";
7
7
  import type { RequestOptions } from "https";
8
8
  import type { Config } from "./index";
9
9
  import type { SelectivityCompressionType } from "../browser/cdp/selectivity/types";
10
+ import type { CropMargins } from "../browser/camera";
10
11
  import { DisableHoverMode } from "../browser/isomorphic/types";
11
12
  export interface CompareOptsConfig {
12
13
  shouldCluster: boolean;
@@ -52,9 +53,9 @@ export interface AssertViewOpts {
52
53
  * @remarks
53
54
  * Indicates maximum allowed CIEDE2000 difference between colors. Used only in non-strict mode.
54
55
  * Increasing global default is not recommended, prefer changing tolerance for particular suites or states instead.
55
- * By default it's 2.3 which should be enough for the most cases.
56
+ * By default it's 3.0 which should be enough for the most cases.
56
57
  *
57
- * @defaultValue `2.3`
58
+ * @defaultValue `3.0`
58
59
  */
59
60
  tolerance?: number;
60
61
  /**
@@ -87,6 +88,14 @@ export interface AssertViewOpts {
87
88
  * @defaultValue `0`
88
89
  */
89
90
  screenshotDelay?: number;
91
+ /**
92
+ * Additional raw screenshot margins to crop, in physical pixels.
93
+ *
94
+ * Values are applied to every raw browser screenshot and merged with automatic calibration margins
95
+ * by taking the larger margin for each side.
96
+ * Useful to crop off the scrollbar, or the browser UI on exotic mobile devices.
97
+ */
98
+ cropMargins?: CropMargins;
90
99
  /**
91
100
  * Ability to set DOM-node selector which should be scroll when the captured element does not completely fit on the screen.
92
101
  *
@@ -137,7 +146,7 @@ export interface AssertViewOpts {
137
146
  * @note
138
147
  * This should be considered a last resort and only used in small number of cases where necessary.
139
148
  *
140
- * @defaultValue `0`
149
+ * @defaultValue `4`
141
150
  */
142
151
  ignoreDiffPixelCount?: `${number}%` | number;
143
152
  /**
@@ -250,11 +259,26 @@ type ReadinessProbeObj = {
250
259
  };
251
260
  type ReadinessProbe = ReadinessProbeFn | ReadinessProbeObj;
252
261
  export declare enum TimeTravelMode {
262
+ /** @description Record and save all test runs */
253
263
  On = "on",
264
+ /** @description Do not record any test runs */
254
265
  Off = "off",
266
+ /** @description Record and save all retries */
255
267
  RetriesOnly = "retries-only",
268
+ /** @description Record all test runs, but save only last failed run */
256
269
  LastFailedRun = "last-failed-run"
257
270
  }
271
+ export declare const SelectivityMode: {
272
+ /** @description Completely disables Testplane selectivity */
273
+ readonly Disabled: false;
274
+ /** @description Skips running unchanged tests, does not update selectivity state after successful run */
275
+ readonly ReadOnly: "read-only";
276
+ /** @description Runs unchanged tests, updates selectivity state after successful run */
277
+ readonly WriteOnly: "write-only";
278
+ /** @description Skips running unchanged tests, updates selectivity state after successful run */
279
+ readonly Enabled: true;
280
+ };
281
+ export type SelectivityModeValue = (typeof SelectivityMode)[keyof typeof SelectivityMode];
258
282
  export interface TimeTravelConfig {
259
283
  mode: TimeTravelMode;
260
284
  }
@@ -266,21 +290,36 @@ export type StateOpts = {
266
290
  cookieFilter?: (cookie: Cookie) => boolean;
267
291
  keepFile?: boolean;
268
292
  };
293
+ export type SelectivityDependencyScope = "browser" | "testplane";
294
+ export type SelectivityDependencyReason = "browser-css-import" | "browser-js-coverage" | "testplane-js-import" | "testplane-assert-view-reference";
269
295
  /**
270
296
  * @param {Object} dependency - Object with dependency scope and posix relative path
271
297
  * @param {"browser"|"testplane"|string} dependency.scope - Dependency scope
272
298
  * @param {string} dependency.relativePath - POSIX relative path
273
- * @returns {string|void} Updated POSIX relative path or falsy value, if dependency should be ignored.
299
+ * @returns mapped POSIX relative path, "true", if should be untouched, or "falsy", if should be ignored
274
300
  */
275
- type SelectivityMapDependencyRelativePathFn = (dependency: {
276
- scope: "browser" | "testplane" | (string & NonNullable<unknown>);
301
+ export type SelectivityMapDependencyRelativePathFn = (dependency: {
302
+ scope: SelectivityDependencyScope;
303
+ reason: SelectivityDependencyReason;
277
304
  relativePath: string;
278
- }) => string | void;
305
+ }) => string | boolean | void;
306
+ /**
307
+ * @param {Object} assetInfo - Object with dependency asset info
308
+ * @param {"css"|"js"|string} assetInfo.type - Dependency type
309
+ * @param {string} assetInfo.sourceUrl - dependency absolute source url
310
+ * @param {string} assetInfo.sourceMapUrl - dependency absolute source map url
311
+ * @returns mapped source map url, "true", if should be untouched, or "falsy", if should be ignored
312
+ */
313
+ export type SelectivityMapSourceMapUrlFn = (assetInfo: {
314
+ type: "css" | "js" | (string & NonNullable<unknown>);
315
+ sourceUrl: string;
316
+ sourceMapUrl: string;
317
+ }) => string | boolean | void;
279
318
  export interface CommonConfig {
280
319
  configPath?: string;
281
- automationProtocol: "webdriver" | "devtools";
320
+ automationProtocol: "webdriver";
282
321
  desiredCapabilities: WebdriverIO.Capabilities | null;
283
- sessionEnvFlags: Record<"isW3C" | "isChrome" | "isMobile" | "isIOS" | "isAndroid" | "isSauce" | "isSeleniumStandalone", boolean>;
322
+ sessionEnvFlags: Partial<Record<"isW3C" | "isChrome" | "isMobile" | "isIOS" | "isAndroid" | "isSauce" | "isSeleniumStandalone", boolean>>;
284
323
  gridUrl: string;
285
324
  baseUrl: string;
286
325
  sessionsPerBrowser: number;
@@ -328,6 +367,7 @@ export interface CommonConfig {
328
367
  height: number;
329
368
  } | `${number}x${number}` | null;
330
369
  orientation: "landscape" | "portrait" | null;
370
+ /** Was changed from "true" to "false" in testplane@9 */
331
371
  resetCursor: boolean;
332
372
  headers: Record<string, string> | null;
333
373
  transformRequest: (req: RequestOptions) => RequestOptions;
@@ -340,6 +380,7 @@ export interface CommonConfig {
340
380
  headless: "old" | "new" | boolean | null;
341
381
  isolation: boolean;
342
382
  passive: boolean;
383
+ useWsDriver: boolean;
343
384
  lastFailed: {
344
385
  only: boolean;
345
386
  input: string | Array<string>;
@@ -362,12 +403,15 @@ export interface CommonConfig {
362
403
  reuseExisting: boolean;
363
404
  };
364
405
  selectivity: {
365
- enabled: boolean;
406
+ enabled: SelectivityModeValue;
407
+ saveIncompleteDumpOnFail: boolean;
366
408
  sourceRoot: string;
367
409
  testDependenciesPath: string;
368
410
  compression: SelectivityCompressionType;
369
411
  disableSelectivityPatterns: string[];
370
412
  mapDependencyRelativePath: null | SelectivityMapDependencyRelativePathFn;
413
+ mapSourceMapUrl: null | SelectivityMapSourceMapUrlFn;
414
+ reportPath: string;
371
415
  };
372
416
  timeTravel: TimeTravelConfig;
373
417
  }
@@ -394,22 +438,23 @@ type PartialCommonConfig = Partial<Omit<CommonConfig, "system" | "timeTravel" |
394
438
  };
395
439
  export type HookType = (params: {
396
440
  config: Config;
397
- }) => Promise<void> | undefined;
398
- export type ConfigInput = Partial<PartialCommonConfig> & {
441
+ }) => Promise<unknown> | unknown;
442
+ export type ConfigInputData = Partial<PartialCommonConfig> & {
399
443
  browsers: Record<string, PartialCommonConfig & {
400
444
  desiredCapabilities: WebdriverIO.Capabilities;
401
445
  }>;
402
446
  plugins?: Record<string, unknown>;
403
447
  sets?: Record<string, SetsConfig>;
404
- prepareEnvironment?: () => void | null;
448
+ prepareEnvironment?: () => void | Promise<void> | null;
405
449
  beforeAll?: HookType;
406
450
  afterAll?: HookType;
407
451
  };
452
+ export type ConfigInput = ConfigInputData | (() => ConfigInputData) | (() => Promise<ConfigInputData>);
408
453
  export interface ConfigParsed extends CommonConfig {
409
454
  browsers: Record<string, BrowserConfig>;
410
455
  plugins: Record<string, Record<string, unknown>>;
411
456
  sets: Record<string, SetsConfigParsed>;
412
- prepareEnvironment?: () => void | null;
457
+ prepareEnvironment?: () => void | Promise<void> | null;
413
458
  beforeAll?: HookType;
414
459
  afterAll?: HookType;
415
460
  }
@@ -1,15 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TimeTravelMode = void 0;
3
+ exports.SelectivityMode = exports.TimeTravelMode = void 0;
4
4
  var TimeTravelMode;
5
5
  (function (TimeTravelMode) {
6
- // Record and save all test runs
6
+ /** @description Record and save all test runs */
7
7
  TimeTravelMode["On"] = "on";
8
- // Do not record any test runs
8
+ /** @description Do not record any test runs */
9
9
  TimeTravelMode["Off"] = "off";
10
- // Record and save all retries
10
+ /** @description Record and save all retries */
11
11
  TimeTravelMode["RetriesOnly"] = "retries-only";
12
- // Record all test runs, but save only last failed run
12
+ /** @description Record all test runs, but save only last failed run */
13
13
  TimeTravelMode["LastFailedRun"] = "last-failed-run";
14
14
  })(TimeTravelMode || (exports.TimeTravelMode = TimeTravelMode = {}));
15
+ exports.SelectivityMode = {
16
+ /** @description Completely disables Testplane selectivity */
17
+ Disabled: false,
18
+ /** @description Skips running unchanged tests, does not update selectivity state after successful run */
19
+ ReadOnly: "read-only",
20
+ /** @description Runs unchanged tests, updates selectivity state after successful run */
21
+ WriteOnly: "write-only",
22
+ /** @description Skips running unchanged tests, updates selectivity state after successful run */
23
+ Enabled: true,
24
+ };
15
25
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":";;;AA+RA,IAAY,cASX;AATD,WAAY,cAAc;IACtB,gCAAgC;IAChC,2BAAS,CAAA;IACT,8BAA8B;IAC9B,6BAAW,CAAA;IACX,8BAA8B;IAC9B,8CAA4B,CAAA;IAC5B,sDAAsD;IACtD,mDAAiC,CAAA;AACrC,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":";;;AAwSA,IAAY,cASX;AATD,WAAY,cAAc;IACtB,iDAAiD;IACjD,2BAAS,CAAA;IACT,+CAA+C;IAC/C,6BAAW,CAAA;IACX,+CAA+C;IAC/C,8CAA4B,CAAA;IAC5B,wEAAwE;IACxE,mDAAiC,CAAA;AACrC,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AAEY,QAAA,eAAe,GAAG;IAC3B,6DAA6D;IAC7D,QAAQ,EAAE,KAAK;IACf,yGAAyG;IACzG,QAAQ,EAAE,WAAW;IACrB,wFAAwF;IACxF,SAAS,EAAE,YAAY;IACvB,iGAAiG;IACjG,OAAO,EAAE,IAAI;CACP,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ConfigParsed } from "./types";
1
+ import { ConfigParsed, SelectivityModeValue } from "./types";
2
2
  type ValueType = "string" | "number" | "boolean" | "object" | "undefined" | "function";
3
3
  export declare const is: (type: ValueType, name: string) => (value: unknown) => void;
4
4
  export declare const assertNonNegativeNumber: (value: number, name: string) => void;
@@ -12,6 +12,6 @@ export declare const parseBoolean: (value: string, name: string) => boolean;
12
12
  export declare const parsePrimitive: <T = unknown>(str: string) => T;
13
13
  export declare const addUserAgentToArgs: (config: ConfigParsed) => ConfigParsed;
14
14
  export declare const extractSelectivityEnabledEnvVariable: (envPrefixes?: string[]) => {
15
- enabled?: boolean;
15
+ enabled?: SelectivityModeValue;
16
16
  };
17
17
  export {};
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractSelectivityEnabledEnvVariable = exports.addUserAgentToArgs = exports.parsePrimitive = exports.parseBoolean = exports.assertPositiveIntegerOrInfinity = exports.assertPositiveInteger = exports.assertEnum = exports.assertNonNegativeInteger = exports.assertOptionalArray = exports.assertOptionalObject = exports.assertNonNegativeNumber = exports.is = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
+ const types_1 = require("./types");
8
9
  const is = (type, name) => {
9
10
  return (value) => {
10
11
  if (typeof value !== type) {
@@ -34,7 +35,7 @@ const assertOptionalArray = (value, name) => {
34
35
  exports.assertOptionalArray = assertOptionalArray;
35
36
  const assertNonNegativeInteger = (value, name) => {
36
37
  if (!Number.isInteger(value) || value < 0) {
37
- throw new Error(`"${name}" must be a non-negative integer`);
38
+ throw new Error(`"${name}" must be a non-negative integer, got ${value} of type ${typeof value}`);
38
39
  }
39
40
  };
40
41
  exports.assertNonNegativeInteger = assertNonNegativeInteger;
@@ -101,11 +102,15 @@ exports.addUserAgentToArgs = addUserAgentToArgs;
101
102
  const extractSelectivityEnabledEnvVariable = (envPrefixes = []) => {
102
103
  for (const envPrefix of envPrefixes) {
103
104
  const envName = envPrefix + "selectivity_enabled";
104
- if (process.env[envName] === String(true)) {
105
- return { enabled: true };
106
- }
107
- if (process.env[envName] === String(false)) {
108
- return { enabled: false };
105
+ switch (process.env[envName]) {
106
+ case String(types_1.SelectivityMode.Enabled):
107
+ return { enabled: types_1.SelectivityMode.Enabled };
108
+ case String(types_1.SelectivityMode.Disabled):
109
+ return { enabled: types_1.SelectivityMode.Disabled };
110
+ case String(types_1.SelectivityMode.ReadOnly):
111
+ return { enabled: types_1.SelectivityMode.ReadOnly };
112
+ case String(types_1.SelectivityMode.WriteOnly):
113
+ return { enabled: types_1.SelectivityMode.WriteOnly };
109
114
  }
110
115
  }
111
116
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/config/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/config/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { type W3CBrowserName } from "../browser/types";
2
2
  export declare const ENV_PREFIXES: string[];
3
3
  export declare const WEBDRIVER_PROTOCOL = "webdriver";
4
- export declare const DEVTOOLS_PROTOCOL = "devtools";
5
4
  export declare const SAVE_HISTORY_MODE: {
6
5
  ALL: string;
7
6
  NONE: string;
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VENDOR_CAPABILITIES = exports.W3C_CAPABILITIES = exports.LOCAL_GRID_URL = exports.BROWSER_TEST_RUN_ENV = exports.NODEJS_TEST_RUN_ENV = exports.SAVE_HISTORY_MODE = exports.DEVTOOLS_PROTOCOL = exports.WEBDRIVER_PROTOCOL = exports.ENV_PREFIXES = void 0;
3
+ exports.VENDOR_CAPABILITIES = exports.W3C_CAPABILITIES = exports.LOCAL_GRID_URL = exports.BROWSER_TEST_RUN_ENV = exports.NODEJS_TEST_RUN_ENV = exports.SAVE_HISTORY_MODE = exports.WEBDRIVER_PROTOCOL = exports.ENV_PREFIXES = void 0;
4
4
  const types_1 = require("../browser/types");
5
5
  exports.ENV_PREFIXES = ["testplane_", "hermione_"];
6
6
  exports.WEBDRIVER_PROTOCOL = "webdriver";
7
- exports.DEVTOOLS_PROTOCOL = "devtools";
8
7
  exports.SAVE_HISTORY_MODE = {
9
8
  ALL: "all",
10
9
  NONE: "none",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/constants/config.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAEvD,QAAA,YAAY,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAE3C,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,iBAAiB,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,YAAY;CAC5B,CAAC;AACW,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC,gDAAgD;AACnC,QAAA,gBAAgB,GAAG;IAC5B,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,OAAO;IACP,eAAe;IACf,UAAU;IACV,2BAA2B;IAC3B,yBAAyB;IACzB,WAAW;IACX,cAAc;IACd,8BAA8B;CACjC,CAAC;AAEW,QAAA,mBAAmB,GAAqC;IACjE,8DAA8D;IAC9D,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAChE,CAAC,mBAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAC7E,qFAAqF;IACrF,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,CAAC;IAC7C,gGAAgG;IAChG,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACtC,8EAA8E;IAC9E,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,4BAA4B,EAAE,2BAA2B,EAAE,sBAAsB,CAAC;CAC5G,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/constants/config.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAEvD,QAAA,YAAY,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAE3C,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,iBAAiB,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,YAAY;CAC5B,CAAC;AACW,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC,gDAAgD;AACnC,QAAA,gBAAgB,GAAG;IAC5B,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,OAAO;IACP,eAAe;IACf,UAAU;IACV,2BAA2B;IAC3B,yBAAyB;IACzB,WAAW;IACX,cAAc;IACd,8BAA8B;CACjC,CAAC;AAEW,QAAA,mBAAmB,GAAqC;IACjE,8DAA8D;IAC9D,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAChE,CAAC,mBAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAC7E,qFAAqF;IACrF,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,CAAC;IAC7C,gGAAgG;IAChG,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACtC,8EAA8E;IAC9E,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,4BAA4B,EAAE,2BAA2B,EAAE,sBAAsB,CAAC;CAC5G,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  export declare const RGBA_CHANNELS = 4;
3
4
  export declare const BITS_IN_BYTE = 8;
4
5
  export declare const PNG_WIDTH_OFFSET = 16;
@@ -0,0 +1,2 @@
1
+ export declare const REPL_INSTRUMENTED_FN_FLAG_KEY = "testplane.repl.instrumented.fn";
2
+ export declare const REPL_INSTRUMENTED_FN_FLAG: unique symbol;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REPL_INSTRUMENTED_FN_FLAG = exports.REPL_INSTRUMENTED_FN_FLAG_KEY = void 0;
4
+ exports.REPL_INSTRUMENTED_FN_FLAG_KEY = "testplane.repl.instrumented.fn";
5
+ exports.REPL_INSTRUMENTED_FN_FLAG = Symbol.for(exports.REPL_INSTRUMENTED_FN_FLAG_KEY);
6
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/constants/repl.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,gCAAgC,CAAC;AACjE,QAAA,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,qCAA6B,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import type { Testplane } from "../testplane";
3
3
  export type DevServerOpts = {
4
4
  testplane: Testplane;
5
5
  devServerConfig: Config["devServer"];
6
- configPath: string;
6
+ configPath?: string;
7
7
  };
8
8
  export type InitDevServer = (opts: DevServerOpts) => Promise<void>;
9
9
  export declare const initDevServer: InitDevServer;
@@ -56,7 +56,7 @@ const initDevServer = async ({ testplane, devServerConfig, configPath }) => {
56
56
  }
57
57
  const devServer = (0, child_process_1.spawn)(devServerConfig.command, devServerConfig.args, {
58
58
  env: { ...process.env, ...devServerConfig.env },
59
- cwd: devServerConfig.cwd || (0, utils_1.findCwd)(configPath),
59
+ cwd: devServerConfig.cwd || (configPath ? (0, utils_1.findCwd)(configPath) : process.cwd()),
60
60
  shell: true,
61
61
  windowsHide: true,
62
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dev-server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dev-server/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { GlobalAfterEachType, GlobalBeforeEachType, GlobalDescribeType, GlobalHermioneType, GlobalItType, GlobalTestplaneType } from "./types/globals";
2
+ export declare const it: GlobalItType;
3
+ export declare const describe: GlobalDescribeType;
4
+ export declare const beforeEach: GlobalBeforeEachType;
5
+ export declare const afterEach: GlobalAfterEachType;
6
+ export declare const testplane: GlobalTestplaneType;
7
+ export declare const hermione: GlobalHermioneType;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hermione = exports.testplane = exports.afterEach = exports.beforeEach = exports.describe = exports.it = void 0;
4
+ exports.it = globalThis.it;
5
+ exports.describe = globalThis.describe;
6
+ exports.beforeEach = globalThis.beforeEach;
7
+ exports.afterEach = globalThis.afterEach;
8
+ exports.testplane = globalThis.testplane;
9
+ exports.hermione = globalThis.hermione;
10
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/globals.ts"],"names":[],"mappings":";;;AAUa,QAAA,EAAE,GAAkB,UAA0C,CAAC,EAAE,CAAC;AAClE,QAAA,QAAQ,GAAwB,UAA0C,CAAC,QAAQ,CAAC;AACpF,QAAA,UAAU,GAA0B,UAA0C,CAAC,UAAU,CAAC;AAC1F,QAAA,SAAS,GAAyB,UAA0C,CAAC,SAAS,CAAC;AACvF,QAAA,SAAS,GAAyB,UAA0C,CAAC,SAAS,CAAC;AACvF,QAAA,QAAQ,GAAwB,UAA0C,CAAC,QAAQ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import looksSame from "looks-same";
3
4
  import { DiffOptions, ImageSize } from "./types";
4
5
  interface PngImageData {
@@ -32,6 +33,7 @@ interface CompareOptions {
32
33
  tolerance?: number;
33
34
  antialiasingTolerance?: number;
34
35
  }
36
+ export declare const extractBase64PngSize: (base64EncodedPng: string) => ImageSize;
35
37
  export declare class Image {
36
38
  private _imgDataPromise;
37
39
  private _imgData;
@@ -40,12 +42,15 @@ export declare class Image {
40
42
  private _composeImages;
41
43
  private _clearAreas;
42
44
  private _decodeError;
45
+ private _hasICCPChunk;
43
46
  static create(buffer: Buffer): Image;
44
47
  constructor(buffer: Buffer);
45
48
  constructor(size: Size);
49
+ get hasICCPChunk(): boolean;
46
50
  _getImgData(): Promise<Buffer>;
47
51
  _ensureImagesHaveSameWidth(): void;
48
- getSize(): Promise<ImageSize>;
52
+ getSize(): ImageSize;
53
+ clone(): Promise<Image>;
49
54
  crop(rect: Rect): Promise<void>;
50
55
  addJoin(attachedImages: this[]): void;
51
56
  applyJoin(): Promise<void>;