creevey 0.9.0-non-webpack.2.fix-capture-element → 0.9.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 (535) hide show
  1. package/.yarnrc.yml +1 -0
  2. package/CHANGELOG.md +51 -0
  3. package/README.md +4 -3
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.js +5 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/client/addon/components/Addon.d.ts +8 -0
  8. package/dist/client/addon/components/Addon.js +57 -0
  9. package/dist/client/addon/components/Addon.js.map +1 -0
  10. package/{lib/types → dist}/client/addon/components/Icons.d.ts +7 -7
  11. package/dist/client/addon/components/Icons.js +18 -0
  12. package/dist/client/addon/components/Icons.js.map +1 -0
  13. package/{lib/types → dist}/client/addon/components/Panel.d.ts +9 -9
  14. package/dist/client/addon/components/Panel.js +35 -0
  15. package/dist/client/addon/components/Panel.js.map +1 -0
  16. package/{lib/types → dist}/client/addon/components/TestSelect.d.ts +8 -8
  17. package/dist/client/addon/components/TestSelect.js +33 -0
  18. package/dist/client/addon/components/TestSelect.js.map +1 -0
  19. package/dist/client/addon/components/Tools.d.ts +6 -0
  20. package/dist/client/addon/components/Tools.js +89 -0
  21. package/dist/client/addon/components/Tools.js.map +1 -0
  22. package/{lib/types/client/addon/Manager.d.ts → dist/client/addon/controller.d.ts} +38 -37
  23. package/dist/client/addon/controller.js +208 -0
  24. package/dist/client/addon/controller.js.map +1 -0
  25. package/dist/client/addon/decorator.d.ts +1 -0
  26. package/dist/client/addon/decorator.js +6 -0
  27. package/dist/client/addon/decorator.js.map +1 -0
  28. package/dist/client/addon/index.d.ts +2 -0
  29. package/dist/client/addon/index.js +19 -0
  30. package/dist/client/addon/index.js.map +1 -0
  31. package/dist/client/addon/manager.d.ts +1 -0
  32. package/dist/client/addon/manager.js +41 -0
  33. package/dist/client/addon/manager.js.map +1 -0
  34. package/dist/client/addon/preset.d.ts +2 -0
  35. package/dist/client/addon/preset.js +6 -0
  36. package/dist/client/addon/preset.js.map +1 -0
  37. package/dist/client/addon/preview.d.ts +4 -0
  38. package/dist/client/addon/preview.js +8 -0
  39. package/dist/client/addon/preview.js.map +1 -0
  40. package/{lib/types → dist}/client/addon/readyForCapture.d.ts +6 -6
  41. package/dist/client/addon/readyForCapture.js +7 -0
  42. package/dist/client/addon/readyForCapture.js.map +1 -0
  43. package/{lib/types → dist}/client/addon/utils.d.ts +3 -2
  44. package/dist/client/addon/utils.js +27 -0
  45. package/dist/client/addon/utils.js.map +1 -0
  46. package/{lib/types → dist}/client/addon/withCreevey.d.ts +25 -24
  47. package/dist/client/addon/withCreevey.js +286 -0
  48. package/dist/client/addon/withCreevey.js.map +1 -0
  49. package/dist/client/shared/components/ImagesView/BlendView.d.ts +5 -0
  50. package/dist/client/shared/components/ImagesView/BlendView.js +74 -0
  51. package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -0
  52. package/dist/client/shared/components/ImagesView/ImagesView.d.ts +9 -0
  53. package/dist/client/shared/components/ImagesView/ImagesView.js +46 -0
  54. package/dist/client/shared/components/ImagesView/ImagesView.js.map +1 -0
  55. package/dist/client/shared/components/ImagesView/SideBySideView.d.ts +5 -0
  56. package/dist/client/shared/components/ImagesView/SideBySideView.js +121 -0
  57. package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -0
  58. package/dist/client/shared/components/ImagesView/SlideView.d.ts +5 -0
  59. package/dist/client/shared/components/ImagesView/SlideView.js +136 -0
  60. package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -0
  61. package/dist/client/shared/components/ImagesView/SwapView.d.ts +5 -0
  62. package/dist/client/shared/components/ImagesView/SwapView.js +72 -0
  63. package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -0
  64. package/{lib/types/client/shared/components/ImagesView/ImagesView.d.ts → dist/client/shared/components/ImagesView/common.d.ts} +15 -24
  65. package/dist/client/shared/components/ImagesView/common.js +14 -0
  66. package/dist/client/shared/components/ImagesView/common.js.map +1 -0
  67. package/dist/client/shared/components/ImagesView/index.d.ts +5 -0
  68. package/dist/client/shared/components/ImagesView/index.js +14 -0
  69. package/dist/client/shared/components/ImagesView/index.js.map +1 -0
  70. package/dist/client/shared/components/PageFooter/PageFooter.d.ts +6 -0
  71. package/dist/client/shared/components/PageFooter/PageFooter.js +20 -0
  72. package/dist/client/shared/components/PageFooter/PageFooter.js.map +1 -0
  73. package/{lib/types → dist}/client/shared/components/PageFooter/Paging.d.ts +7 -7
  74. package/dist/client/shared/components/PageFooter/Paging.js +51 -0
  75. package/dist/client/shared/components/PageFooter/Paging.js.map +1 -0
  76. package/{lib/types → dist}/client/shared/components/PageHeader/ImagePreview.d.ts +14 -12
  77. package/dist/client/shared/components/PageHeader/ImagePreview.js +61 -0
  78. package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -0
  79. package/{lib/types → dist}/client/shared/components/PageHeader/PageHeader.d.ts +14 -16
  80. package/dist/client/shared/components/PageHeader/PageHeader.js +93 -0
  81. package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -0
  82. package/dist/client/shared/components/ResultsPage.d.ts +20 -0
  83. package/dist/client/shared/components/ResultsPage.js +87 -0
  84. package/dist/client/shared/components/ResultsPage.js.map +1 -0
  85. package/{lib/types → dist}/client/shared/creeveyClientApi.d.ts +10 -9
  86. package/dist/client/shared/creeveyClientApi.js +56 -0
  87. package/dist/client/shared/creeveyClientApi.js.map +1 -0
  88. package/{lib/types → dist}/client/shared/helpers.d.ts +47 -46
  89. package/dist/client/shared/helpers.js +396 -0
  90. package/dist/client/shared/helpers.js.map +1 -0
  91. package/{lib/types → dist}/client/shared/viewMode.d.ts +4 -4
  92. package/dist/client/shared/viewMode.js +11 -0
  93. package/dist/client/shared/viewMode.js.map +1 -0
  94. package/dist/client/web/202.js +1 -0
  95. package/dist/client/web/270.js +43 -0
  96. package/dist/client/web/752.js +1 -0
  97. package/{lib/types → dist}/client/web/CreeveyApp.d.ts +11 -11
  98. package/dist/client/web/CreeveyApp.js +167 -0
  99. package/dist/client/web/CreeveyApp.js.map +1 -0
  100. package/{lib/types → dist}/client/web/CreeveyContext.d.ts +14 -11
  101. package/dist/client/web/CreeveyContext.js +41 -0
  102. package/dist/client/web/CreeveyContext.js.map +1 -0
  103. package/dist/client/web/CreeveyLoader.d.ts +3 -0
  104. package/dist/client/web/CreeveyLoader.js +52 -0
  105. package/dist/client/web/CreeveyLoader.js.map +1 -0
  106. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Checkbox.d.ts +22 -19
  107. package/dist/client/web/CreeveyView/SideBar/Checkbox.js +86 -0
  108. package/dist/client/web/CreeveyView/SideBar/Checkbox.js.map +1 -0
  109. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  110. package/dist/client/web/CreeveyView/SideBar/Search.js +125 -0
  111. package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -0
  112. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  113. package/dist/client/web/CreeveyView/SideBar/SideBar.js +111 -0
  114. package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -0
  115. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.d.ts +1 -0
  116. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js +32 -0
  117. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js.map +1 -0
  118. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +12 -12
  119. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +113 -0
  120. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -0
  121. package/dist/client/web/CreeveyView/SideBar/SuiteLink.d.ts +43 -0
  122. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +123 -0
  123. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -0
  124. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestLink.d.ts +7 -7
  125. package/dist/client/web/CreeveyView/SideBar/TestLink.js +64 -0
  126. package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -0
  127. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +12 -10
  128. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js +59 -0
  129. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js.map +1 -0
  130. package/dist/client/web/CreeveyView/SideBar/TestsStatus.d.ts +11 -0
  131. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js +76 -0
  132. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js.map +1 -0
  133. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  134. package/dist/client/web/CreeveyView/SideBar/Toggle.js +69 -0
  135. package/dist/client/web/CreeveyView/SideBar/Toggle.js.map +1 -0
  136. package/dist/client/web/CreeveyView/SideBar/index.d.ts +1 -0
  137. package/dist/client/web/CreeveyView/SideBar/index.js +6 -0
  138. package/dist/client/web/CreeveyView/SideBar/index.js.map +1 -0
  139. package/{lib/types → dist}/client/web/KeyboardEventsContext.d.ts +15 -13
  140. package/dist/client/web/KeyboardEventsContext.js +116 -0
  141. package/dist/client/web/KeyboardEventsContext.js.map +1 -0
  142. package/{lib/types → dist}/client/web/index.d.ts +4 -4
  143. package/{lib/cjs → dist}/client/web/index.html +12 -3
  144. package/dist/client/web/index.js +75 -0
  145. package/dist/client/web/index.js.map +1 -0
  146. package/dist/client/web/main.js +79 -0
  147. package/{lib/cjs → dist}/client/web/main.js.LICENSE.txt +0 -15
  148. package/{lib/types → dist}/creevey.d.ts +1 -1
  149. package/dist/creevey.js +52 -0
  150. package/dist/creevey.js.map +1 -0
  151. package/dist/index.d.ts +5 -0
  152. package/dist/index.js +24 -0
  153. package/dist/index.js.map +1 -0
  154. package/{lib/types → dist}/server/config.d.ts +4 -4
  155. package/dist/server/config.js +86 -0
  156. package/dist/server/config.js.map +1 -0
  157. package/{lib/types → dist}/server/docker.d.ts +7 -7
  158. package/dist/server/docker.js +122 -0
  159. package/dist/server/docker.js.map +1 -0
  160. package/{lib/types → dist}/server/index.d.ts +2 -2
  161. package/dist/server/index.js +47 -0
  162. package/dist/server/index.js.map +1 -0
  163. package/{lib/types → dist}/server/logger.d.ts +10 -10
  164. package/dist/server/logger.js +25 -0
  165. package/dist/server/logger.js.map +1 -0
  166. package/{lib/types → dist}/server/master/api.d.ts +7 -7
  167. package/dist/server/master/api.js +54 -0
  168. package/dist/server/master/api.js.map +1 -0
  169. package/dist/server/master/index.d.ts +3 -0
  170. package/dist/server/master/index.js +110 -0
  171. package/dist/server/master/index.js.map +1 -0
  172. package/{lib/types → dist}/server/master/master.d.ts +7 -7
  173. package/dist/server/master/master.js +40 -0
  174. package/dist/server/master/master.js.map +1 -0
  175. package/{lib/types → dist}/server/master/pool.d.ts +30 -31
  176. package/dist/server/master/pool.js +186 -0
  177. package/dist/server/master/pool.js.map +1 -0
  178. package/{lib/types → dist}/server/master/runner.d.ts +23 -26
  179. package/dist/server/master/runner.js +222 -0
  180. package/dist/server/master/runner.js.map +1 -0
  181. package/dist/server/master/server.d.ts +2 -0
  182. package/dist/server/master/server.js +114 -0
  183. package/dist/server/master/server.js.map +1 -0
  184. package/{lib/types → dist}/server/messages.d.ts +26 -27
  185. package/dist/server/messages.js +222 -0
  186. package/dist/server/messages.js.map +1 -0
  187. package/{lib/types → dist}/server/selenium/browser.d.ts +19 -17
  188. package/dist/server/selenium/browser.js +640 -0
  189. package/dist/server/selenium/browser.js.map +1 -0
  190. package/dist/server/selenium/index.d.ts +2 -0
  191. package/dist/server/selenium/index.js +19 -0
  192. package/dist/server/selenium/index.js.map +1 -0
  193. package/{lib/types → dist}/server/selenium/selenoid.d.ts +3 -3
  194. package/dist/server/selenium/selenoid.js +120 -0
  195. package/dist/server/selenium/selenoid.js.map +1 -0
  196. package/dist/server/stories.d.ts +3 -0
  197. package/dist/server/stories.js +92 -0
  198. package/dist/server/stories.js.map +1 -0
  199. package/dist/server/storybook/providers/browser.d.ts +2 -0
  200. package/dist/server/storybook/providers/browser.js +60 -0
  201. package/dist/server/storybook/providers/browser.js.map +1 -0
  202. package/dist/server/storybook/providers/hybrid.d.ts +2 -0
  203. package/dist/server/storybook/providers/hybrid.js +59 -0
  204. package/dist/server/storybook/providers/hybrid.js.map +1 -0
  205. package/dist/server/telemetry.d.ts +2 -0
  206. package/dist/server/telemetry.js +196 -0
  207. package/dist/server/telemetry.js.map +1 -0
  208. package/{lib/types → dist}/server/testsFiles/parser.d.ts +8 -12
  209. package/dist/server/testsFiles/parser.js +50 -0
  210. package/dist/server/testsFiles/parser.js.map +1 -0
  211. package/dist/server/update.d.ts +2 -0
  212. package/dist/server/update.js +53 -0
  213. package/dist/server/update.js.map +1 -0
  214. package/dist/server/utils.d.ts +25 -0
  215. package/dist/server/utils.js +157 -0
  216. package/dist/server/utils.js.map +1 -0
  217. package/{lib/types → dist}/server/worker/chai-image.d.ts +5 -6
  218. package/dist/server/worker/chai-image.js +113 -0
  219. package/dist/server/worker/chai-image.js.map +1 -0
  220. package/{lib/types → dist}/server/worker/helpers.d.ts +8 -8
  221. package/dist/server/worker/helpers.js +57 -0
  222. package/dist/server/worker/helpers.js.map +1 -0
  223. package/dist/server/worker/index.d.ts +1 -0
  224. package/dist/server/worker/index.js +6 -0
  225. package/dist/server/worker/index.js.map +1 -0
  226. package/{lib/types → dist}/server/worker/reporter.d.ts +8 -8
  227. package/dist/server/worker/reporter.js +130 -0
  228. package/dist/server/worker/reporter.js.map +1 -0
  229. package/dist/server/worker/worker.d.ts +4 -0
  230. package/dist/server/worker/worker.js +212 -0
  231. package/dist/server/worker/worker.js.map +1 -0
  232. package/{lib/types → dist}/shared/index.d.ts +7 -7
  233. package/dist/shared/index.js +77 -0
  234. package/dist/shared/index.js.map +1 -0
  235. package/{lib/types → dist}/shared/serializeRegExp.d.ts +9 -9
  236. package/dist/shared/serializeRegExp.js +25 -0
  237. package/dist/shared/serializeRegExp.js.map +1 -0
  238. package/{lib/types → dist}/types.d.ts +461 -490
  239. package/dist/types.js +61 -0
  240. package/dist/types.js.map +1 -0
  241. package/docs/config.md +30 -30
  242. package/docs/tests.md +3 -3
  243. package/manager/package.json +3 -0
  244. package/package.json +116 -156
  245. package/preset/README.md +3 -0
  246. package/preset/package.json +3 -0
  247. package/preview/README.md +3 -0
  248. package/preview/package.json +3 -0
  249. package/src/cli.ts +3 -0
  250. package/src/client/addon/components/Addon.tsx +53 -0
  251. package/src/client/addon/components/Icons.tsx +28 -0
  252. package/src/client/addon/components/Panel.tsx +57 -0
  253. package/src/client/addon/components/TestSelect.tsx +48 -0
  254. package/src/client/addon/components/Tools.tsx +93 -0
  255. package/src/client/addon/controller.ts +224 -0
  256. package/src/client/addon/decorator.ts +3 -0
  257. package/src/client/addon/index.ts +2 -0
  258. package/src/client/addon/manager.ts +44 -0
  259. package/src/client/addon/preset.ts +3 -0
  260. package/src/client/addon/preview.ts +7 -0
  261. package/src/client/addon/readyForCapture.ts +9 -0
  262. package/src/client/addon/utils.tsx +24 -0
  263. package/src/client/addon/withCreevey.ts +326 -0
  264. package/src/client/shared/components/ImagesView/BlendView.tsx +71 -0
  265. package/src/client/shared/components/ImagesView/ImagesView.tsx +70 -0
  266. package/src/client/shared/components/ImagesView/SideBySideView.tsx +139 -0
  267. package/src/client/shared/components/ImagesView/SlideView.tsx +146 -0
  268. package/src/client/shared/components/ImagesView/SwapView.tsx +81 -0
  269. package/src/client/shared/components/ImagesView/common.ts +23 -0
  270. package/src/client/shared/components/ImagesView/index.ts +5 -0
  271. package/src/client/shared/components/PageFooter/PageFooter.tsx +26 -0
  272. package/src/client/shared/components/PageFooter/Paging.tsx +90 -0
  273. package/src/client/shared/components/PageHeader/ImagePreview.tsx +82 -0
  274. package/src/client/shared/components/PageHeader/PageHeader.tsx +129 -0
  275. package/src/client/shared/components/ResultsPage.tsx +122 -0
  276. package/src/client/shared/creeveyClientApi.ts +68 -0
  277. package/src/client/shared/helpers.ts +436 -0
  278. package/src/client/shared/viewMode.ts +10 -0
  279. package/src/client/web/CreeveyApp.tsx +230 -0
  280. package/src/client/web/CreeveyContext.tsx +26 -0
  281. package/src/client/web/CreeveyLoader.tsx +56 -0
  282. package/src/client/web/CreeveyView/SideBar/Checkbox.tsx +118 -0
  283. package/src/client/web/CreeveyView/SideBar/Search.tsx +140 -0
  284. package/src/client/web/CreeveyView/SideBar/SideBar.tsx +136 -0
  285. package/src/client/web/CreeveyView/SideBar/SideBarFooter.tsx +38 -0
  286. package/src/client/web/CreeveyView/SideBar/SideBarHeader.tsx +138 -0
  287. package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +137 -0
  288. package/src/client/web/CreeveyView/SideBar/TestLink.tsx +69 -0
  289. package/src/client/web/CreeveyView/SideBar/TestStatusIcon.tsx +64 -0
  290. package/src/client/web/CreeveyView/SideBar/TestsStatus.tsx +109 -0
  291. package/src/client/web/CreeveyView/SideBar/Toggle.tsx +85 -0
  292. package/src/client/web/CreeveyView/SideBar/index.ts +1 -0
  293. package/src/client/web/KeyboardEventsContext.tsx +121 -0
  294. package/src/client/web/index.html +28 -0
  295. package/src/client/web/index.tsx +63 -0
  296. package/src/creevey.ts +47 -0
  297. package/src/index.ts +4 -0
  298. package/src/server/config.ts +83 -0
  299. package/src/server/docker.ts +136 -0
  300. package/src/server/index.ts +51 -0
  301. package/{lib/esm/server/logger.js → src/server/logger.ts} +8 -7
  302. package/src/server/master/api.ts +59 -0
  303. package/src/server/master/index.ts +111 -0
  304. package/src/server/master/master.ts +47 -0
  305. package/src/server/master/pool.ts +203 -0
  306. package/src/server/master/runner.ts +245 -0
  307. package/src/server/master/server.ts +124 -0
  308. package/src/server/messages.ts +273 -0
  309. package/src/server/selenium/browser.ts +840 -0
  310. package/src/server/selenium/index.ts +2 -0
  311. package/src/server/selenium/selenoid.ts +154 -0
  312. package/src/server/stories.ts +133 -0
  313. package/src/server/storybook/providers/browser.ts +58 -0
  314. package/src/server/storybook/providers/hybrid.ts +70 -0
  315. package/src/server/telemetry.ts +212 -0
  316. package/src/server/testsFiles/parser.ts +62 -0
  317. package/src/server/update.ts +74 -0
  318. package/src/server/utils.ts +206 -0
  319. package/src/server/worker/chai-image.ts +147 -0
  320. package/src/server/worker/helpers.ts +61 -0
  321. package/src/server/worker/index.ts +1 -0
  322. package/src/server/worker/reporter.ts +170 -0
  323. package/src/server/worker/worker.ts +240 -0
  324. package/src/shared/index.ts +76 -0
  325. package/src/shared/serializeRegExp.ts +26 -0
  326. package/src/types.ts +501 -0
  327. package/types/chai.d.ts +0 -1
  328. package/types/global.d.ts +5 -0
  329. package/types/mocha.d.ts +1 -1
  330. package/addon/package.json +0 -4
  331. package/jest.config.js +0 -6
  332. package/lib/cjs/cli.js +0 -5
  333. package/lib/cjs/client/addon/Manager.js +0 -264
  334. package/lib/cjs/client/addon/components/Addon.js +0 -55
  335. package/lib/cjs/client/addon/components/Icons.js +0 -46
  336. package/lib/cjs/client/addon/components/Panel.js +0 -72
  337. package/lib/cjs/client/addon/components/TestSelect.js +0 -65
  338. package/lib/cjs/client/addon/components/Tools.js +0 -95
  339. package/lib/cjs/client/addon/decorator.js +0 -11
  340. package/lib/cjs/client/addon/index.js +0 -31
  341. package/lib/cjs/client/addon/preset.js +0 -62
  342. package/lib/cjs/client/addon/readyForCapture.js +0 -12
  343. package/lib/cjs/client/addon/register.js +0 -72
  344. package/lib/cjs/client/addon/utils.js +0 -38
  345. package/lib/cjs/client/addon/withCreevey.js +0 -346
  346. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -87
  347. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -92
  348. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -154
  349. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -166
  350. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -91
  351. package/lib/cjs/client/shared/components/ImagesView/index.js +0 -45
  352. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -50
  353. package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -94
  354. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -82
  355. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -119
  356. package/lib/cjs/client/shared/components/ResultsPage.js +0 -143
  357. package/lib/cjs/client/shared/creeveyClientApi.js +0 -76
  358. package/lib/cjs/client/shared/helpers.js +0 -411
  359. package/lib/cjs/client/shared/viewMode.js +0 -17
  360. package/lib/cjs/client/web/142.js +0 -2
  361. package/lib/cjs/client/web/142.js.LICENSE.txt +0 -12
  362. package/lib/cjs/client/web/32.js +0 -1
  363. package/lib/cjs/client/web/551.js +0 -1
  364. package/lib/cjs/client/web/566.js +0 -2
  365. package/lib/cjs/client/web/566.js.LICENSE.txt +0 -31
  366. package/lib/cjs/client/web/691.js +0 -2
  367. package/lib/cjs/client/web/691.js.LICENSE.txt +0 -8
  368. package/lib/cjs/client/web/725.js +0 -1
  369. package/lib/cjs/client/web/main.js +0 -2
  370. package/lib/cjs/creevey.js +0 -69
  371. package/lib/cjs/index.js +0 -62
  372. package/lib/cjs/server/config.js +0 -96
  373. package/lib/cjs/server/docker.js +0 -146
  374. package/lib/cjs/server/extract.js +0 -50
  375. package/lib/cjs/server/index.js +0 -83
  376. package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -86
  377. package/lib/cjs/server/loaders/babel/helpers.js +0 -469
  378. package/lib/cjs/server/loaders/babel/register.js +0 -124
  379. package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
  380. package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
  381. package/lib/cjs/server/loaders/webpack/compile.js +0 -293
  382. package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -179
  383. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -39
  384. package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
  385. package/lib/cjs/server/loaders/webpack/start.js +0 -41
  386. package/lib/cjs/server/logger.js +0 -48
  387. package/lib/cjs/server/master/api.js +0 -75
  388. package/lib/cjs/server/master/index.js +0 -146
  389. package/lib/cjs/server/master/master.js +0 -57
  390. package/lib/cjs/server/master/pool.js +0 -197
  391. package/lib/cjs/server/master/runner.js +0 -281
  392. package/lib/cjs/server/master/server.js +0 -129
  393. package/lib/cjs/server/messages.js +0 -264
  394. package/lib/cjs/server/selenium/browser.js +0 -672
  395. package/lib/cjs/server/selenium/index.js +0 -31
  396. package/lib/cjs/server/selenium/selenoid.js +0 -172
  397. package/lib/cjs/server/stories.js +0 -159
  398. package/lib/cjs/server/storybook/entry.js +0 -70
  399. package/lib/cjs/server/storybook/helpers.js +0 -159
  400. package/lib/cjs/server/storybook/providers/browser.js +0 -74
  401. package/lib/cjs/server/storybook/providers/hybrid.js +0 -84
  402. package/lib/cjs/server/storybook/providers/nodejs.js +0 -239
  403. package/lib/cjs/server/testsFiles/parser.js +0 -72
  404. package/lib/cjs/server/testsFiles/register.js +0 -48
  405. package/lib/cjs/server/update.js +0 -79
  406. package/lib/cjs/server/utils.js +0 -183
  407. package/lib/cjs/server/worker/chai-image.js +0 -142
  408. package/lib/cjs/server/worker/helpers.js +0 -69
  409. package/lib/cjs/server/worker/index.js +0 -15
  410. package/lib/cjs/server/worker/reporter.js +0 -108
  411. package/lib/cjs/server/worker/worker.js +0 -268
  412. package/lib/cjs/shared/index.js +0 -101
  413. package/lib/cjs/shared/serializeRegExp.js +0 -42
  414. package/lib/cjs/types.js +0 -74
  415. package/lib/esm/cli.js +0 -4
  416. package/lib/esm/client/addon/Manager.js +0 -248
  417. package/lib/esm/client/addon/components/Addon.js +0 -39
  418. package/lib/esm/client/addon/components/Icons.js +0 -31
  419. package/lib/esm/client/addon/components/Panel.js +0 -53
  420. package/lib/esm/client/addon/components/TestSelect.js +0 -51
  421. package/lib/esm/client/addon/components/Tools.js +0 -74
  422. package/lib/esm/client/addon/decorator.js +0 -2
  423. package/lib/esm/client/addon/index.js +0 -2
  424. package/lib/esm/client/addon/preset.js +0 -41
  425. package/lib/esm/client/addon/readyForCapture.js +0 -5
  426. package/lib/esm/client/addon/register.js +0 -51
  427. package/lib/esm/client/addon/utils.js +0 -31
  428. package/lib/esm/client/addon/withCreevey.js +0 -322
  429. package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -67
  430. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -69
  431. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -131
  432. package/lib/esm/client/shared/components/ImagesView/SlideView.js +0 -143
  433. package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -71
  434. package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
  435. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -36
  436. package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -80
  437. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -68
  438. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -97
  439. package/lib/esm/client/shared/components/ResultsPage.js +0 -115
  440. package/lib/esm/client/shared/creeveyClientApi.js +0 -67
  441. package/lib/esm/client/shared/helpers.js +0 -353
  442. package/lib/esm/client/shared/viewMode.js +0 -6
  443. package/lib/esm/creevey.js +0 -54
  444. package/lib/esm/index.js +0 -5
  445. package/lib/esm/server/config.js +0 -73
  446. package/lib/esm/server/docker.js +0 -123
  447. package/lib/esm/server/extract.js +0 -34
  448. package/lib/esm/server/index.js +0 -64
  449. package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -72
  450. package/lib/esm/server/loaders/babel/helpers.js +0 -452
  451. package/lib/esm/server/loaders/babel/register.js +0 -103
  452. package/lib/esm/server/loaders/hooks/mdx.js +0 -15
  453. package/lib/esm/server/loaders/hooks/svelte.js +0 -49
  454. package/lib/esm/server/loaders/webpack/compile.js +0 -270
  455. package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -158
  456. package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -32
  457. package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
  458. package/lib/esm/server/loaders/webpack/start.js +0 -27
  459. package/lib/esm/server/master/api.js +0 -64
  460. package/lib/esm/server/master/index.js +0 -125
  461. package/lib/esm/server/master/master.js +0 -38
  462. package/lib/esm/server/master/pool.js +0 -176
  463. package/lib/esm/server/master/runner.js +0 -259
  464. package/lib/esm/server/master/server.js +0 -105
  465. package/lib/esm/server/messages.js +0 -232
  466. package/lib/esm/server/selenium/browser.js +0 -639
  467. package/lib/esm/server/selenium/index.js +0 -2
  468. package/lib/esm/server/selenium/selenoid.js +0 -149
  469. package/lib/esm/server/stories.js +0 -140
  470. package/lib/esm/server/storybook/entry.js +0 -46
  471. package/lib/esm/server/storybook/helpers.js +0 -98
  472. package/lib/esm/server/storybook/providers/browser.js +0 -60
  473. package/lib/esm/server/storybook/providers/hybrid.js +0 -64
  474. package/lib/esm/server/storybook/providers/nodejs.js +0 -217
  475. package/lib/esm/server/testsFiles/parser.js +0 -50
  476. package/lib/esm/server/testsFiles/register.js +0 -35
  477. package/lib/esm/server/update.js +0 -61
  478. package/lib/esm/server/utils.js +0 -142
  479. package/lib/esm/server/worker/chai-image.js +0 -130
  480. package/lib/esm/server/worker/helpers.js +0 -60
  481. package/lib/esm/server/worker/index.js +0 -1
  482. package/lib/esm/server/worker/reporter.js +0 -86
  483. package/lib/esm/server/worker/worker.js +0 -238
  484. package/lib/esm/shared/index.js +0 -78
  485. package/lib/esm/shared/serializeRegExp.js +0 -24
  486. package/lib/esm/types.js +0 -43
  487. package/lib/types/cli.d.ts +0 -1
  488. package/lib/types/client/addon/components/Addon.d.ts +0 -8
  489. package/lib/types/client/addon/components/Tools.d.ts +0 -6
  490. package/lib/types/client/addon/decorator.d.ts +0 -1
  491. package/lib/types/client/addon/index.d.ts +0 -2
  492. package/lib/types/client/addon/preset.d.ts +0 -23
  493. package/lib/types/client/addon/register.d.ts +0 -3
  494. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +0 -3
  495. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +0 -3
  496. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +0 -3
  497. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +0 -3
  498. package/lib/types/client/shared/components/ImagesView/index.d.ts +0 -5
  499. package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +0 -8
  500. package/lib/types/client/shared/components/ResultsPage.d.ts +0 -18
  501. package/lib/types/client/web/CreeveyLoader.d.ts +0 -2
  502. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +0 -33
  503. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +0 -9
  504. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +0 -1
  505. package/lib/types/index.d.ts +0 -2
  506. package/lib/types/server/extract.d.ts +0 -2
  507. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +0 -1
  508. package/lib/types/server/loaders/babel/helpers.d.ts +0 -19
  509. package/lib/types/server/loaders/babel/register.d.ts +0 -5
  510. package/lib/types/server/loaders/hooks/mdx.d.ts +0 -1
  511. package/lib/types/server/loaders/hooks/svelte.d.ts +0 -1
  512. package/lib/types/server/loaders/webpack/compile.d.ts +0 -2
  513. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +0 -4
  514. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +0 -10
  515. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +0 -6
  516. package/lib/types/server/loaders/webpack/start.d.ts +0 -1
  517. package/lib/types/server/master/index.d.ts +0 -3
  518. package/lib/types/server/master/server.d.ts +0 -2
  519. package/lib/types/server/selenium/index.d.ts +0 -2
  520. package/lib/types/server/stories.d.ts +0 -8
  521. package/lib/types/server/storybook/entry.d.ts +0 -18
  522. package/lib/types/server/storybook/helpers.d.ts +0 -24
  523. package/lib/types/server/storybook/providers/browser.d.ts +0 -4
  524. package/lib/types/server/storybook/providers/hybrid.d.ts +0 -4
  525. package/lib/types/server/storybook/providers/nodejs.d.ts +0 -9
  526. package/lib/types/server/testsFiles/register.d.ts +0 -2
  527. package/lib/types/server/update.d.ts +0 -2
  528. package/lib/types/server/utils.d.ts +0 -20
  529. package/lib/types/server/worker/index.d.ts +0 -1
  530. package/lib/types/server/worker/worker.d.ts +0 -4
  531. package/preset.js +0 -9
  532. package/types/babel__register.d.ts +0 -1
  533. package/types/event-source-polyfill.d.ts +0 -6
  534. package/types/mdx.d.ts +0 -7
  535. /package/{addon → manager}/README.md +0 -0
@@ -1,281 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
- var _fs = require("fs");
11
-
12
- var _util = require("util");
13
-
14
- var _events = require("events");
15
-
16
- var _types = require("../../types");
17
-
18
- var _pool = _interopRequireDefault(require("./pool"));
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- const copyFileAsync = (0, _util.promisify)(_fs.copyFile);
23
- const mkdirAsync = (0, _util.promisify)(_fs.mkdir);
24
-
25
- class Runner extends _events.EventEmitter {
26
- pools = {};
27
- tests = {};
28
-
29
- get isRunning() {
30
- return Object.values(this.pools).some(pool => pool.isRunning);
31
- }
32
-
33
- constructor(config) {
34
- super();
35
- this.failFast = config.failFast;
36
- this.screenDir = config.screenDir;
37
- this.reportDir = config.reportDir;
38
- this.browsers = Object.keys(config.browsers);
39
- this.browsers.map(browser => this.pools[browser] = new _pool.default(config, browser)).map(pool => pool.on('test', this.handlePoolMessage));
40
- }
41
-
42
- handlePoolMessage = message => {
43
- const {
44
- id,
45
- status,
46
- result
47
- } = message;
48
- const test = this.tests[id];
49
- if (!test) return;
50
- const {
51
- browser,
52
- testName,
53
- storyPath,
54
- storyId
55
- } = test; // TODO Handle 'retrying' status
56
-
57
- test.status = status == 'retrying' ? 'failed' : status;
58
-
59
- if (!result) {
60
- this.sendUpdate({
61
- tests: {
62
- [id]: {
63
- id,
64
- browser,
65
- testName,
66
- storyPath,
67
- status: test.status,
68
- storyId
69
- }
70
- }
71
- });
72
- return;
73
- }
74
-
75
- if (!test.results) {
76
- test.results = [];
77
- }
78
-
79
- test.results.push(result);
80
- this.sendUpdate({
81
- tests: {
82
- [id]: {
83
- id,
84
- browser,
85
- testName,
86
- storyPath,
87
- status: test.status,
88
- results: [result],
89
- storyId
90
- }
91
- }
92
- });
93
- if (this.failFast && status == 'failed') this.stop();
94
- };
95
- handlePoolStop = () => {
96
- if (!this.isRunning) {
97
- this.sendUpdate({
98
- isRunning: false
99
- });
100
- this.emit('stop');
101
- }
102
- };
103
-
104
- async init() {
105
- await Promise.all(Object.values(this.pools).map(pool => pool.init()));
106
- }
107
-
108
- updateTests(testsDiff) {
109
- const tests = {};
110
- const removedTests = [];
111
- Object.entries(testsDiff).forEach(([id, newTest]) => {
112
- const oldTest = this.tests[id];
113
-
114
- if (newTest) {
115
- if (oldTest) {
116
- this.tests[id] = { ...newTest,
117
- retries: oldTest.retries,
118
- results: oldTest.results,
119
- approved: oldTest.approved
120
- };
121
- } else this.tests[id] = newTest; // eslint-disable-next-line @typescript-eslint/no-unused-vars
122
-
123
-
124
- const {
125
- story,
126
- fn,
127
- ...restTest
128
- } = newTest;
129
- tests[id] = { ...restTest,
130
- status: 'unknown'
131
- };
132
- } else if (oldTest) {
133
- const {
134
- id,
135
- browser,
136
- testName,
137
- storyPath,
138
- storyId
139
- } = oldTest;
140
- removedTests.push({
141
- id,
142
- browser,
143
- testName,
144
- storyPath,
145
- storyId
146
- });
147
- delete this.tests[id];
148
- }
149
- });
150
- this.sendUpdate({
151
- tests,
152
- removedTests
153
- });
154
- }
155
-
156
- start(ids) {
157
- if (this.isRunning) return;
158
- const testsToStart = ids.map(id => this.tests[id]).filter(_types.isDefined).filter(test => !test.skip);
159
- if (testsToStart.length == 0) return;
160
- this.sendUpdate({
161
- isRunning: true,
162
- tests: testsToStart.reduce((update, {
163
- id,
164
- storyId,
165
- browser,
166
- testName,
167
- storyPath
168
- }) => ({ ...update,
169
- [id]: {
170
- id,
171
- browser,
172
- testName,
173
- storyPath,
174
- status: 'pending',
175
- storyId
176
- }
177
- }), {})
178
- });
179
- const testsByBrowser = testsToStart.reduce((tests, test) => {
180
- const {
181
- id,
182
- browser,
183
- testName,
184
- storyPath
185
- } = test;
186
- const restPath = [...storyPath, testName].filter(_types.isDefined);
187
- test.status = 'pending';
188
- return { ...tests,
189
- [browser]: [...(tests[browser] || []), {
190
- id,
191
- path: restPath
192
- }]
193
- };
194
- }, {});
195
- this.browsers.forEach(browser => {
196
- const pool = this.pools[browser];
197
- const tests = testsByBrowser[browser];
198
-
199
- if (tests && tests.length > 0 && pool.start(tests)) {
200
- pool.once('stop', this.handlePoolStop);
201
- }
202
- });
203
- }
204
-
205
- stop() {
206
- if (!this.isRunning) return;
207
- this.browsers.forEach(browser => this.pools[browser].stop());
208
- }
209
-
210
- get status() {
211
- const tests = {};
212
- Object.values(this.tests).filter(_types.isDefined) // eslint-disable-next-line @typescript-eslint/no-unused-vars
213
- .forEach(({
214
- story,
215
- fn,
216
- ...test
217
- }) => tests[test.id] = test);
218
- return {
219
- isRunning: this.isRunning,
220
- tests,
221
- browsers: this.browsers
222
- };
223
- }
224
-
225
- async approve({
226
- id,
227
- retry,
228
- image
229
- }) {
230
- const test = this.tests[id];
231
- if (!test || !test.results) return;
232
- const result = test.results[retry];
233
- if (!result || !result.images) return;
234
- const images = result.images[image];
235
- if (!images) return;
236
-
237
- if (!test.approved) {
238
- test.approved = {};
239
- }
240
-
241
- const {
242
- browser,
243
- testName,
244
- storyPath
245
- } = test;
246
- const restPath = [...storyPath, testName].filter(_types.isDefined);
247
-
248
- const testPath = _path.default.join(...restPath, image == browser ? '' : browser);
249
-
250
- const srcImagePath = _path.default.join(this.reportDir, testPath, images.actual);
251
-
252
- const dstImagePath = _path.default.join(this.screenDir, testPath, `${image}.png`);
253
-
254
- await mkdirAsync(_path.default.join(this.screenDir, testPath), {
255
- recursive: true
256
- });
257
- await copyFileAsync(srcImagePath, dstImagePath);
258
- test.approved[image] = retry;
259
- this.sendUpdate({
260
- tests: {
261
- [id]: {
262
- id,
263
- browser,
264
- testName,
265
- storyPath,
266
- approved: {
267
- [image]: retry
268
- },
269
- storyId: test.storyId
270
- }
271
- }
272
- });
273
- }
274
-
275
- sendUpdate(data) {
276
- this.emit('update', data);
277
- }
278
-
279
- }
280
-
281
- exports.default = Runner;
@@ -1,129 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = server;
7
-
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
- var _http = _interopRequireDefault(require("http"));
11
-
12
- var _cluster = _interopRequireDefault(require("cluster"));
13
-
14
- var _koa = _interopRequireDefault(require("koa"));
15
-
16
- var _cors = _interopRequireDefault(require("@koa/cors"));
17
-
18
- var _koaStatic = _interopRequireDefault(require("koa-static"));
19
-
20
- var _koaMount = _interopRequireDefault(require("koa-mount"));
21
-
22
- var _koaBodyparser = _interopRequireDefault(require("koa-bodyparser"));
23
-
24
- var _ws = _interopRequireDefault(require("ws"));
25
-
26
- var _messages = require("../messages");
27
-
28
- var _types = require("../../types");
29
-
30
- var _logger = require("../logger");
31
-
32
- var _shared = require("../../shared");
33
-
34
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
-
36
- function server(reportDir, port, ui) {
37
- let resolveApi = _types.noop;
38
- let setStoriesCounter = 0;
39
- const creeveyApi = new Promise(resolve => resolveApi = resolve);
40
- const app = new _koa.default();
41
-
42
- const server = _http.default.createServer(app.callback());
43
-
44
- const wss = new _ws.default.Server({
45
- server
46
- });
47
- app.use((0, _cors.default)());
48
- app.use((0, _koaBodyparser.default)());
49
- app.use(async (ctx, next) => {
50
- if (ctx.method == 'GET' && ctx.path == '/ping') {
51
- ctx.body = 'pong';
52
- return;
53
- }
54
-
55
- await next();
56
- });
57
-
58
- if (ui) {
59
- app.use(async (_, next) => {
60
- await creeveyApi;
61
- await next();
62
- });
63
- }
64
-
65
- app.use(async (ctx, next) => {
66
- if (ctx.method == 'POST' && ctx.path == '/stories') {
67
- const {
68
- setStoriesCounter: counter,
69
- stories
70
- } = ctx.request.body;
71
- if (setStoriesCounter >= counter) return;
72
- const deserializedStories = stories.map(([file, stories]) => [file, stories.map(_shared.deserializeStory)]);
73
- setStoriesCounter = counter;
74
- (0, _messages.emitStoriesMessage)({
75
- type: 'update',
76
- payload: deserializedStories
77
- });
78
- Object.values(_cluster.default.workers ?? {}).filter(_types.isDefined).filter(worker => worker.isConnected()).forEach(worker => (0, _messages.sendStoriesMessage)(worker, {
79
- type: 'update',
80
- payload: deserializedStories
81
- }));
82
- return;
83
- }
84
-
85
- await next();
86
- });
87
- app.use(async (ctx, next) => {
88
- if (ctx.method == 'POST' && ctx.path == '/capture') {
89
- const {
90
- workerId,
91
- options
92
- } = ctx.request.body;
93
- const worker = Object.values(_cluster.default.workers ?? {}).filter(_types.isDefined).find(worker => worker.process.pid == workerId); // NOTE: Hypothetical case when someone send to us capture req and we don't have a worker with browser session for it
94
-
95
- if (!worker) return;
96
- await new Promise(resolve => {
97
- const unsubscribe = (0, _messages.subscribeOnWorker)(worker, 'stories', message => {
98
- if (message.type != 'capture') return;
99
- unsubscribe();
100
- resolve();
101
- });
102
- (0, _messages.sendStoriesMessage)(worker, {
103
- type: 'capture',
104
- payload: options
105
- });
106
- }); // TODO Pass screenshot result to show it in inspector
107
-
108
- ctx.body = 'Ok';
109
- return;
110
- }
111
-
112
- await next();
113
- });
114
- app.use((0, _koaStatic.default)(_path.default.join(__dirname, '../../client/web')));
115
- app.use((0, _koaMount.default)('/report', (0, _koaStatic.default)(reportDir)));
116
- wss.on('error', error => _logger.logger.error(error));
117
- server.listen(port);
118
- (0, _messages.subscribeOn)('shutdown', () => {
119
- server.close();
120
- wss.close();
121
- });
122
- void creeveyApi.then(api => {
123
- api.subscribe(wss);
124
- wss.on('connection', ws => {
125
- ws.on('message', message => api.handleMessage(ws, message));
126
- });
127
- });
128
- return resolveApi;
129
- }
@@ -1,264 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.emitDockerMessage = emitDockerMessage;
7
- exports.emitShutdownMessage = emitShutdownMessage;
8
- exports.emitStoriesMessage = emitStoriesMessage;
9
- exports.emitTestMessage = emitTestMessage;
10
- exports.emitWebpackMessage = emitWebpackMessage;
11
- exports.emitWorkerMessage = emitWorkerMessage;
12
- exports.sendDockerMessage = sendDockerMessage;
13
- exports.sendShutdownMessage = sendShutdownMessage;
14
- exports.sendStoriesMessage = sendStoriesMessage;
15
- exports.sendTestMessage = sendTestMessage;
16
- exports.subscribeOn = subscribeOn;
17
- exports.subscribeOnWorker = subscribeOnWorker;
18
-
19
- var _cluster = _interopRequireDefault(require("cluster"));
20
-
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
-
23
- function emitMessage(message) {
24
- var _process$send, _process;
25
-
26
- if (_cluster.default.isWorker && !process.connected) return false;
27
- return ((_process$send = (_process = process).send) === null || _process$send === void 0 ? void 0 : _process$send.call(_process, message)) ?? // @ts-expect-error: wrong typings `process.emit` return boolean
28
- process.emit('message', message);
29
- }
30
-
31
- function emitWorkerMessage(message) {
32
- return emitMessage({
33
- scope: 'worker',
34
- ...message
35
- });
36
- }
37
-
38
- function emitStoriesMessage(message) {
39
- return emitMessage({
40
- scope: 'stories',
41
- ...message
42
- });
43
- }
44
-
45
- function emitTestMessage(message) {
46
- return emitMessage({
47
- scope: 'test',
48
- ...message
49
- });
50
- }
51
-
52
- function emitWebpackMessage(message) {
53
- return emitMessage({
54
- scope: 'webpack',
55
- ...message
56
- });
57
- }
58
-
59
- function emitDockerMessage(message) {
60
- return emitMessage({
61
- scope: 'docker',
62
- ...message
63
- });
64
- }
65
-
66
- function emitShutdownMessage() {
67
- return emitMessage({
68
- scope: 'shutdown'
69
- });
70
- }
71
-
72
- function createHandlers() {
73
- return Object.assign(Object.create(null), {
74
- worker: new Set(),
75
- stories: new Set(),
76
- test: new Set(),
77
- webpack: new Set(),
78
- docker: new Set(),
79
- shutdown: new Set()
80
- });
81
- }
82
-
83
- const handlers = createHandlers();
84
-
85
- const handler = message => {
86
- switch (message.scope) {
87
- case 'worker':
88
- return handlers.worker.forEach(h => h(message));
89
-
90
- case 'stories':
91
- return handlers.stories.forEach(h => h(message));
92
-
93
- case 'test':
94
- return handlers.test.forEach(h => h(message));
95
-
96
- case 'webpack':
97
- return handlers.webpack.forEach(h => h(message));
98
-
99
- case 'docker':
100
- return handlers.docker.forEach(h => h(message));
101
-
102
- case 'shutdown':
103
- return handlers.shutdown.forEach(h => h(message));
104
- }
105
- };
106
-
107
- process.on('message', handler);
108
-
109
- function sendStoriesMessage(target, message) {
110
- var _target$send;
111
-
112
- (_target$send = target.send) === null || _target$send === void 0 ? void 0 : _target$send.call(target, {
113
- scope: 'stories',
114
- ...message
115
- });
116
- }
117
-
118
- function sendTestMessage(target, message) {
119
- var _target$send2;
120
-
121
- (_target$send2 = target.send) === null || _target$send2 === void 0 ? void 0 : _target$send2.call(target, {
122
- scope: 'test',
123
- ...message
124
- });
125
- }
126
-
127
- function sendDockerMessage(target, message) {
128
- var _target$send3;
129
-
130
- (_target$send3 = target.send) === null || _target$send3 === void 0 ? void 0 : _target$send3.call(target, {
131
- scope: 'docker',
132
- ...message
133
- });
134
- }
135
-
136
- function sendShutdownMessage(target) {
137
- var _target$send4;
138
-
139
- (_target$send4 = target.send) === null || _target$send4 === void 0 ? void 0 : _target$send4.call(target, {
140
- scope: 'shutdown'
141
- });
142
- }
143
-
144
- function subscribeOn(scope, handler) {
145
- switch (scope) {
146
- case 'worker':
147
- {
148
- const workerHandler = handler;
149
- handlers.worker.add(workerHandler);
150
- return () => handlers.worker.delete(workerHandler);
151
- }
152
-
153
- case 'stories':
154
- {
155
- const storiesHandler = handler;
156
- handlers.stories.add(storiesHandler);
157
- return () => handlers.stories.delete(storiesHandler);
158
- }
159
-
160
- case 'test':
161
- {
162
- const testHandler = handler;
163
- handlers.test.add(testHandler);
164
- return () => handlers.test.delete(testHandler);
165
- }
166
-
167
- case 'webpack':
168
- {
169
- const webpackHandler = handler;
170
- handlers.webpack.add(webpackHandler);
171
- return () => handlers.webpack.delete(webpackHandler);
172
- }
173
-
174
- case 'docker':
175
- {
176
- const dockerHandler = handler;
177
- handlers.docker.add(dockerHandler);
178
- return () => handlers.docker.delete(dockerHandler);
179
- }
180
-
181
- case 'shutdown':
182
- {
183
- const shutdownHandler = handler;
184
- handlers.shutdown.add(shutdownHandler);
185
- return () => handlers.shutdown.delete(shutdownHandler);
186
- }
187
- }
188
- }
189
-
190
- const workers = new Map();
191
-
192
- function subscribeOnWorker(worker, scope, handler) {
193
- const workerHandlers = workers.get(worker) ?? createHandlers();
194
-
195
- if (!workers.has(worker)) {
196
- workers.set(worker, workerHandlers);
197
- worker.once('exit', () => workers.delete(worker));
198
- worker.on('message', message => {
199
- switch (message.scope) {
200
- case 'worker':
201
- return workerHandlers.worker.forEach(h => h(message));
202
-
203
- case 'stories':
204
- return workerHandlers.stories.forEach(h => h(message));
205
-
206
- case 'test':
207
- return workerHandlers.test.forEach(h => h(message));
208
-
209
- case 'webpack':
210
- return workerHandlers.webpack.forEach(h => h(message));
211
-
212
- case 'docker':
213
- return workerHandlers.docker.forEach(h => h(message));
214
-
215
- case 'shutdown':
216
- return workerHandlers.shutdown.forEach(h => h(message));
217
- }
218
- });
219
- }
220
-
221
- switch (scope) {
222
- case 'worker':
223
- {
224
- const workerHandler = handler;
225
- workerHandlers.worker.add(workerHandler);
226
- return () => workerHandlers.worker.delete(workerHandler);
227
- }
228
-
229
- case 'stories':
230
- {
231
- const storiesHandler = handler;
232
- workerHandlers.stories.add(storiesHandler);
233
- return () => workerHandlers.stories.delete(storiesHandler);
234
- }
235
-
236
- case 'test':
237
- {
238
- const testHandler = handler;
239
- workerHandlers.test.add(testHandler);
240
- return () => workerHandlers.test.delete(testHandler);
241
- }
242
-
243
- case 'webpack':
244
- {
245
- const webpackHandler = handler;
246
- workerHandlers.webpack.add(webpackHandler);
247
- return () => workerHandlers.webpack.delete(webpackHandler);
248
- }
249
-
250
- case 'docker':
251
- {
252
- const dockerHandler = handler;
253
- workerHandlers.docker.add(dockerHandler);
254
- return () => workerHandlers.docker.delete(dockerHandler);
255
- }
256
-
257
- case 'shutdown':
258
- {
259
- const shutdownHandler = handler;
260
- workerHandlers.shutdown.add(shutdownHandler);
261
- return () => workerHandlers.shutdown.delete(shutdownHandler);
262
- }
263
- }
264
- }