creevey 0.10.0-beta.8 → 0.10.0-rc.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 (350) hide show
  1. package/AUTHORS +2 -0
  2. package/CHANGELOG.md +281 -0
  3. package/README.md +19 -41
  4. package/dist/client/addon/components/Addon.js +18 -8
  5. package/dist/client/addon/components/Addon.js.map +1 -1
  6. package/dist/client/addon/components/Panel.js +4 -4
  7. package/dist/client/addon/components/Panel.js.map +1 -1
  8. package/dist/client/addon/components/TestSelect.js +2 -2
  9. package/dist/client/addon/components/TestSelect.js.map +1 -1
  10. package/dist/client/addon/components/Tools.js +19 -9
  11. package/dist/client/addon/components/Tools.js.map +1 -1
  12. package/dist/client/addon/controller.d.ts +1 -1
  13. package/dist/client/addon/controller.js +3 -3
  14. package/dist/client/addon/controller.js.map +1 -1
  15. package/dist/client/addon/decorator.d.ts +1 -1
  16. package/dist/client/addon/makeDecorator.d.ts +9 -0
  17. package/dist/client/addon/makeDecorator.js +48 -0
  18. package/dist/client/addon/makeDecorator.js.map +1 -0
  19. package/dist/client/addon/manager.js +38 -39
  20. package/dist/client/addon/manager.js.map +1 -1
  21. package/dist/client/addon/preset.d.ts +0 -1
  22. package/dist/client/addon/preset.js +3 -2
  23. package/dist/client/addon/preset.js.map +1 -1
  24. package/dist/client/addon/preview.d.ts +1 -1
  25. package/dist/client/addon/withCreevey.d.ts +5 -3
  26. package/dist/client/addon/withCreevey.js +14 -21
  27. package/dist/client/addon/withCreevey.js.map +1 -1
  28. package/dist/client/shared/components/ImagesView/BlendView.d.ts +2 -2
  29. package/dist/client/shared/components/ImagesView/BlendView.js +18 -8
  30. package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -1
  31. package/dist/client/shared/components/ImagesView/ImagesView.js +1 -1
  32. package/dist/client/shared/components/ImagesView/ImagesView.js.map +1 -1
  33. package/dist/client/shared/components/ImagesView/SideBySideView.d.ts +2 -2
  34. package/dist/client/shared/components/ImagesView/SideBySideView.js +19 -9
  35. package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -1
  36. package/dist/client/shared/components/ImagesView/SlideView.d.ts +2 -2
  37. package/dist/client/shared/components/ImagesView/SlideView.js +19 -9
  38. package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -1
  39. package/dist/client/shared/components/ImagesView/SwapView.d.ts +2 -2
  40. package/dist/client/shared/components/ImagesView/SwapView.js +31 -9
  41. package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -1
  42. package/dist/client/shared/components/ImagesView/common.d.ts +1 -1
  43. package/dist/client/shared/components/PageFooter/PageFooter.js +1 -1
  44. package/dist/client/shared/components/PageFooter/PageFooter.js.map +1 -1
  45. package/dist/client/shared/components/PageFooter/Paging.js +1 -1
  46. package/dist/client/shared/components/PageFooter/Paging.js.map +1 -1
  47. package/dist/client/shared/components/PageHeader/ImagePreview.d.ts +2 -2
  48. package/dist/client/shared/components/PageHeader/ImagePreview.js +2 -1
  49. package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -1
  50. package/dist/client/shared/components/PageHeader/PageHeader.js +34 -13
  51. package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -1
  52. package/dist/client/shared/components/ResultsPage.d.ts +2 -2
  53. package/dist/client/shared/components/ResultsPage.js +45 -15
  54. package/dist/client/shared/components/ResultsPage.js.map +1 -1
  55. package/dist/client/shared/creeveyClientApi.js +18 -1
  56. package/dist/client/shared/creeveyClientApi.js.map +1 -1
  57. package/dist/client/shared/helpers.d.ts +1 -3
  58. package/dist/client/shared/helpers.js +4 -19
  59. package/dist/client/shared/helpers.js.map +1 -1
  60. package/dist/client/web/CreeveyApp.d.ts +1 -0
  61. package/dist/client/web/CreeveyApp.js +44 -15
  62. package/dist/client/web/CreeveyApp.js.map +1 -1
  63. package/dist/client/web/CreeveyContext.d.ts +6 -0
  64. package/dist/client/web/CreeveyContext.js +21 -7
  65. package/dist/client/web/CreeveyContext.js.map +1 -1
  66. package/dist/client/web/CreeveyLoader.d.ts +1 -1
  67. package/dist/client/web/CreeveyLoader.js +3 -3
  68. package/dist/client/web/CreeveyLoader.js.map +1 -1
  69. package/dist/client/web/CreeveyView/SideBar/Checkbox.d.ts +4 -4
  70. package/dist/client/web/CreeveyView/SideBar/Checkbox.js +36 -6
  71. package/dist/client/web/CreeveyView/SideBar/Checkbox.js.map +1 -1
  72. package/dist/client/web/CreeveyView/SideBar/Search.js +20 -10
  73. package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -1
  74. package/dist/client/web/CreeveyView/SideBar/SideBar.js +26 -12
  75. package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -1
  76. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js +67 -13
  77. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js.map +1 -1
  78. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +32 -12
  79. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -1
  80. package/dist/client/web/CreeveyView/SideBar/SuiteLink.d.ts +6 -6
  81. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +20 -13
  82. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -1
  83. package/dist/client/web/CreeveyView/SideBar/TestLink.js +20 -13
  84. package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -1
  85. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +2 -2
  86. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js +2 -2
  87. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js.map +1 -1
  88. package/dist/client/web/CreeveyView/SideBar/TestsStatus.d.ts +2 -2
  89. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js +3 -2
  90. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js.map +1 -1
  91. package/dist/client/web/CreeveyView/SideBar/Toggle.js +1 -1
  92. package/dist/client/web/CreeveyView/SideBar/Toggle.js.map +1 -1
  93. package/dist/client/web/KeyboardEventsContext.d.ts +1 -8
  94. package/dist/client/web/KeyboardEventsContext.js +79 -64
  95. package/dist/client/web/KeyboardEventsContext.js.map +1 -1
  96. package/dist/client/web/assets/index-CtSq3IhG.js +518 -0
  97. package/dist/client/web/index.html +1 -1
  98. package/dist/client/web/index.js +26 -11
  99. package/dist/client/web/index.js.map +1 -1
  100. package/dist/client/web/themes.d.ts +2 -0
  101. package/dist/client/web/themes.js +22 -0
  102. package/dist/client/web/themes.js.map +1 -0
  103. package/dist/creevey.d.ts +1 -1
  104. package/dist/creevey.js +122 -41
  105. package/dist/creevey.js.map +1 -1
  106. package/dist/index.d.ts +1 -0
  107. package/dist/playwright/generator.d.ts +25 -0
  108. package/dist/playwright/generator.js +243 -0
  109. package/dist/playwright/generator.js.map +1 -0
  110. package/dist/playwright/helpers.d.ts +2 -0
  111. package/dist/playwright/helpers.js +29 -0
  112. package/dist/playwright/helpers.js.map +1 -0
  113. package/dist/playwright/reporter.d.ts +83 -0
  114. package/dist/playwright/reporter.js +334 -0
  115. package/dist/playwright/reporter.js.map +1 -0
  116. package/dist/playwright/setup.d.ts +3 -0
  117. package/dist/playwright/setup.js +72 -0
  118. package/dist/playwright/setup.js.map +1 -0
  119. package/dist/playwright.d.ts +1 -0
  120. package/dist/playwright.js +3 -1
  121. package/dist/playwright.js.map +1 -1
  122. package/dist/server/compare.d.ts +18 -0
  123. package/dist/server/compare.js +182 -0
  124. package/dist/server/compare.js.map +1 -0
  125. package/dist/server/config.d.ts +3 -3
  126. package/dist/server/config.js +75 -8
  127. package/dist/server/config.js.map +1 -1
  128. package/dist/server/connection.d.ts +3 -0
  129. package/dist/server/connection.js +28 -0
  130. package/dist/server/connection.js.map +1 -0
  131. package/dist/server/docker.d.ts +1 -1
  132. package/dist/server/docker.js +54 -32
  133. package/dist/server/docker.js.map +1 -1
  134. package/dist/server/index.d.ts +2 -2
  135. package/dist/server/index.js +165 -64
  136. package/dist/server/index.js.map +1 -1
  137. package/dist/server/master/api.d.ts +11 -6
  138. package/dist/server/master/api.js +88 -25
  139. package/dist/server/master/api.js.map +1 -1
  140. package/dist/server/master/handlers/capture-handler.d.ts +5 -0
  141. package/dist/server/master/handlers/capture-handler.js +25 -0
  142. package/dist/server/master/handlers/capture-handler.js.map +1 -0
  143. package/dist/server/master/handlers/index.d.ts +4 -0
  144. package/dist/server/master/handlers/index.js +21 -0
  145. package/dist/server/master/handlers/index.js.map +1 -0
  146. package/dist/server/master/handlers/ping-handler.d.ts +2 -0
  147. package/dist/server/master/handlers/ping-handler.js +8 -0
  148. package/dist/server/master/handlers/ping-handler.js.map +1 -0
  149. package/dist/server/master/handlers/static-handler.d.ts +1 -0
  150. package/dist/server/master/handlers/static-handler.js +20 -0
  151. package/dist/server/master/handlers/static-handler.js.map +1 -0
  152. package/dist/server/master/handlers/stories-handler.d.ts +4 -0
  153. package/dist/server/master/handlers/stories-handler.js +24 -0
  154. package/dist/server/master/handlers/stories-handler.js.map +1 -0
  155. package/dist/server/master/master.js +7 -24
  156. package/dist/server/master/master.js.map +1 -1
  157. package/dist/server/master/pool.d.ts +1 -0
  158. package/dist/server/master/pool.js +5 -3
  159. package/dist/server/master/pool.js.map +1 -1
  160. package/dist/server/master/queue.d.ts +1 -1
  161. package/dist/server/master/queue.js +14 -6
  162. package/dist/server/master/queue.js.map +1 -1
  163. package/dist/server/master/runner.d.ts +6 -6
  164. package/dist/server/master/runner.js +98 -130
  165. package/dist/server/master/runner.js.map +1 -1
  166. package/dist/server/master/server.d.ts +1 -1
  167. package/dist/server/master/server.js +193 -88
  168. package/dist/server/master/server.js.map +1 -1
  169. package/dist/server/master/start.d.ts +1 -2
  170. package/dist/server/master/start.js +13 -29
  171. package/dist/server/master/start.js.map +1 -1
  172. package/dist/server/master/testsManager.d.ts +81 -0
  173. package/dist/server/master/testsManager.js +282 -0
  174. package/dist/server/master/testsManager.js.map +1 -0
  175. package/dist/server/playwright/docker-file.d.ts +1 -1
  176. package/dist/server/playwright/docker-file.js +17 -8
  177. package/dist/server/playwright/docker-file.js.map +1 -1
  178. package/dist/server/playwright/docker.d.ts +2 -1
  179. package/dist/server/playwright/docker.js +10 -2
  180. package/dist/server/playwright/docker.js.map +1 -1
  181. package/dist/server/playwright/index-source.mjs +16 -0
  182. package/dist/server/playwright/internal.d.ts +7 -7
  183. package/dist/server/playwright/internal.js +144 -84
  184. package/dist/server/playwright/internal.js.map +1 -1
  185. package/dist/server/playwright/webdriver.d.ts +3 -3
  186. package/dist/server/playwright/webdriver.js +0 -6
  187. package/dist/server/playwright/webdriver.js.map +1 -1
  188. package/dist/server/providers/browser.js +4 -3
  189. package/dist/server/providers/browser.js.map +1 -1
  190. package/dist/server/providers/hybrid.js +2 -2
  191. package/dist/server/providers/hybrid.js.map +1 -1
  192. package/dist/server/report.d.ts +10 -0
  193. package/dist/server/report.js +45 -0
  194. package/dist/server/report.js.map +1 -0
  195. package/dist/server/reporters/creevey.d.ts +7 -0
  196. package/dist/server/reporters/creevey.js +63 -0
  197. package/dist/server/reporters/creevey.js.map +1 -0
  198. package/dist/server/reporters/index.d.ts +2 -0
  199. package/dist/server/reporters/index.js +16 -0
  200. package/dist/server/reporters/index.js.map +1 -0
  201. package/dist/server/reporters/junit.d.ts +16 -0
  202. package/dist/server/reporters/junit.js +167 -0
  203. package/dist/server/reporters/junit.js.map +1 -0
  204. package/dist/server/reporters/teamcity.d.ts +7 -0
  205. package/dist/server/reporters/teamcity.js +60 -0
  206. package/dist/server/reporters/teamcity.js.map +1 -0
  207. package/dist/server/selenium/internal.d.ts +4 -4
  208. package/dist/server/selenium/internal.js +56 -40
  209. package/dist/server/selenium/internal.js.map +1 -1
  210. package/dist/server/selenium/selenoid.js +12 -6
  211. package/dist/server/selenium/selenoid.js.map +1 -1
  212. package/dist/server/selenium/webdriver.d.ts +3 -3
  213. package/dist/server/selenium/webdriver.js +4 -8
  214. package/dist/server/selenium/webdriver.js.map +1 -1
  215. package/dist/server/shutdown.d.ts +1 -0
  216. package/dist/server/shutdown.js +23 -0
  217. package/dist/server/shutdown.js.map +1 -0
  218. package/dist/server/stories.d.ts +0 -1
  219. package/dist/server/stories.js +0 -12
  220. package/dist/server/stories.js.map +1 -1
  221. package/dist/server/telemetry.js +3 -3
  222. package/dist/server/telemetry.js.map +1 -1
  223. package/dist/server/testsFiles/parser.js +45 -5
  224. package/dist/server/testsFiles/parser.js.map +1 -1
  225. package/dist/server/utils.d.ts +23 -0
  226. package/dist/server/utils.js +114 -15
  227. package/dist/server/utils.js.map +1 -1
  228. package/dist/server/webdriver.d.ts +1 -1
  229. package/dist/server/worker/context.d.ts +3 -0
  230. package/dist/server/worker/context.js +15 -0
  231. package/dist/server/worker/context.js.map +1 -0
  232. package/dist/server/worker/match-image.d.ts +8 -12
  233. package/dist/server/worker/match-image.js +11 -178
  234. package/dist/server/worker/match-image.js.map +1 -1
  235. package/dist/server/worker/start.d.ts +2 -2
  236. package/dist/server/worker/start.js +41 -64
  237. package/dist/server/worker/start.js.map +1 -1
  238. package/dist/shared/index.d.ts +1 -1
  239. package/dist/shared/index.js +9 -7
  240. package/dist/shared/index.js.map +1 -1
  241. package/dist/types.d.ts +84 -43
  242. package/dist/types.js +65 -1
  243. package/dist/types.js.map +1 -1
  244. package/docs/cli.md +80 -0
  245. package/docs/config.md +179 -165
  246. package/docs/examples/playwright-reporer/playwright.config.ts +37 -0
  247. package/docs/migration-0.9-to-0.10.md +144 -0
  248. package/docs/playwright-reporter.md +357 -0
  249. package/docs/storybook.md +60 -0
  250. package/docs/tests.md +50 -45
  251. package/package.json +78 -83
  252. package/playwright.config.mts +46 -0
  253. package/src/client/addon/components/Addon.tsx +1 -1
  254. package/src/client/addon/components/Panel.tsx +4 -4
  255. package/src/client/addon/components/TestSelect.tsx +2 -2
  256. package/src/client/addon/components/Tools.tsx +2 -2
  257. package/src/client/addon/controller.ts +4 -4
  258. package/src/client/addon/makeDecorator.ts +69 -0
  259. package/src/client/addon/manager.ts +38 -37
  260. package/src/client/addon/preset.ts +2 -1
  261. package/src/client/addon/withCreevey.ts +16 -19
  262. package/src/client/shared/components/ImagesView/BlendView.tsx +1 -1
  263. package/src/client/shared/components/ImagesView/ImagesView.tsx +1 -1
  264. package/src/client/shared/components/ImagesView/SideBySideView.tsx +2 -2
  265. package/src/client/shared/components/ImagesView/SlideView.tsx +2 -2
  266. package/src/client/shared/components/ImagesView/SwapView.tsx +20 -2
  267. package/src/client/shared/components/ImagesView/common.ts +1 -1
  268. package/src/client/shared/components/PageFooter/PageFooter.tsx +1 -1
  269. package/src/client/shared/components/PageFooter/Paging.tsx +1 -1
  270. package/src/client/shared/components/PageHeader/ImagePreview.tsx +2 -1
  271. package/src/client/shared/components/PageHeader/PageHeader.tsx +23 -7
  272. package/src/client/shared/components/ResultsPage.tsx +33 -10
  273. package/src/client/shared/creeveyClientApi.ts +19 -1
  274. package/src/client/shared/helpers.ts +4 -24
  275. package/src/client/web/CreeveyApp.tsx +30 -9
  276. package/src/client/web/CreeveyContext.tsx +11 -0
  277. package/src/client/web/CreeveyLoader.tsx +2 -2
  278. package/src/client/web/CreeveyView/SideBar/Checkbox.tsx +3 -3
  279. package/src/client/web/CreeveyView/SideBar/Search.tsx +4 -4
  280. package/src/client/web/CreeveyView/SideBar/SideBar.tsx +11 -6
  281. package/src/client/web/CreeveyView/SideBar/SideBarFooter.tsx +48 -15
  282. package/src/client/web/CreeveyView/SideBar/SideBarHeader.tsx +20 -5
  283. package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +12 -12
  284. package/src/client/web/CreeveyView/SideBar/TestLink.tsx +10 -10
  285. package/src/client/web/CreeveyView/SideBar/TestStatusIcon.tsx +2 -2
  286. package/src/client/web/CreeveyView/SideBar/TestsStatus.tsx +3 -2
  287. package/src/client/web/CreeveyView/SideBar/Toggle.tsx +1 -1
  288. package/src/client/web/KeyboardEventsContext.tsx +61 -73
  289. package/src/client/web/index.tsx +10 -5
  290. package/src/client/web/themes.ts +24 -0
  291. package/src/creevey.ts +92 -38
  292. package/src/playwright/generator.ts +322 -0
  293. package/src/playwright/helpers.ts +31 -0
  294. package/src/playwright/reporter.ts +381 -0
  295. package/src/playwright/setup.ts +84 -0
  296. package/src/playwright.ts +1 -0
  297. package/src/server/compare.ts +260 -0
  298. package/src/server/config.ts +52 -9
  299. package/src/server/connection.ts +26 -0
  300. package/src/server/docker.ts +62 -34
  301. package/src/server/index.ts +166 -79
  302. package/src/server/master/api.ts +94 -28
  303. package/src/server/master/handlers/capture-handler.ts +20 -0
  304. package/src/server/master/handlers/index.ts +4 -0
  305. package/src/server/master/handlers/ping-handler.ts +6 -0
  306. package/src/server/master/handlers/static-handler.ts +16 -0
  307. package/src/server/master/handlers/stories-handler.ts +20 -0
  308. package/src/server/master/master.ts +10 -27
  309. package/src/server/master/pool.ts +7 -3
  310. package/src/server/master/queue.ts +21 -7
  311. package/src/server/master/runner.ts +123 -134
  312. package/src/server/master/server.ts +214 -101
  313. package/src/server/master/start.ts +19 -41
  314. package/src/server/master/testsManager.ts +316 -0
  315. package/src/server/playwright/docker-file.ts +20 -8
  316. package/src/server/playwright/docker.ts +16 -3
  317. package/src/server/playwright/index-source.mjs +16 -0
  318. package/src/server/playwright/internal.ts +176 -103
  319. package/src/server/playwright/webdriver.ts +4 -10
  320. package/src/server/providers/browser.ts +4 -3
  321. package/src/server/providers/hybrid.ts +2 -3
  322. package/src/server/report.ts +51 -0
  323. package/src/server/reporters/creevey.ts +71 -0
  324. package/src/server/reporters/index.ts +11 -0
  325. package/src/server/reporters/junit.ts +207 -0
  326. package/src/server/reporters/teamcity.ts +74 -0
  327. package/src/server/selenium/internal.ts +70 -53
  328. package/src/server/selenium/selenoid.ts +13 -6
  329. package/src/server/selenium/webdriver.ts +8 -12
  330. package/src/server/shutdown.ts +19 -0
  331. package/src/server/stories.ts +1 -12
  332. package/src/server/telemetry.ts +3 -3
  333. package/src/server/testsFiles/parser.ts +52 -4
  334. package/src/server/utils.ts +124 -16
  335. package/src/server/webdriver.ts +1 -1
  336. package/src/server/worker/context.ts +14 -0
  337. package/src/server/worker/match-image.ts +16 -248
  338. package/src/server/worker/start.ts +49 -79
  339. package/src/shared/index.ts +10 -8
  340. package/src/types.ts +91 -58
  341. package/types/global.d.ts +1 -0
  342. package/dist/client/web/assets/index-DB8lHlJw.js +0 -591
  343. package/dist/server/reporter.d.ts +0 -26
  344. package/dist/server/reporter.js +0 -108
  345. package/dist/server/reporter.js.map +0 -1
  346. package/dist/server/update.d.ts +0 -2
  347. package/dist/server/update.js +0 -53
  348. package/dist/server/update.js.map +0 -1
  349. package/src/server/reporter.ts +0 -139
  350. package/src/server/update.ts +0 -74
@@ -141,11 +141,13 @@ class InternalBrowser {
141
141
  #browser;
142
142
  #serverHost = null;
143
143
  #serverPort;
144
+ #storybookGlobals;
144
145
  #unsubscribe = types_js_1.noop;
145
146
  #keepAliveInterval = null;
146
- constructor(browser, port) {
147
+ constructor(browser, port, storybookGlobals) {
147
148
  this.#browser = browser;
148
149
  this.#serverPort = port;
150
+ this.#storybookGlobals = storybookGlobals;
149
151
  this.#unsubscribe = (0, messages_js_1.subscribeOn)('shutdown', () => {
150
152
  void this.closeBrowser();
151
153
  });
@@ -188,7 +190,7 @@ class InternalBrowser {
188
190
  else {
189
191
  (0, logger_js_1.logger)().debug(`Checking is element ${chalk_1.default.cyan(captureElement)} fit into viewport`);
190
192
  const rects = await this.#browser.executeScript(function (selector) {
191
- window.scrollTo(0, 0); // TODO Maybe we should remove same code from `resetMousePosition`
193
+ window.scrollTo(0, 0);
192
194
  // eslint-disable-next-line no-var
193
195
  var element = document.querySelector(selector);
194
196
  if (!element)
@@ -204,9 +206,7 @@ class InternalBrowser {
204
206
  },
205
207
  // NOTE page_Offset is used only for IE9-11
206
208
  windowRect: {
207
- // eslint-disable-next-line @typescript-eslint/no-deprecated
208
209
  top: Math.round(window.scrollY || window.pageYOffset),
209
- // eslint-disable-next-line @typescript-eslint/no-deprecated
210
210
  left: Math.round(window.scrollX || window.pageXOffset),
211
211
  width: window.innerWidth,
212
212
  height: window.innerHeight,
@@ -228,12 +228,10 @@ class InternalBrowser {
228
228
  // ? context
229
229
  // ? await context.captureElementScreenshot(await element.getId())
230
230
  // : await browser.findElement(By.css(captureElement)).takeScreenshot()
231
- // : // TODO pointer-events: none, need to research
232
- // await takeCompositeScreenshot(browser, windowRect, elementRect);
231
+ // : await takeCompositeScreenshot(browser, windowRect, elementRect);
233
232
  screenshot = isFitIntoViewport
234
233
  ? await this.#browser.findElement(selenium_webdriver_1.By.css(captureElement)).takeScreenshot()
235
- : // TODO pointer-events: none, need to research
236
- await this.takeCompositeScreenshot(windowRect, elementRect);
234
+ : await this.takeCompositeScreenshot(windowRect, elementRect);
237
235
  (0, logger_js_1.logger)().debug(`${chalk_1.default.cyan(captureElement)} is captured`);
238
236
  }
239
237
  }
@@ -251,6 +249,7 @@ class InternalBrowser {
251
249
  }
252
250
  async selectStory(id, waitForReady = false) {
253
251
  // NOTE: Global variables might be reset after hot reload. I think it's workaround, maybe we need better solution
252
+ await this.updateStorybookGlobals();
254
253
  await this.updateBrowserGlobalVariables();
255
254
  await this.resetMousePosition();
256
255
  (0, logger_js_1.logger)().debug(`Triggering 'SetCurrentStory' event with storyId ${chalk_1.default.magenta(id)}`);
@@ -278,9 +277,27 @@ class InternalBrowser {
278
277
  }, story.id, updatedArgs, types_js_1.StorybookEvents.UPDATE_STORY_ARGS, types_js_1.StorybookEvents.STORY_RENDERED);
279
278
  }
280
279
  async loadStoriesFromBrowser() {
281
- const stories = await this.#browser.executeAsyncScript(function (callback) {
282
- void window.__CREEVEY_GET_STORIES__().then(callback);
280
+ const result = await this.#browser.executeAsyncScript(function (callback) {
281
+ window
282
+ .__CREEVEY_GET_STORIES__()
283
+ .then((stories) => {
284
+ callback([null, stories]);
285
+ })
286
+ .catch((error) => {
287
+ const errorInfo = {
288
+ message: error instanceof Error ? error.message : String(error),
289
+ stack: error instanceof Error ? error.stack : undefined,
290
+ };
291
+ callback([errorInfo]);
292
+ });
283
293
  });
294
+ const [error, stories] = result;
295
+ if (error) {
296
+ const errorObj = new Error(error.message);
297
+ if (error.stack)
298
+ errorObj.stack = error.stack;
299
+ throw errorObj;
300
+ }
284
301
  if (!stories)
285
302
  throw new Error("Can't get stories, it seems creevey or storybook API isn't available");
286
303
  return stories;
@@ -298,12 +315,14 @@ class InternalBrowser {
298
315
  }
299
316
  static async getBrowser(browserName, gridUrl, config, options) {
300
317
  const browserConfig = config.browsers[browserName];
301
- const { storybookUrl: address = config.storybookUrl, limit, viewport, _storybookGlobals } = browserConfig;
318
+ const { storybookUrl: address = config.storybookUrl, limit, viewport,
319
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
320
+ _storybookGlobals, storybookGlobals = _storybookGlobals, } = browserConfig;
302
321
  void limit;
303
322
  const browser = await buildWebdriver(browserName, gridUrl, config, options);
304
323
  if (!browser)
305
324
  return null;
306
- const internalBrowser = new InternalBrowser(browser, options.port);
325
+ const internalBrowser = new InternalBrowser(browser, options.port, storybookGlobals);
307
326
  try {
308
327
  if (utils_js_1.isShuttingDown.current)
309
328
  return null;
@@ -312,8 +331,6 @@ class InternalBrowser {
312
331
  gridUrl,
313
332
  viewport,
314
333
  storybookUrl: address,
315
- storybookGlobals: _storybookGlobals,
316
- resolveStorybookUrl: config.resolveStorybookUrl,
317
334
  });
318
335
  return done ? internalBrowser : null;
319
336
  }
@@ -327,7 +344,7 @@ class InternalBrowser {
327
344
  return null;
328
345
  }
329
346
  }
330
- async init({ browserName, gridUrl, viewport, storybookUrl, storybookGlobals, resolveStorybookUrl, }) {
347
+ async init({ browserName, gridUrl, viewport, storybookUrl, }) {
331
348
  const sessionId = (await this.#browser.getSession()).getId();
332
349
  let browserHost = '';
333
350
  try {
@@ -347,9 +364,9 @@ class InternalBrowser {
347
364
  (0, logger_js_1.logger)().debug(`Connected successful with ${chalk_1.default.green(browserHost)}`);
348
365
  return await (0, utils_js_1.runSequence)([
349
366
  () => this.#browser.manage().setTimeouts({ pageLoad: 60000, script: 60000 }),
350
- () => this.openStorybookPage(storybookUrl, resolveStorybookUrl),
367
+ () => this.openStorybookPage(storybookUrl),
351
368
  () => this.waitForStorybook(),
352
- () => this.updateStorybookGlobals(storybookGlobals),
369
+ () => this.updateStorybookGlobals(),
353
370
  () => this.resolveCreeveyHost(),
354
371
  () => this.updateBrowserGlobalVariables(),
355
372
  // NOTE: Selenium draws automation toolbar with some delay after webdriver initialization
@@ -361,22 +378,13 @@ class InternalBrowser {
361
378
  },
362
379
  ], () => !this.#isShuttingDown);
363
380
  }
364
- async openStorybookPage(storybookUrl, resolver) {
381
+ async openStorybookPage(storybookUrl) {
365
382
  if (!webdriver_js_1.LOCALHOST_REGEXP.test(storybookUrl)) {
366
383
  return this.#browser.get((0, webdriver_js_1.appendIframePath)(storybookUrl));
367
384
  }
368
385
  try {
369
- if (resolver) {
370
- (0, logger_js_1.logger)().debug('Resolving storybook url with custom resolver');
371
- const resolvedUrl = await resolver();
372
- (0, logger_js_1.logger)().debug(`Resolver storybook url ${resolvedUrl}`);
373
- await this.#browser.get((0, webdriver_js_1.appendIframePath)(resolvedUrl));
374
- }
375
- else {
376
- // TODO Pageload timeout 10s
377
- // NOTE: getUrlChecker already calls `browser.get` so we don't need another one
378
- await (0, webdriver_js_1.resolveStorybookUrl)((0, webdriver_js_1.appendIframePath)(storybookUrl), (url) => this.checkUrl(url));
379
- }
386
+ // NOTE: getUrlChecker already calls `browser.get` so we don't need another one
387
+ await (0, webdriver_js_1.resolveStorybookUrl)((0, webdriver_js_1.appendIframePath)(storybookUrl), (url) => this.checkUrl(url));
380
388
  }
381
389
  catch (error) {
382
390
  (0, logger_js_1.logger)().error('Failed to resolve storybook URL', error instanceof Error ? error.message : '');
@@ -405,7 +413,7 @@ class InternalBrowser {
405
413
  }
406
414
  }
407
415
  async waitForStorybook() {
408
- (0, logger_js_1.logger)().debug('Waiting for `setStories` event to make sure that storybook is initiated');
416
+ (0, logger_js_1.logger)().debug('Waiting for Storybook to initiate');
409
417
  const isTimeout = await Promise.race([
410
418
  new Promise((resolve) => {
411
419
  setTimeout(() => {
@@ -417,9 +425,6 @@ class InternalBrowser {
417
425
  do {
418
426
  // TODO Research a different way to ensure storybook is initiated
419
427
  wait = await this.#browser.executeScript(function (SET_GLOBALS) {
420
- // TODO Maybe use
421
- // import { global } from '@storybook/global';
422
- // global.IS_STORYBOOK
423
428
  if (typeof window.__STORYBOOK_ADDONS_CHANNEL__ == 'undefined')
424
429
  return true;
425
430
  if (window.__STORYBOOK_ADDONS_CHANNEL__.last(SET_GLOBALS) == undefined)
@@ -430,20 +435,21 @@ class InternalBrowser {
430
435
  return false;
431
436
  })(),
432
437
  ]);
433
- // TODO Change the message to describe a reason why it might happen
434
438
  if (isTimeout)
435
- throw new Error('Failed to wait `setStories` event');
439
+ throw new Error('Failed to wait Storybook init');
436
440
  }
437
- async updateStorybookGlobals(globals) {
438
- if (!globals)
441
+ async updateStorybookGlobals() {
442
+ if (!this.#storybookGlobals)
439
443
  return;
440
444
  (0, logger_js_1.logger)().debug('Applying storybook globals');
441
445
  await this.#browser.executeScript(function (globals) {
442
446
  window.__CREEVEY_UPDATE_GLOBALS__(globals);
443
- }, globals);
447
+ }, this.#storybookGlobals);
444
448
  }
445
449
  async resolveCreeveyHost() {
446
- const addresses = (0, webdriver_js_1.getAddresses)();
450
+ const storybookUrl = await this.#browser.getCurrentUrl();
451
+ const storybookHost = new URL(storybookUrl).hostname;
452
+ const addresses = [storybookHost, ...(0, webdriver_js_1.getAddresses)()];
447
453
  this.#serverHost = await this.#browser.executeAsyncScript(function (hosts, port, callback) {
448
454
  void Promise.all(hosts.map(function (host) {
449
455
  return Promise.race([
@@ -472,6 +478,7 @@ class InternalBrowser {
472
478
  }
473
479
  async updateBrowserGlobalVariables() {
474
480
  await this.#browser.executeScript(function (workerId, creeveyHost, creeveyPort) {
481
+ window.__CREEVEY_ENV__ = true;
475
482
  window.__CREEVEY_WORKER_ID__ = workerId;
476
483
  window.__CREEVEY_SERVER_HOST__ = creeveyHost;
477
484
  window.__CREEVEY_SERVER_PORT__ = creeveyPort;
@@ -631,8 +638,17 @@ class InternalBrowser {
631
638
  keepAlive() {
632
639
  this.#keepAliveInterval = setInterval(() => {
633
640
  // NOTE Simple way to keep session alive
634
- void this.#browser.getCurrentUrl().then((url) => {
641
+ void this.#browser
642
+ .getCurrentUrl()
643
+ .then((url) => {
635
644
  (0, logger_js_1.logger)().debug('current url', chalk_1.default.magenta(url));
645
+ })
646
+ .catch((error) => {
647
+ (0, logger_js_1.logger)().error(error);
648
+ (0, messages_js_1.emitWorkerMessage)({
649
+ type: 'error',
650
+ payload: { subtype: 'browser', error: 'Failed to ping browser' },
651
+ });
636
652
  });
637
653
  }, 10 * 1000);
638
654
  }
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/server/selenium/internal.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,gDAAwB;AACxB,kDAA0B;AAC1B,wDAA8B;AAC9B,oFAA4C;AAC5C,iCAA4B;AAC5B,2DAAuG;AACvG,gEAAgE;AAChE,oEAAoE;AACpE,wEAAwE;AACxE,wEAAwE;AACxE,0EAA0E;AAC1E,4EAA0E;AAC1E,6CAUwB;AACxB,4CAA8C;AAC9C,gDAA6C;AAC7C,0CAAuE;AACvE,kDAMyB;AASzB,8DAA8D;AAC9D,4EAA4E;AAE5E,SAAS,cAAc,CAAC,IAAY,EAAE,SAAS,GAAG,EAAE;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,QAAQ,GAAG,SAAS,SAAS,EAAE,CAAC;IAExC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACrC,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,CAAC,CAAC,cAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5E,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,SAAS,kBAAkB,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7G,OAAO;QACT,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;QACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CACJ,IAAI,KAAK,CACP,iCAAiC,SAAS,KACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,KAC7D,EAAE,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,OAAkB,EAClB,GAAW,EACX,SAAsC;IAEtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,GAAG,CAAC;QACF,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,0FAA0F;QAC5F,CAAC;IACH,CAAC,QAAQ,SAAS,CAAC,MAAM,CAAC,EAAE;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,OAAe,EACf,MAAc,EACd,OAAgB;IAEhB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAwB,CAAC;IACtE,MAAM,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;IAElF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,0BAA0B,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1E,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,iCAAY,CAAC;QACpC,WAAW;QACX,GAAG,oBAAoB;QACvB,gBAAgB,EAAE,kCAAgB,CAAC,KAAK;KACzC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,4BAAO,CAAC,WAAW,EAAE,CAAC;IAExC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,4BAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,QAAQ,CAAC,IAAc,EAAE,4BAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,iDAAiD;IACjD,8BAA8B;IAE9B,IAAI,SAA2B,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,GAAG,CAAC;YACF,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC7B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5B,UAAU,CAAC,GAAG,EAAE;wBACd,OAAO,IAAI,CAAC,CAAC;wBACb,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,EAAE,OAAO,CAAC,CAAC;gBACd,CAAC,CAAC;gBACF,CAAC,KAAK,IAAI,EAAE;oBACV,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBAChB,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,0DAA0D,OAAO,OAAO,UAAU,EAAE,CAAC,CAAC;oBACvG,CAAC;oBACD,MAAM,KAAK,GAAG,OAAO,CAAC;oBACtB,8BAA8B;oBAC9B,kCAAkC;oBAClC,sCAAsC;oBACtC,sCAAsC;oBACtC,wCAAwC;oBACxC,qBAAqB;oBACrB,uBAAuB;oBACvB,wBAAwB;oBAExB,MAAM,MAAM,GAAG,MAAM,IAAI,4BAAO,EAAE;wBAChC,oBAAoB;wBACpB,wBAAwB;wBACxB,4BAA4B;wBAC5B,4BAA4B;wBAC5B,8BAA8B;yBAC7B,WAAW,CAAC,OAAO,CAAC;yBACpB,gBAAgB,CAAC,YAAY,CAAC;yBAC9B,eAAe,CAAC,KAAK,CAAC,CAAC,uBAAuB;yBAC9C,KAAK,EAAE,CAAC;oBAEX,6CAA6C;oBAC7C,sEAAsE;oBAEtE,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;wBACrB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC,EAAE;aACL,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,MAAM;QACvB,CAAC,QAAQ,OAAO,GAAG,UAAU,EAAE;QAE/B,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAa,eAAe;IAC1B,eAAe,GAAG,KAAK,CAAC;IACxB,QAAQ,CAAY;IACpB,WAAW,GAAkB,IAAI,CAAC;IAClC,WAAW,CAAS;IACpB,YAAY,GAAe,eAAI,CAAC;IAChC,kBAAkB,GAA0B,IAAI,CAAC;IACjD,YAAY,OAAkB,EAAE,IAAY;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAA,yBAAW,EAAC,UAAU,EAAE,GAAG,EAAE;YAC/C,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;YAAE,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE7E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,UAAU;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,cAA8B,EAAE,cAAyC;QAC5F,IAAI,UAA2B,CAAC;QAEhC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAEnE,IAAI,IAAA,kBAAM,GAAE,CAAC,QAAQ,EAAE,IAAI,kBAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAGlE;gBACD,OAAO;oBACL,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,qBAAqB,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAChD,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAClD,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,uBAAuB,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;gBACtF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAE7C,UAAU,QAAgB;oBAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kEAAkE;oBACzF,kCAAkC;oBAClC,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,CAAC,OAAO;wBAAE,OAAO;oBAErB,kCAAkC;oBAClC,IAAI,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBAElD,OAAO;wBACL,WAAW,EAAE;4BACX,GAAG,EAAE,WAAW,CAAC,GAAG;4BACpB,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,KAAK,EAAE,WAAW,CAAC,KAAK;4BACxB,MAAM,EAAE,WAAW,CAAC,MAAM;yBAC3B;wBACD,2CAA2C;wBAC3C,UAAU,EAAE;4BACV,4DAA4D;4BAC5D,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC;4BACrD,4DAA4D;4BAC5D,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC;4BACtD,KAAK,EAAE,MAAM,CAAC,UAAU;4BACxB,MAAM,EAAE,MAAM,CAAC,WAAW;yBAC3B;qBACF,CAAC;gBACJ,CAAC,EAAE,cAAc,CAAC,CAAC;gBACnB,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;gBAEhD,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,cAAc,GAAG,CAAC,CAAC;gBAE7G,MAAM,iBAAiB,GACrB,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK;oBACxD,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;gBAE5D,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAA,kBAAM,GAAE,CAAC,KAAK,CACZ,aAAa,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAChG,CAAC;gBACJ,CAAC;;oBACC,IAAA,kBAAM,GAAE,CAAC,KAAK,CACZ,2CAA2C,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAC9H,CAAC;gBAEJ,qEAAqE;gBACrE,iCAAiC;gBACjC,cAAc;gBACd,sEAAsE;gBACtE,2EAA2E;gBAC3E,qDAAqD;gBACrD,uEAAuE;gBACvE,UAAU,GAAG,iBAAiB;oBAC5B,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,uBAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,EAAE;oBAC1E,CAAC,CAAC,8CAA8C;wBAC9C,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAEhE,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzF,CAAC;IAED,eAAe,CAAC,QAAwC;QACtD,KAAK,IAAI,CAAC,QAAQ;aACf,kBAAkB,CAAU,UAAU,QAAwC;YAC7E,KAAK,MAAM,CAAC,kCAAkC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC,CAAC;aACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,YAAY,GAAG,KAAK;QAChD,iHAAiH;QACjH,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,mDAAmD,eAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEvF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACnD,UACE,OAAe,EACf,kBAA2B,EAC3B,QAAgF;YAEhF,IAAI,OAAO,MAAM,CAAC,wBAAwB,IAAI,WAAW,EAAE,CAAC;gBAC1D,QAAQ,CAAC;oBACP,+JAA+J;iBAChK,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnF,CAAC,EACD,EAAE,EACF,YAAY,CACb,CAAC;QAEF,MAAM,CAAC,YAAY,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;QAE7D,IAAI,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAiB,EAAE,WAAiB;QACxD,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACpC,UACE,OAAe,EACf,WAAiB,EACjB,iBAAyB,EACzB,cAAsB,EACtB,QAAoB;YAEpB,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACnE,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC1D,OAAO;gBACP,WAAW;aACZ,CAAC,CAAC;QACL,CAAC,EACD,KAAK,CAAC,EAAE,EACR,WAAW,EACX,0BAAe,CAAC,iBAAiB,EACjC,0BAAe,CAAC,cAAc,CAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAyB,UAC7E,QAAmD;YAEnD,KAAK,MAAM,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAEtG,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAgB;QAC9B,IAAI,IAAA,kBAAM,GAAE,CAAC,QAAQ,EAAE,KAAK,kBAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;YACD,IAAA,kBAAM,GAAE,CAAC,KAAK,CACZ,YAAY,EACZ,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,cAAc,EACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACjB,wGAAwG,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,WAAmB,EACnB,OAAe,EACf,MAAc,EACd,OAAgB;QAEhB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAwB,CAAC;QAC1E,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;QAC1G,KAAK,KAAK,CAAC;QAEX,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,IAAI,yBAAc,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAExC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC;gBACtC,WAAW;gBACX,OAAO;gBACP,QAAQ;gBACR,YAAY,EAAE,OAAO;gBACrB,gBAAgB,EAAE,iBAAiB;gBACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;aAChD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACvB,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;YAEpC,MAAM,OAAO,GACX,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,aAAa,IAAI,eAAe,CAAY,CAAC;YAC1G,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,aAAa,YAAY,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAEtE,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEtB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,EACjB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,GAQpB;QACC,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7D,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,IAAI,QAAQ;gBAAE,WAAW,GAAG,IAAI,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;QAED,gCAAM,CAAC,KAAK,CAAC,IAAA,kBAAM,GAAE,EAAE;YACrB,MAAM,CAAC,KAAK;gBACV,MAAM,UAAU,GAAG,kBAAM,CAAC,KAAK,CAAC,WAAW,EAAyB,CAAC,CAAC;gBACtE,OAAO,IAAI,WAAW,IAAI,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACxG,CAAC;SACF,CAAC,CAAC;QAEH,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,6BAA6B,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAExE,OAAO,MAAM,IAAA,sBAAW,EACtB;YACE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC5E,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,mBAAmB,CAAC;YAC/D,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;YACnD,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACzC,yFAAyF;YACzF,6FAA6F;YAC7F,iGAAiG;YACjG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACnC,GAAG,EAAE;gBACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;SACF,EACD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAC5B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,QAAgC;QACpF,IAAI,CAAC,+BAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAA,+BAAgB,EAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAE/D,MAAM,WAAW,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAErC,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;gBAExD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAA,+BAAgB,EAAC,WAAW,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,4BAA4B;gBAC5B,+EAA+E;gBAC/E,MAAM,IAAA,kCAAmB,EAAC,IAAA,+BAAgB,EAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,GAAW;QAChC,IAAI,CAAC;YACH,uDAAuD;YACvD,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,WAAW,eAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM,2BAA2B,CAC/B,IAAI,CAAC,QAAQ,EACb,aAAa,EACb,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CACtD,CAAC;YACF,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,WAAW,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAC9C,IAAI,CAAC,QAAQ,EACb,GAAG;YACH,iDAAiD;YACjD,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CACnF,CAAC;YACF,wEAAwE;YACxE,sDAAsD;YACtD,6FAA6F;YAC7F,wDAAwD;YACxD,kCAAkC;YAClC,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,YAAY,eAAK,CAAC,IAAI,CAAC,IAAI,8BAAe,EAAE,CAAC,iBAAiB,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,8BAAe,GAAG,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAE1F,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACnC,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBAC/B,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC,CAAC;YACF,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,IAAI,GAAG,IAAI,CAAC;gBAChB,GAAG,CAAC;oBACF,iEAAiE;oBACjE,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAU,UAAU,WAAmB;wBAC7E,iBAAiB;wBACjB,8CAA8C;wBAC9C,sBAAsB;wBACtB,IAAI,OAAO,MAAM,CAAC,4BAA4B,IAAI,WAAW;4BAAE,OAAO,IAAI,CAAC;wBAC3E,IAAI,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,SAAS;4BAAE,OAAO,IAAI,CAAC;wBACpF,OAAO,KAAK,CAAC;oBACf,CAAC,EAAE,0BAAe,CAAC,WAAW,CAAC,CAAC;gBAClC,CAAC,QAAQ,IAAI,EAAE;gBACf,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EAAE;SACL,CAAC,CAAC;QAEH,mEAAmE;QACnE,IAAI,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAA0B;QAC7D,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,OAAyB;YACnE,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;QAEjC,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACvD,UAAU,KAAe,EAAE,IAAY,EAAE,QAAwC;YAC/E,KAAK,OAAO,CAAC,GAAG,CACd,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI;gBACtB,OAAO,OAAO,CAAC,IAAI,CAAC;oBAClB,qEAAqE;oBACrE,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;wBACpE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACzB,CAAC,CAAC;oBACF,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;wBAC/B,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC3B,CAAC,CAAC;iBACH,CAAC;qBACC,IAAI,CAAC,UAAU,IAAI;oBAClB,OAAO,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtC,CAAC,CAAC;qBACD,KAAK,CAAC;oBACL,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,UAAU,KAAK;gBACpB,QAAQ,CACN,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI;oBACvB,OAAO,IAAI,IAAI,IAAI,CAAC;gBACtB,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EACD,SAAS,EACT,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC7F,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAC/B,UAAU,QAAgB,EAAE,WAAmB,EAAE,WAAmB;YAClE,MAAM,CAAC,qBAAqB,GAAG,QAAQ,CAAC;YACxC,MAAM,CAAC,uBAAuB,GAAG,WAAW,CAAC;YAC7C,MAAM,CAAC,uBAAuB,GAAG,WAAW,CAAC;QAC/C,CAAC,EACD,OAAO,CAAC,GAAG,EACX,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAA4C;QACvE,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CACnE;YACE,OAAO;gBACL,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,0BAA0B,UAAU,IAAI,WAAW,OAAO,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9G,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC;QAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;QAChD,MAAM,IAAI,CAAC,QAAQ;aAChB,MAAM,EAAE;aACR,MAAM,EAAE;aACR,OAAO,CAAC;YACP,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,MAAM;YAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,OAAO;SAClC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;QAC7E,MAAM,CAAC,cAAc,CAAC,GACpB,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC;YACtE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAwB,EAAE,KAAK,CAAC,GAAG,CAAC;YAC1F,EAAE,CAAC;QAEL,4EAA4E;QAC5E,IAAI,WAAW,IAAI,QAAQ,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YACtD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAc;gBAClF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAEvD,OAAO;oBACL,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,0EAA0E;YAC1E,MAAM,IAAI,CAAC,QAAQ;iBAChB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBACzB,IAAI,CAAC;gBACJ,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,uBAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjD,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;gBACrC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;aACtC,CAAC;iBACD,OAAO,EAAE,CAAC;QACf,CAAC;aAAM,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YACpC,uFAAuF;YACvF,yEAAyE;YACzE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,2BAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,+FAA+F;YAC/F,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,2BAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACxF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,cAAyC;QACxE,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/E,IAAI,CAAC,eAAe,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzC,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAE3D,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,eAAyB;YAC1E,OAAO,MAAM,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;QAClE,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,UAAuB,EAAE,WAAwB;QACrF,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,sDAAsD;QACtD,MAAM,qBAAqB,GAAG;YAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI;YACxC,KAAK,EAAE,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;YAC7D,GAAG,EAAE,WAAW,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG;YACrC,MAAM,EAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG;SAC9D,CAAC;QACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC;QAC7F,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC;QAC5F,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAChF,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CACvG,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CACtG,CAAC;QAEF,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACvC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CACjB,aAAa,GAAG,GAAG,GAAG,qBAAqB,CAAC,IAAI,EAChD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,CAAC,KAAK,GAAG,aAAa,CAAC,CACzD,CAAC;gBACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CACjB,cAAc,GAAG,GAAG,GAAG,qBAAqB,CAAC,GAAG,EAChD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,CAAC,MAAM,GAAG,cAAc,CAAC,CAC3D,CAAC;gBACF,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAC/B,UAAU,CAAS,EAAE,CAAS;oBAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,CAAC,EACD,EAAE,EACF,EAAE,CACH,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,IAAI,WAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,eAAe,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAC1F,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,CAAC;gBACL,2CAA2C;gBAC3C,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC;oBACjF,qCAAqC;oBACrC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;gBACvC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,WAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,YAA+B;QAC9D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,YAA8B;gBACxE,MAAM,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,sEAAsE;IAC9D,KAAK,CAAC,YAAY;QACxB,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;QAC7E,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEvG,OAAO,CACL,WAAW,IAAI,QAAQ;YACvB,kDAAkD;YAClD,CAAC,CAAC,WAAW,IAAI,SAAS,IAAI,cAAc,IAAI,IAAI,CAAC,CACtD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAS;YAC/D,kCAAkC;YAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,qDAAqD;YAC1E,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,kCAAkC;YAClC,IAAI,SAAS,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE/B,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;YACzC,wCAAwC;YACxC,KAAK,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9C,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,aAAa,EAAE,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChB,CAAC;CACF;AA1oBD,0CA0oBC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/server/selenium/internal.ts"],"names":[],"mappings":"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"}
@@ -9,18 +9,18 @@ const path_1 = __importDefault(require("path"));
9
9
  const assert_1 = __importDefault(require("assert"));
10
10
  const fs_1 = require("fs");
11
11
  const promises_1 = require("fs/promises");
12
- const shelljs_1 = __importDefault(require("shelljs"));
12
+ const shelljs_1 = require("shelljs");
13
13
  const utils_js_1 = require("../utils.js");
14
14
  const docker_js_1 = require("../docker.js");
15
15
  const messages_js_1 = require("../messages.js");
16
+ const context_js_1 = require("../worker/context.js");
16
17
  async function createSelenoidConfig(browsers, { useDocker }) {
17
18
  const selenoidConfig = {};
18
19
  const cacheDir = await (0, utils_js_1.getCreeveyCache)();
19
20
  (0, assert_1.default)(cacheDir, "Couldn't get cache directory");
20
21
  const selenoidConfigDir = path_1.default.join(cacheDir, 'selenoid');
21
22
  browsers.forEach(({ browserName, seleniumCapabilities: { browserVersion = 'latest' } = {}, dockerImage = `selenoid/${browserName}:${browserVersion}`, webdriverCommand = [], }) => {
22
- if (!selenoidConfig[browserName])
23
- selenoidConfig[browserName] = { default: browserVersion, versions: {} };
23
+ selenoidConfig[browserName] ??= { default: browserVersion, versions: {} };
24
24
  if (!useDocker && webdriverCommand.length == 0)
25
25
  throw new Error('Please specify "webdriverCommand" browser option with path to browser webdriver');
26
26
  selenoidConfig[browserName].versions[browserVersion] = {
@@ -68,12 +68,12 @@ async function startSelenoidStandalone(config, debug) {
68
68
  // TODO Download browser webdrivers
69
69
  try {
70
70
  if (process.platform != 'win32')
71
- shelljs_1.default.chmod('+x', binaryPath);
71
+ (0, shelljs_1.chmod)('+x', binaryPath);
72
72
  }
73
73
  catch {
74
74
  /* noop */
75
75
  }
76
- const selenoidProcess = shelljs_1.default.exec(`${binaryPath} -conf ./browsers.json -disable-docker`, {
76
+ const selenoidProcess = (0, shelljs_1.exec)(`${binaryPath} -conf ./browsers.json -disable-docker`, {
77
77
  async: true,
78
78
  cwd: selenoidConfigDir,
79
79
  });
@@ -81,7 +81,10 @@ async function startSelenoidStandalone(config, debug) {
81
81
  selenoidProcess.stdout?.pipe(process.stdout);
82
82
  selenoidProcess.stderr?.pipe(process.stderr);
83
83
  }
84
- (0, messages_js_1.subscribeOn)('shutdown', () => selenoidProcess.kill());
84
+ (0, messages_js_1.subscribeOn)('shutdown', () => {
85
+ if (selenoidProcess.pid)
86
+ void (0, utils_js_1.killTree)(selenoidProcess.pid);
87
+ });
85
88
  }
86
89
  async function startSelenoidContainer(config, debug) {
87
90
  const browsers = Object.values(config.browsers).filter((browser) => !browser.gridUrl);
@@ -108,6 +111,9 @@ async function startSelenoidContainer(config, debug) {
108
111
  ],
109
112
  },
110
113
  };
114
+ (0, messages_js_1.subscribeOn)('shutdown', () => {
115
+ void (0, context_js_1.removeWorkerContainer)();
116
+ });
111
117
  return (0, docker_js_1.runImage)(selenoidImage, ['-limit', String(limit)], selenoidOptions, debug);
112
118
  }
113
119
  //# sourceMappingURL=selenoid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selenoid.js","sourceRoot":"","sources":["../../../src/server/selenium/selenoid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selenoid.js","sourceRoot":"","sources":["../../../src/server/selenium/selenoid.ts"],"names":[],"mappings":";;;;;AAkFA,0DA8BC;AAED,wDAyCC;AA3JD,gDAAwB;AACxB,oDAA4B;AAC5B,2BAA2C;AAC3C,0CAAyD;AACzD,qCAAsC;AAEtC,0CAAwE;AACxE,4CAAoD;AACpD,gDAA6C;AAC7C,qDAA6D;AAE7D,KAAK,UAAU,oBAAoB,CACjC,QAA+B,EAC/B,EAAE,SAAS,EAA0B;IAErC,MAAM,cAAc,GAQhB,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAe,GAAE,CAAC;IAEzC,IAAA,gBAAM,EAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE1D,QAAQ,CAAC,OAAO,CACd,CAAC,EACC,WAAW,EACX,oBAAoB,EAAE,EAAE,cAAc,GAAG,QAAQ,EAAE,GAAG,EAAE,EACxD,WAAW,GAAG,YAAY,WAAW,IAAI,cAAc,EAAE,EACzD,gBAAgB,GAAG,EAAE,GACtB,EAAE,EAAE;QACH,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1E,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACrG,cAAc,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG;YACrD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB;YACjD,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;SAC3G,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,IAAA,gBAAK,EAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,IAAA,oBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IAE/F,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IACvD,MAAM,mBAAmB,GAA6C;QACpE,MAAM,EAAE,uBAAuB;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,4BAA4B;KACpC,CAAC;IACF,kCAAkC;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,2CAA2C,EAAE;QAClF,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAEjF,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,IAAI,IAAA,cAAS,EAAC,WAAW,CAAC,CAAC,IAAI,IAAI,UAAU;QAAE,OAAO;IAEjF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,+LAA+L,CAChM,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,yBAAc,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,MAAc,EAAE,KAAc;IAC1E,MAAM,QAAQ,GAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAA2B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3G,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,IAAA,mBAAQ,EAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO;YAAE,IAAA,eAAK,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,cAAI,EAAC,GAAG,UAAU,wCAAwC,EAAE;QAClF,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,iBAAiB;KACvB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,IAAA,yBAAW,EAAC,UAAU,EAAE,GAAG,EAAE;QAC3B,IAAI,eAAe,CAAC,GAAG;YAAE,KAAK,IAAA,mBAAQ,EAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,KAAc;IACzE,MAAM,QAAQ,GAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAA2B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,QAAQ,CAAC,OAAO,CACd,CAAC,EACC,WAAW,EACX,oBAAoB,EAAE,EAAE,cAAc,GAAG,QAAQ,EAAE,GAAG,EAAE,EACxD,KAAK,EAAE,YAAY,GAAG,CAAC,EACvB,WAAW,GAAG,YAAY,WAAW,IAAI,cAAc,EAAE,GAC1D,EAAE,EAAE;QACH,KAAK,IAAI,YAAY,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC;IACzC,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACtF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,IAAA,sBAAU,EAAC,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAA,sBAAU,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,iCAAiC;IACjC,MAAM,eAAe,GAAG;QACtB,YAAY,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAChC,UAAU,EAAE;YACV,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE;YACpD,KAAK,EAAE;gBACL,2CAA2C;gBAC3C,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,oBAAoB;aACjF;SACF;KACF,CAAC;IAEF,IAAA,yBAAW,EAAC,UAAU,EAAE,GAAG,EAAE;QAC3B,KAAK,IAAA,kCAAqB,GAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,oBAAQ,EAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AACpF,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Args } from '@storybook/csf';
2
- import { Config, StorybookGlobals, StoryInput, StoriesRaw, Options, ServerTest } from '../../types.js';
1
+ import type { Args } from 'storybook/internal/types';
2
+ import { Config, StorybookGlobals, StoryInput, StoriesRaw, ServerTest, WorkerOptions } from '../../types.js';
3
3
  import { CreeveyWebdriverBase } from '../webdriver.js';
4
4
  declare global {
5
5
  interface Window {
@@ -11,7 +11,7 @@ declare global {
11
11
  }
12
12
  export declare class SeleniumWebdriver extends CreeveyWebdriverBase {
13
13
  #private;
14
- constructor(browser: string, gridUrl: string, config: Config, options: Options);
14
+ constructor(browser: string, gridUrl: string, config: Config, options: WorkerOptions);
15
15
  get browser(): import("selenium-webdriver").WebDriver | undefined;
16
16
  getSessionId(): Promise<string>;
17
17
  openBrowser(fresh?: boolean): Promise<SeleniumWebdriver | null>;
@@ -4,6 +4,7 @@ exports.SeleniumWebdriver = void 0;
4
4
  const messages_js_1 = require("../messages.js");
5
5
  const webdriver_js_1 = require("../webdriver.js");
6
6
  const logger_js_1 = require("../logger.js");
7
+ const context_js_1 = require("../worker/context.js");
7
8
  // TODO Update context interface through references
8
9
  class SeleniumWebdriver extends webdriver_js_1.CreeveyWebdriverBase {
9
10
  #browser = null;
@@ -18,7 +19,9 @@ class SeleniumWebdriver extends webdriver_js_1.CreeveyWebdriverBase {
18
19
  this.#config = config;
19
20
  this.#options = options;
20
21
  (0, messages_js_1.subscribeOn)('shutdown', () => {
21
- void this.#browser?.closeBrowser().finally(() => process.exit());
22
+ void this.#browser?.closeBrowser().finally(() => {
23
+ void (0, context_js_1.removeWorkerContainer)().finally(() => process.exit());
24
+ });
22
25
  this.#browser = null;
23
26
  });
24
27
  }
@@ -27,7 +30,6 @@ class SeleniumWebdriver extends webdriver_js_1.CreeveyWebdriverBase {
27
30
  }
28
31
  getSessionId() {
29
32
  if (!this.#browser) {
30
- // TODO Describe the error
31
33
  throw new Error('Browser is not initialized');
32
34
  }
33
35
  return this.#browser.browser.getSession().then((session) => session.getId());
@@ -68,42 +70,36 @@ class SeleniumWebdriver extends webdriver_js_1.CreeveyWebdriverBase {
68
70
  }
69
71
  async loadStoriesFromBrowser() {
70
72
  if (!this.#browser) {
71
- // TODO Describe the error
72
73
  throw new Error('Browser is not initialized');
73
74
  }
74
75
  return this.#browser.loadStoriesFromBrowser();
75
76
  }
76
77
  afterTest(test) {
77
78
  if (!this.#browser) {
78
- // TODO Describe the error
79
79
  throw new Error('Browser is not initialized');
80
80
  }
81
81
  return this.#browser.afterTest(test);
82
82
  }
83
83
  async takeScreenshot(captureElement, ignoreElements) {
84
84
  if (!this.#browser) {
85
- // TODO Describe the error
86
85
  throw new Error('Browser is not initialized');
87
86
  }
88
87
  return this.#browser.takeScreenshot(captureElement, ignoreElements);
89
88
  }
90
89
  waitForComplete(callback) {
91
90
  if (!this.#browser) {
92
- // TODO Describe the error
93
91
  throw new Error('Browser is not initialized');
94
92
  }
95
93
  this.#browser.waitForComplete(callback);
96
94
  }
97
95
  async selectStory(id, waitForReady) {
98
96
  if (!this.#browser) {
99
- // TODO Describe the error
100
97
  throw new Error('Browser is not initialized');
101
98
  }
102
99
  return this.#browser.selectStory(id, waitForReady);
103
100
  }
104
101
  async updateStoryArgs(story, updatedArgs) {
105
102
  if (!this.#browser) {
106
- // TODO Describe the error
107
103
  throw new Error('Browser is not initialized');
108
104
  }
109
105
  return this.#browser.updateStoryArgs(story, updatedArgs);
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/selenium/webdriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/selenium/webdriver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const cluster_1 = __importDefault(require("cluster"));
7
+ const messages_js_1 = require("./messages.js");
8
+ const utils_js_1 = require("./utils.js");
9
+ if (cluster_1.default.isWorker) {
10
+ (0, messages_js_1.subscribeOn)('shutdown', () => {
11
+ utils_js_1.isShuttingDown.current = true;
12
+ });
13
+ }
14
+ process.on('uncaughtException', utils_js_1.shutdownOnException);
15
+ process.on('unhandledRejection', utils_js_1.shutdownOnException);
16
+ // TODO SIGINT Stuck with selenium
17
+ process.on('SIGINT', () => {
18
+ if (utils_js_1.isShuttingDown.current) {
19
+ process.exit(-1);
20
+ }
21
+ utils_js_1.isShuttingDown.current = true;
22
+ });
23
+ //# sourceMappingURL=shutdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../src/server/shutdown.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,+CAA4C;AAC5C,yCAAiE;AAEjE,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,IAAA,yBAAW,EAAC,UAAU,EAAE,GAAG,EAAE;QAC3B,yBAAc,CAAC,OAAO,GAAG,IAAI,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,8BAAmB,CAAC,CAAC;AACrD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,8BAAmB,CAAC,CAAC;AACtD,kCAAkC;AAClC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,IAAI,yBAAc,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,yBAAc,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,CAAC,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
1
  import type { StoriesRaw, ServerTest, StoryInput } from '../types.js';
2
2
  export declare function loadTestsFromStories(browsers: string[], provider: (storiesListener: (stories: Map<string, StoryInput[]>) => void) => Promise<StoriesRaw>, update?: (testsDiff: Partial<Record<string, ServerTest>>) => void): Promise<Partial<Record<string, ServerTest>>>;
3
- export declare function saveTestsJson(tests: Record<string, unknown>, dstPath?: string): void;
@@ -1,12 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.loadTestsFromStories = loadTestsFromStories;
7
- exports.saveTestsJson = saveTestsJson;
8
- const path_1 = __importDefault(require("path"));
9
- const fs_1 = require("fs");
10
4
  const crypto_1 = require("crypto");
11
5
  const types_js_1 = require("../types.js");
12
6
  const utils_js_1 = require("./utils.js");
@@ -90,10 +84,4 @@ async function loadTestsFromStories(browsers, provider, update) {
90
84
  testIdsByFiles.set(fileName, [...(testIdsByFiles.get(fileName) ?? []), id]));
91
85
  return tests;
92
86
  }
93
- function saveTestsJson(tests, dstPath = process.cwd()) {
94
- (0, fs_1.mkdirSync)(dstPath, { recursive: true });
95
- (0, fs_1.writeFileSync)(path_1.default.join(dstPath, 'tests.json'),
96
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
97
- JSON.stringify(tests, (_, value) => ((0, types_js_1.isFunction)(value) ? value.toString() : value), 2));
98
- }
99
87
  //# sourceMappingURL=stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../src/server/stories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../src/server/stories.ts"],"names":[],"mappings":"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"}