creevey 0.9.0-beta.20 → 0.9.0-beta.22

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 (475) hide show
  1. package/README.md +2 -2
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +5 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/client/addon/components/Addon.d.ts +8 -0
  6. package/dist/client/addon/components/Addon.js +57 -0
  7. package/dist/client/addon/components/Addon.js.map +1 -0
  8. package/{lib/types → dist}/client/addon/components/Icons.d.ts +0 -1
  9. package/dist/client/addon/components/Icons.js +18 -0
  10. package/dist/client/addon/components/Icons.js.map +1 -0
  11. package/{lib/types → dist}/client/addon/components/Panel.d.ts +1 -2
  12. package/dist/client/addon/components/Panel.js +32 -0
  13. package/dist/client/addon/components/Panel.js.map +1 -0
  14. package/{lib/types → dist}/client/addon/components/TestSelect.d.ts +1 -2
  15. package/dist/client/addon/components/TestSelect.js +33 -0
  16. package/dist/client/addon/components/TestSelect.js.map +1 -0
  17. package/dist/client/addon/components/Tools.d.ts +6 -0
  18. package/dist/client/addon/components/Tools.js +89 -0
  19. package/dist/client/addon/components/Tools.js.map +1 -0
  20. package/{lib/types/client/addon/Manager.d.ts → dist/client/addon/controller.d.ts} +8 -7
  21. package/dist/client/addon/controller.js +208 -0
  22. package/dist/client/addon/controller.js.map +1 -0
  23. package/dist/client/addon/decorator.js +6 -0
  24. package/dist/client/addon/decorator.js.map +1 -0
  25. package/dist/client/addon/index.d.ts +2 -0
  26. package/dist/client/addon/index.js +19 -0
  27. package/dist/client/addon/index.js.map +1 -0
  28. package/dist/client/addon/manager.js +41 -0
  29. package/dist/client/addon/manager.js.map +1 -0
  30. package/dist/client/addon/preset.js +6 -0
  31. package/dist/client/addon/preset.js.map +1 -0
  32. package/dist/client/addon/preview.js +8 -0
  33. package/dist/client/addon/preview.js.map +1 -0
  34. package/dist/client/addon/readyForCapture.js +7 -0
  35. package/dist/client/addon/readyForCapture.js.map +1 -0
  36. package/{lib/types → dist}/client/addon/utils.d.ts +1 -1
  37. package/dist/client/addon/utils.js +27 -0
  38. package/dist/client/addon/utils.js.map +1 -0
  39. package/{lib/types → dist}/client/addon/withCreevey.d.ts +3 -3
  40. package/dist/client/addon/withCreevey.js +286 -0
  41. package/dist/client/addon/withCreevey.js.map +1 -0
  42. package/{lib/types → dist}/client/shared/components/ImagesView/BlendView.d.ts +2 -2
  43. package/dist/client/shared/components/ImagesView/BlendView.js +74 -0
  44. package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -0
  45. package/dist/client/shared/components/ImagesView/ImagesView.d.ts +9 -0
  46. package/dist/client/shared/components/ImagesView/ImagesView.js +43 -0
  47. package/dist/client/shared/components/ImagesView/ImagesView.js.map +1 -0
  48. package/{lib/types → dist}/client/shared/components/ImagesView/SideBySideView.d.ts +2 -2
  49. package/dist/client/shared/components/ImagesView/SideBySideView.js +121 -0
  50. package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -0
  51. package/{lib/types → dist}/client/shared/components/ImagesView/SlideView.d.ts +2 -2
  52. package/dist/client/shared/components/ImagesView/SlideView.js +136 -0
  53. package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -0
  54. package/{lib/types → dist}/client/shared/components/ImagesView/SwapView.d.ts +2 -2
  55. package/dist/client/shared/components/ImagesView/SwapView.js +72 -0
  56. package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -0
  57. package/{lib/types/client/shared/components/ImagesView/ImagesView.d.ts → dist/client/shared/components/ImagesView/common.d.ts} +1 -11
  58. package/dist/client/shared/components/ImagesView/common.js +14 -0
  59. package/dist/client/shared/components/ImagesView/common.js.map +1 -0
  60. package/dist/client/shared/components/ImagesView/index.d.ts +5 -0
  61. package/dist/client/shared/components/ImagesView/index.js +14 -0
  62. package/dist/client/shared/components/ImagesView/index.js.map +1 -0
  63. package/{lib/types → dist}/client/shared/components/PageFooter/PageFooter.d.ts +0 -1
  64. package/dist/client/shared/components/PageFooter/PageFooter.js +25 -0
  65. package/dist/client/shared/components/PageFooter/PageFooter.js.map +1 -0
  66. package/{lib/types → dist}/client/shared/components/PageFooter/Paging.d.ts +1 -2
  67. package/dist/client/shared/components/PageFooter/Paging.js +68 -0
  68. package/dist/client/shared/components/PageFooter/Paging.js.map +1 -0
  69. package/{lib/types → dist}/client/shared/components/PageHeader/ImagePreview.d.ts +1 -1
  70. package/dist/client/shared/components/PageHeader/ImagePreview.js +61 -0
  71. package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -0
  72. package/{lib/types → dist}/client/shared/components/PageHeader/PageHeader.d.ts +2 -5
  73. package/dist/client/shared/components/PageHeader/PageHeader.js +86 -0
  74. package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -0
  75. package/{lib/types → dist}/client/shared/components/ResultsPage.d.ts +3 -5
  76. package/dist/client/shared/components/ResultsPage.js +95 -0
  77. package/dist/client/shared/components/ResultsPage.js.map +1 -0
  78. package/{lib/types → dist}/client/shared/creeveyClientApi.d.ts +1 -1
  79. package/dist/client/shared/creeveyClientApi.js +53 -0
  80. package/dist/client/shared/creeveyClientApi.js.map +1 -0
  81. package/{lib/types → dist}/client/shared/helpers.d.ts +3 -3
  82. package/dist/client/shared/helpers.js +381 -0
  83. package/dist/client/shared/helpers.js.map +1 -0
  84. package/{lib/types → dist}/client/shared/viewMode.d.ts +1 -1
  85. package/dist/client/shared/viewMode.js +11 -0
  86. package/dist/client/shared/viewMode.js.map +1 -0
  87. package/dist/client/web/202.js +1 -0
  88. package/dist/client/web/270.js +43 -0
  89. package/dist/client/web/752.js +1 -0
  90. package/{lib/types → dist}/client/web/CreeveyApp.d.ts +2 -3
  91. package/dist/client/web/CreeveyApp.js +130 -0
  92. package/dist/client/web/CreeveyApp.js.map +1 -0
  93. package/{lib/types → dist}/client/web/CreeveyContext.d.ts +1 -1
  94. package/dist/client/web/CreeveyContext.js +17 -0
  95. package/dist/client/web/CreeveyContext.js.map +1 -0
  96. package/dist/client/web/CreeveyLoader.d.ts +3 -0
  97. package/dist/client/web/CreeveyLoader.js +52 -0
  98. package/dist/client/web/CreeveyLoader.js.map +1 -0
  99. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Checkbox.d.ts +2 -2
  100. package/dist/client/web/CreeveyView/SideBar/Checkbox.js +86 -0
  101. package/dist/client/web/CreeveyView/SideBar/Checkbox.js.map +1 -0
  102. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Search.d.ts +0 -1
  103. package/dist/client/web/CreeveyView/SideBar/Search.js +125 -0
  104. package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -0
  105. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBar.d.ts +2 -2
  106. package/dist/client/web/CreeveyView/SideBar/SideBar.js +101 -0
  107. package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -0
  108. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +2 -3
  109. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +113 -0
  110. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -0
  111. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SuiteLink.d.ts +14 -14
  112. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +108 -0
  113. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -0
  114. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestLink.d.ts +1 -2
  115. package/dist/client/web/CreeveyView/SideBar/TestLink.js +63 -0
  116. package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -0
  117. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +2 -2
  118. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js +52 -0
  119. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js.map +1 -0
  120. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestsStatus.d.ts +3 -3
  121. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js +74 -0
  122. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js.map +1 -0
  123. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Toggle.d.ts +0 -1
  124. package/dist/client/web/CreeveyView/SideBar/Toggle.js +69 -0
  125. package/dist/client/web/CreeveyView/SideBar/Toggle.js.map +1 -0
  126. package/dist/client/web/CreeveyView/SideBar/index.d.ts +1 -0
  127. package/dist/client/web/CreeveyView/SideBar/index.js +6 -0
  128. package/dist/client/web/CreeveyView/SideBar/index.js.map +1 -0
  129. package/{lib/types → dist}/client/web/KeyboardEventsContext.d.ts +4 -4
  130. package/dist/client/web/KeyboardEventsContext.js +116 -0
  131. package/dist/client/web/KeyboardEventsContext.js.map +1 -0
  132. package/{lib/types → dist}/client/web/index.d.ts +1 -1
  133. package/{lib/cjs → dist}/client/web/index.html +12 -3
  134. package/dist/client/web/index.js +75 -0
  135. package/dist/client/web/index.js.map +1 -0
  136. package/dist/client/web/main.js +79 -0
  137. package/dist/creevey.d.ts +1 -0
  138. package/dist/creevey.js +52 -0
  139. package/dist/creevey.js.map +1 -0
  140. package/dist/index.d.ts +5 -0
  141. package/dist/index.js +24 -0
  142. package/dist/index.js.map +1 -0
  143. package/{lib/types → dist}/server/config.d.ts +1 -1
  144. package/dist/server/config.js +86 -0
  145. package/dist/server/config.js.map +1 -0
  146. package/{lib/types → dist}/server/docker.d.ts +2 -2
  147. package/dist/server/docker.js +122 -0
  148. package/dist/server/docker.js.map +1 -0
  149. package/{lib/types → dist}/server/index.d.ts +1 -1
  150. package/dist/server/index.js +47 -0
  151. package/dist/server/index.js.map +1 -0
  152. package/{lib/types → dist}/server/logger.d.ts +2 -2
  153. package/dist/server/logger.js +25 -0
  154. package/dist/server/logger.js.map +1 -0
  155. package/{lib/types → dist}/server/master/api.d.ts +1 -1
  156. package/dist/server/master/api.js +50 -0
  157. package/dist/server/master/api.js.map +1 -0
  158. package/dist/server/master/index.d.ts +3 -0
  159. package/dist/server/master/index.js +110 -0
  160. package/dist/server/master/index.js.map +1 -0
  161. package/{lib/types → dist}/server/master/master.d.ts +2 -2
  162. package/dist/server/master/master.js +40 -0
  163. package/dist/server/master/master.js.map +1 -0
  164. package/{lib/types → dist}/server/master/pool.d.ts +1 -2
  165. package/dist/server/master/pool.js +186 -0
  166. package/dist/server/master/pool.js.map +1 -0
  167. package/{lib/types → dist}/server/master/runner.d.ts +3 -8
  168. package/dist/server/master/runner.js +172 -0
  169. package/dist/server/master/runner.js.map +1 -0
  170. package/dist/server/master/server.d.ts +2 -0
  171. package/dist/server/master/server.js +114 -0
  172. package/dist/server/master/server.js.map +1 -0
  173. package/{lib/types → dist}/server/messages.d.ts +1 -4
  174. package/dist/server/messages.js +222 -0
  175. package/dist/server/messages.js.map +1 -0
  176. package/{lib/types → dist}/server/selenium/browser.d.ts +1 -1
  177. package/dist/server/selenium/browser.js +634 -0
  178. package/dist/server/selenium/browser.js.map +1 -0
  179. package/dist/server/selenium/index.d.ts +2 -0
  180. package/dist/server/selenium/index.js +19 -0
  181. package/dist/server/selenium/index.js.map +1 -0
  182. package/{lib/types → dist}/server/selenium/selenoid.d.ts +1 -1
  183. package/dist/server/selenium/selenoid.js +120 -0
  184. package/dist/server/selenium/selenoid.js.map +1 -0
  185. package/{lib/types → dist}/server/stories.d.ts +2 -7
  186. package/dist/server/stories.js +92 -0
  187. package/dist/server/stories.js.map +1 -0
  188. package/dist/server/storybook/providers/browser.d.ts +2 -0
  189. package/dist/server/storybook/providers/browser.js +60 -0
  190. package/dist/server/storybook/providers/browser.js.map +1 -0
  191. package/dist/server/storybook/providers/hybrid.d.ts +2 -0
  192. package/dist/server/storybook/providers/hybrid.js +59 -0
  193. package/dist/server/storybook/providers/hybrid.js.map +1 -0
  194. package/dist/server/telemetry.js +196 -0
  195. package/dist/server/telemetry.js.map +1 -0
  196. package/{lib/types → dist}/server/testsFiles/parser.d.ts +2 -6
  197. package/dist/server/testsFiles/parser.js +50 -0
  198. package/dist/server/testsFiles/parser.js.map +1 -0
  199. package/dist/server/update.d.ts +2 -0
  200. package/dist/server/update.js +53 -0
  201. package/dist/server/update.js.map +1 -0
  202. package/{lib/types → dist}/server/utils.d.ts +10 -9
  203. package/dist/server/utils.js +157 -0
  204. package/dist/server/utils.js.map +1 -0
  205. package/{lib/types → dist}/server/worker/chai-image.d.ts +1 -2
  206. package/dist/server/worker/chai-image.js +113 -0
  207. package/dist/server/worker/chai-image.js.map +1 -0
  208. package/{lib/types → dist}/server/worker/helpers.d.ts +1 -1
  209. package/dist/server/worker/helpers.js +57 -0
  210. package/dist/server/worker/helpers.js.map +1 -0
  211. package/dist/server/worker/index.d.ts +1 -0
  212. package/dist/server/worker/index.js +6 -0
  213. package/dist/server/worker/index.js.map +1 -0
  214. package/dist/server/worker/reporter.js +130 -0
  215. package/dist/server/worker/reporter.js.map +1 -0
  216. package/dist/server/worker/worker.d.ts +4 -0
  217. package/dist/server/worker/worker.js +213 -0
  218. package/dist/server/worker/worker.js.map +1 -0
  219. package/{lib/types → dist}/shared/index.d.ts +1 -1
  220. package/dist/shared/index.js +77 -0
  221. package/dist/shared/index.js.map +1 -0
  222. package/dist/shared/serializeRegExp.js +25 -0
  223. package/dist/shared/serializeRegExp.js.map +1 -0
  224. package/{lib/types → dist}/types.d.ts +48 -71
  225. package/dist/types.js +61 -0
  226. package/dist/types.js.map +1 -0
  227. package/docs/config.md +1 -4
  228. package/docs/tests.md +3 -3
  229. package/manager/package.json +3 -0
  230. package/package.json +76 -103
  231. package/preset/README.md +3 -0
  232. package/preset/package.json +3 -0
  233. package/preview/README.md +3 -0
  234. package/preview/package.json +3 -0
  235. package/src/cli.ts +3 -0
  236. package/src/client/addon/components/Addon.tsx +53 -0
  237. package/src/client/addon/components/Icons.tsx +28 -0
  238. package/src/client/addon/components/Panel.tsx +53 -0
  239. package/src/client/addon/components/TestSelect.tsx +48 -0
  240. package/src/client/addon/components/Tools.tsx +93 -0
  241. package/src/client/addon/controller.ts +224 -0
  242. package/src/client/addon/decorator.ts +3 -0
  243. package/src/client/addon/index.ts +2 -0
  244. package/src/client/addon/manager.ts +44 -0
  245. package/{lib/esm/client/addon/preset.js → src/client/addon/preset.ts} +2 -1
  246. package/src/client/addon/preview.ts +7 -0
  247. package/src/client/addon/readyForCapture.ts +9 -0
  248. package/src/client/addon/utils.tsx +24 -0
  249. package/src/client/addon/withCreevey.ts +326 -0
  250. package/src/client/shared/components/ImagesView/BlendView.tsx +71 -0
  251. package/src/client/shared/components/ImagesView/ImagesView.tsx +62 -0
  252. package/src/client/shared/components/ImagesView/SideBySideView.tsx +139 -0
  253. package/{lib/esm/client/shared/components/ImagesView/SlideView.js → src/client/shared/components/ImagesView/SlideView.tsx} +78 -75
  254. package/src/client/shared/components/ImagesView/SwapView.tsx +81 -0
  255. package/src/client/shared/components/ImagesView/common.ts +23 -0
  256. package/src/client/shared/components/ImagesView/index.ts +5 -0
  257. package/src/client/shared/components/PageFooter/PageFooter.tsx +44 -0
  258. package/src/client/shared/components/PageFooter/Paging.tsx +105 -0
  259. package/src/client/shared/components/PageHeader/ImagePreview.tsx +82 -0
  260. package/src/client/shared/components/PageHeader/PageHeader.tsx +123 -0
  261. package/src/client/shared/components/ResultsPage.tsx +135 -0
  262. package/src/client/shared/creeveyClientApi.ts +64 -0
  263. package/src/client/shared/helpers.ts +422 -0
  264. package/src/client/shared/viewMode.ts +10 -0
  265. package/src/client/web/CreeveyApp.tsx +177 -0
  266. package/src/client/web/CreeveyContext.tsx +20 -0
  267. package/src/client/web/CreeveyLoader.tsx +56 -0
  268. package/src/client/web/CreeveyView/SideBar/Checkbox.tsx +118 -0
  269. package/src/client/web/CreeveyView/SideBar/Search.tsx +140 -0
  270. package/src/client/web/CreeveyView/SideBar/SideBar.tsx +125 -0
  271. package/src/client/web/CreeveyView/SideBar/SideBarHeader.tsx +138 -0
  272. package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +118 -0
  273. package/src/client/web/CreeveyView/SideBar/TestLink.tsx +67 -0
  274. package/src/client/web/CreeveyView/SideBar/TestStatusIcon.tsx +58 -0
  275. package/src/client/web/CreeveyView/SideBar/TestsStatus.tsx +105 -0
  276. package/src/client/web/CreeveyView/SideBar/Toggle.tsx +85 -0
  277. package/src/client/web/CreeveyView/SideBar/index.ts +1 -0
  278. package/src/client/web/KeyboardEventsContext.tsx +121 -0
  279. package/{lib/esm → src}/client/web/index.html +12 -3
  280. package/src/client/web/index.tsx +63 -0
  281. package/src/creevey.ts +47 -0
  282. package/src/index.ts +4 -0
  283. package/src/server/config.ts +83 -0
  284. package/src/server/docker.ts +136 -0
  285. package/src/server/index.ts +51 -0
  286. package/{lib/esm/server/logger.js → src/server/logger.ts} +8 -6
  287. package/src/server/master/api.ts +55 -0
  288. package/src/server/master/index.ts +111 -0
  289. package/src/server/master/master.ts +47 -0
  290. package/src/server/master/pool.ts +203 -0
  291. package/src/server/master/runner.ts +189 -0
  292. package/src/server/master/server.ts +124 -0
  293. package/src/server/messages.ts +273 -0
  294. package/src/server/selenium/browser.ts +834 -0
  295. package/src/server/selenium/index.ts +2 -0
  296. package/src/server/selenium/selenoid.ts +154 -0
  297. package/src/server/stories.ts +133 -0
  298. package/src/server/storybook/providers/browser.ts +58 -0
  299. package/src/server/storybook/providers/hybrid.ts +70 -0
  300. package/src/server/telemetry.ts +212 -0
  301. package/src/server/testsFiles/parser.ts +62 -0
  302. package/src/server/update.ts +74 -0
  303. package/src/server/utils.ts +206 -0
  304. package/src/server/worker/chai-image.ts +147 -0
  305. package/src/server/worker/helpers.ts +61 -0
  306. package/src/server/worker/index.ts +1 -0
  307. package/src/server/worker/reporter.ts +170 -0
  308. package/src/server/worker/worker.ts +234 -0
  309. package/src/shared/index.ts +76 -0
  310. package/src/shared/serializeRegExp.ts +26 -0
  311. package/src/types.ts +500 -0
  312. package/types/chai.d.ts +0 -1
  313. package/types/global.d.ts +1 -1
  314. package/types/mocha.d.ts +1 -1
  315. package/.yarn/install-state.gz +0 -0
  316. package/addon/package.json +0 -5
  317. package/jest.config.js +0 -6
  318. package/lib/cjs/cli.js +0 -6
  319. package/lib/cjs/client/addon/Manager.js +0 -192
  320. package/lib/cjs/client/addon/components/Addon.js +0 -48
  321. package/lib/cjs/client/addon/components/Icons.js +0 -40
  322. package/lib/cjs/client/addon/components/Panel.js +0 -59
  323. package/lib/cjs/client/addon/components/TestSelect.js +0 -52
  324. package/lib/cjs/client/addon/components/Tools.js +0 -84
  325. package/lib/cjs/client/addon/decorator.js +0 -8
  326. package/lib/cjs/client/addon/index.js +0 -27
  327. package/lib/cjs/client/addon/preset.js +0 -8
  328. package/lib/cjs/client/addon/preview.js +0 -11
  329. package/lib/cjs/client/addon/readyForCapture.js +0 -9
  330. package/lib/cjs/client/addon/register.js +0 -57
  331. package/lib/cjs/client/addon/utils.js +0 -34
  332. package/lib/cjs/client/addon/withCreevey.js +0 -272
  333. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -75
  334. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -76
  335. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -139
  336. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -151
  337. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -79
  338. package/lib/cjs/client/shared/components/ImagesView/index.js +0 -40
  339. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -43
  340. package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -77
  341. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -86
  342. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -100
  343. package/lib/cjs/client/shared/components/ResultsPage.js +0 -116
  344. package/lib/cjs/client/shared/creeveyClientApi.js +0 -66
  345. package/lib/cjs/client/shared/helpers.js +0 -357
  346. package/lib/cjs/client/shared/viewMode.js +0 -13
  347. package/lib/cjs/client/web/192.js +0 -1
  348. package/lib/cjs/client/web/632.js +0 -43
  349. package/lib/cjs/client/web/794.js +0 -1
  350. package/lib/cjs/client/web/main.js +0 -79
  351. package/lib/cjs/creevey.js +0 -56
  352. package/lib/cjs/index.js +0 -47
  353. package/lib/cjs/server/config.js +0 -76
  354. package/lib/cjs/server/docker.js +0 -124
  355. package/lib/cjs/server/index.js +0 -58
  356. package/lib/cjs/server/logger.js +0 -34
  357. package/lib/cjs/server/master/api.js +0 -58
  358. package/lib/cjs/server/master/index.js +0 -122
  359. package/lib/cjs/server/master/master.js +0 -42
  360. package/lib/cjs/server/master/pool.js +0 -163
  361. package/lib/cjs/server/master/runner.js +0 -254
  362. package/lib/cjs/server/master/server.js +0 -110
  363. package/lib/cjs/server/messages.js +0 -218
  364. package/lib/cjs/server/selenium/browser.js +0 -644
  365. package/lib/cjs/server/selenium/index.js +0 -27
  366. package/lib/cjs/server/selenium/selenoid.js +0 -148
  367. package/lib/cjs/server/stories.js +0 -148
  368. package/lib/cjs/server/storybook/providers/browser.js +0 -64
  369. package/lib/cjs/server/storybook/providers/hybrid.js +0 -63
  370. package/lib/cjs/server/telemetry.js +0 -167
  371. package/lib/cjs/server/testsFiles/parser.js +0 -56
  372. package/lib/cjs/server/testsFiles/register.js +0 -42
  373. package/lib/cjs/server/update.js +0 -62
  374. package/lib/cjs/server/utils.js +0 -144
  375. package/lib/cjs/server/worker/chai-image.js +0 -116
  376. package/lib/cjs/server/worker/helpers.js +0 -59
  377. package/lib/cjs/server/worker/index.js +0 -13
  378. package/lib/cjs/server/worker/reporter.js +0 -93
  379. package/lib/cjs/server/worker/worker.js +0 -238
  380. package/lib/cjs/shared/index.js +0 -87
  381. package/lib/cjs/shared/serializeRegExp.js +0 -34
  382. package/lib/cjs/types.js +0 -65
  383. package/lib/esm/cli.js +0 -4
  384. package/lib/esm/client/addon/Manager.js +0 -185
  385. package/lib/esm/client/addon/components/Addon.js +0 -39
  386. package/lib/esm/client/addon/components/Icons.js +0 -31
  387. package/lib/esm/client/addon/components/Panel.js +0 -51
  388. package/lib/esm/client/addon/components/TestSelect.js +0 -45
  389. package/lib/esm/client/addon/components/Tools.js +0 -75
  390. package/lib/esm/client/addon/decorator.js +0 -2
  391. package/lib/esm/client/addon/index.js +0 -2
  392. package/lib/esm/client/addon/preview.js +0 -5
  393. package/lib/esm/client/addon/readyForCapture.js +0 -3
  394. package/lib/esm/client/addon/register.js +0 -49
  395. package/lib/esm/client/addon/utils.js +0 -27
  396. package/lib/esm/client/addon/withCreevey.js +0 -263
  397. package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -67
  398. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -67
  399. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -131
  400. package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -71
  401. package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
  402. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -36
  403. package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -70
  404. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -79
  405. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -92
  406. package/lib/esm/client/shared/components/ResultsPage.js +0 -107
  407. package/lib/esm/client/shared/creeveyClientApi.js +0 -60
  408. package/lib/esm/client/shared/helpers.js +0 -327
  409. package/lib/esm/client/shared/viewMode.js +0 -6
  410. package/lib/esm/client/web/192.js +0 -1
  411. package/lib/esm/client/web/632.js +0 -43
  412. package/lib/esm/client/web/794.js +0 -1
  413. package/lib/esm/client/web/main.js +0 -79
  414. package/lib/esm/client/web/main.js.LICENSE.txt +0 -34
  415. package/lib/esm/creevey.js +0 -53
  416. package/lib/esm/index.js +0 -4
  417. package/lib/esm/server/config.js +0 -66
  418. package/lib/esm/server/docker.js +0 -115
  419. package/lib/esm/server/index.js +0 -50
  420. package/lib/esm/server/master/api.js +0 -51
  421. package/lib/esm/server/master/index.js +0 -115
  422. package/lib/esm/server/master/master.js +0 -33
  423. package/lib/esm/server/master/pool.js +0 -154
  424. package/lib/esm/server/master/runner.js +0 -246
  425. package/lib/esm/server/master/server.js +0 -103
  426. package/lib/esm/server/messages.js +0 -200
  427. package/lib/esm/server/selenium/browser.js +0 -631
  428. package/lib/esm/server/selenium/index.js +0 -2
  429. package/lib/esm/server/selenium/selenoid.js +0 -140
  430. package/lib/esm/server/stories.js +0 -139
  431. package/lib/esm/server/storybook/providers/browser.js +0 -56
  432. package/lib/esm/server/storybook/providers/hybrid.js +0 -53
  433. package/lib/esm/server/telemetry.js +0 -160
  434. package/lib/esm/server/testsFiles/parser.js +0 -44
  435. package/lib/esm/server/testsFiles/register.js +0 -34
  436. package/lib/esm/server/update.js +0 -53
  437. package/lib/esm/server/utils.js +0 -125
  438. package/lib/esm/server/worker/chai-image.js +0 -109
  439. package/lib/esm/server/worker/helpers.js +0 -53
  440. package/lib/esm/server/worker/index.js +0 -1
  441. package/lib/esm/server/worker/reporter.js +0 -84
  442. package/lib/esm/server/worker/worker.js +0 -231
  443. package/lib/esm/shared/index.js +0 -77
  444. package/lib/esm/shared/serializeRegExp.js +0 -24
  445. package/lib/esm/types.js +0 -47
  446. package/lib/types/cli.d.ts +0 -1
  447. package/lib/types/client/addon/components/Addon.d.ts +0 -9
  448. package/lib/types/client/addon/components/Tools.d.ts +0 -7
  449. package/lib/types/client/addon/index.d.ts +0 -2
  450. package/lib/types/client/addon/register.d.ts +0 -3
  451. package/lib/types/client/shared/components/ImagesView/index.d.ts +0 -5
  452. package/lib/types/client/web/CreeveyLoader.d.ts +0 -3
  453. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +0 -1
  454. package/lib/types/index.d.ts +0 -6
  455. package/lib/types/server/master/index.d.ts +0 -3
  456. package/lib/types/server/master/server.d.ts +0 -2
  457. package/lib/types/server/selenium/index.d.ts +0 -2
  458. package/lib/types/server/storybook/providers/browser.d.ts +0 -2
  459. package/lib/types/server/storybook/providers/hybrid.d.ts +0 -2
  460. package/lib/types/server/testsFiles/register.d.ts +0 -2
  461. package/lib/types/server/update.d.ts +0 -2
  462. package/lib/types/server/worker/index.d.ts +0 -1
  463. package/lib/types/server/worker/worker.d.ts +0 -4
  464. package/types/babel__register.d.ts +0 -1
  465. package/types/event-source-polyfill.d.ts +0 -6
  466. /package/{lib/types → dist}/client/addon/decorator.d.ts +0 -0
  467. /package/{lib/types/creevey.d.ts → dist/client/addon/manager.d.ts} +0 -0
  468. /package/{lib/types → dist}/client/addon/preset.d.ts +0 -0
  469. /package/{lib/types → dist}/client/addon/preview.d.ts +0 -0
  470. /package/{lib/types → dist}/client/addon/readyForCapture.d.ts +0 -0
  471. /package/{lib/cjs → dist}/client/web/main.js.LICENSE.txt +0 -0
  472. /package/{lib/types → dist}/server/telemetry.d.ts +0 -0
  473. /package/{lib/types → dist}/server/worker/reporter.d.ts +0 -0
  474. /package/{lib/types → dist}/shared/serializeRegExp.d.ts +0 -0
  475. /package/{addon → manager}/README.md +0 -0
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- var _cluster = _interopRequireDefault(require("cluster"));
4
- var _minimist = _interopRequireDefault(require("minimist"));
5
- var _server = _interopRequireDefault(require("./server"));
6
- var _types = require("./types");
7
- var _messages = require("./server/messages");
8
- var _utils = require("./server/utils");
9
- var _loglevel = require("loglevel");
10
- var _logger = require("./server/logger");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- function shutdownOnException(reason) {
13
- if (_utils.isShuttingDown.current) return;
14
- const error = reason instanceof Error ? reason.stack ?? reason.message : reason;
15
- _logger.logger.error(error);
16
- process.exitCode = -1;
17
- if (_cluster.default.isWorker) (0, _messages.emitWorkerMessage)({
18
- type: 'error',
19
- payload: {
20
- error
21
- }
22
- });
23
- if (_cluster.default.isPrimary && !_utils.isShuttingDown.current) void (0, _utils.shutdownWorkers)();
24
- }
25
- process.on('uncaughtException', shutdownOnException);
26
- process.on('unhandledRejection', shutdownOnException);
27
- if (_cluster.default.isWorker) process.on('SIGINT', _types.noop);
28
- if (_cluster.default.isPrimary) process.on('SIGINT', _utils.shutdown);
29
- const argv = (0, _minimist.default)(process.argv.slice(2), {
30
- string: ['browser', 'config', 'reporter', 'reportDir', 'screenDir', 'storybookUrl'],
31
- boolean: ['debug', 'trace', 'ui', 'saveReport', 'tests'],
32
- default: {
33
- port: 3000,
34
- saveReport: true
35
- },
36
- alias: {
37
- port: 'p',
38
- config: 'c',
39
- debug: 'd',
40
- update: 'u'
41
- }
42
- });
43
-
44
- // @ts-expect-error: define log level for storybook
45
- global.LOGLEVEL = argv.trace ? 'trace' : argv.debug ? 'debug' : 'warn';
46
- if (argv.trace) {
47
- _logger.logger.setDefaultLevel(_loglevel.levels.TRACE);
48
- (0, _loglevel.setDefaultLevel)(_loglevel.levels.TRACE);
49
- } else if (argv.debug) {
50
- _logger.logger.setDefaultLevel(_loglevel.levels.DEBUG);
51
- (0, _loglevel.setDefaultLevel)(_loglevel.levels.DEBUG);
52
- } else {
53
- _logger.logger.setDefaultLevel(_loglevel.levels.INFO);
54
- (0, _loglevel.setDefaultLevel)(_loglevel.levels.INFO);
55
- }
56
- void (0, _server.default)(argv);
package/lib/cjs/index.js DELETED
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- browserStoriesProvider: true,
8
- hybridStoriesProvider: true
9
- };
10
- Object.defineProperty(exports, "browserStoriesProvider", {
11
- enumerable: true,
12
- get: function () {
13
- return _browser.loadStories;
14
- }
15
- });
16
- Object.defineProperty(exports, "hybridStoriesProvider", {
17
- enumerable: true,
18
- get: function () {
19
- return _hybrid.loadStories;
20
- }
21
- });
22
- var _types = require("./types");
23
- Object.keys(_types).forEach(function (key) {
24
- if (key === "default" || key === "__esModule") return;
25
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
- if (key in exports && exports[key] === _types[key]) return;
27
- Object.defineProperty(exports, key, {
28
- enumerable: true,
29
- get: function () {
30
- return _types[key];
31
- }
32
- });
33
- });
34
- var _browser = require("./server/storybook/providers/browser");
35
- var _hybrid = require("./server/storybook/providers/hybrid");
36
- var _parser = require("./server/testsFiles/parser");
37
- Object.keys(_parser).forEach(function (key) {
38
- if (key === "default" || key === "__esModule") return;
39
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
40
- if (key in exports && exports[key] === _parser[key]) return;
41
- Object.defineProperty(exports, key, {
42
- enumerable: true,
43
- get: function () {
44
- return _parser[key];
45
- }
46
- });
47
- });
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.defaultConfig = exports.defaultBrowser = void 0;
7
- exports.readConfig = readConfig;
8
- var _fs = _interopRequireDefault(require("fs"));
9
- var _path = _interopRequireDefault(require("path"));
10
- var _browser = require("./storybook/providers/browser");
11
- var _types = require("../types");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
- const defaultBrowser = exports.defaultBrowser = 'chrome';
16
- const defaultConfig = exports.defaultConfig = {
17
- disableTelemetry: false,
18
- useDocker: true,
19
- dockerImage: 'aerokube/selenoid:latest-release',
20
- dockerImagePlatform: '',
21
- pullImages: true,
22
- failFast: false,
23
- storybookUrl: 'http://localhost:6006',
24
- screenDir: _path.default.resolve('images'),
25
- reportDir: _path.default.resolve('report'),
26
- maxRetries: 0,
27
- diffOptions: {
28
- threshold: 0,
29
- includeAA: true
30
- },
31
- browsers: {
32
- [defaultBrowser]: true
33
- },
34
- hooks: {},
35
- babelOptions: _ => _,
36
- testsRegex: /\.creevey\.(t|j)s$/
37
- };
38
- function normalizeBrowserConfig(name, config) {
39
- if (typeof config == 'boolean') return {
40
- browserName: name
41
- };
42
- if (typeof config == 'string') return {
43
- browserName: config
44
- };
45
- return config;
46
- }
47
- function resolveConfigPath(configPath) {
48
- const rootDir = process.cwd();
49
- const configDir = _path.default.resolve('.creevey');
50
- if ((0, _types.isDefined)(configPath)) {
51
- configPath = _path.default.resolve(configPath);
52
- } else if (_fs.default.existsSync(configDir)) {
53
- configPath = _path.default.join(configDir, 'config');
54
- // TODO We already find file with extension, why not use it?
55
- } else if (_fs.default.readdirSync(rootDir).find(filename => filename.startsWith('creevey.config'))) {
56
- configPath = _path.default.join(rootDir, 'creevey.config');
57
- }
58
- return configPath;
59
- }
60
- async function readConfig(options) {
61
- const configPath = resolveConfigPath(options.config);
62
- const userConfig = {
63
- ...defaultConfig
64
- };
65
- if ((0, _types.isDefined)(configPath)) Object.assign(userConfig, (await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(configPath)).default);
66
- if (!userConfig.storiesProvider) userConfig.storiesProvider = _browser.loadStories;
67
- if (options.failFast != undefined) userConfig.failFast = Boolean(options.failFast);
68
- if (options.reportDir) userConfig.reportDir = _path.default.resolve(options.reportDir);
69
- if (options.screenDir) userConfig.screenDir = _path.default.resolve(options.screenDir);
70
- if (options.storybookUrl) userConfig.storybookUrl = options.storybookUrl;
71
-
72
- // NOTE: Hack to pass typescript checking
73
- const config = userConfig;
74
- Object.entries(config.browsers).forEach(([browser, browserConfig]) => config.browsers[browser] = normalizeBrowserConfig(browser, browserConfig));
75
- return config;
76
- }
@@ -1,124 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
- exports.pullImages = pullImages;
8
- exports.runImage = runImage;
9
- var _cluster = _interopRequireDefault(require("cluster"));
10
- var _types = require("../types");
11
- var _messages = require("./messages");
12
- var _utils = require("./utils");
13
- var _dockerode = _interopRequireDefault(require("dockerode"));
14
- var _stream = require("stream");
15
- var _ora = _interopRequireDefault(require("ora"));
16
- var _logger = require("./logger");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- const docker = new _dockerode.default();
19
- class DevNull extends _stream.Writable {
20
- _write(_chunk, _encoding, callback) {
21
- setImmediate(callback);
22
- }
23
- }
24
- async function pullImages(images, {
25
- auth,
26
- platform
27
- } = {}) {
28
- const args = {};
29
- if (auth) args.authconfig = auth;
30
- if (platform) args.platform = platform;
31
- _logger.logger.info('Pull docker images');
32
- for (const image of images) {
33
- await new Promise((resolve, reject) => {
34
- const spinner = (0, _ora.default)(`${image}: Pull start`).start();
35
-
36
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
37
- docker.pull(image, args, function (pullError, stream) {
38
- if (pullError) {
39
- spinner.fail();
40
- return reject(pullError);
41
- }
42
-
43
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
44
- docker.modem.followProgress(stream, onFinished, onProgress);
45
- function onFinished(error) {
46
- if (error) {
47
- spinner.fail();
48
- return reject(error);
49
- }
50
- spinner.succeed(`${image}: Pull complete`);
51
- resolve();
52
- }
53
- function onProgress(event) {
54
- if (!/^[a-z0-9]{12}$/i.test(event.id)) return;
55
- spinner.text = `${image}: [${event.id}] ${event.status} ${event.progress ? `${event.progress}` : ''}`;
56
- }
57
- });
58
- });
59
- }
60
- }
61
- async function runImage(image, args, options, debug) {
62
- await Promise.all((await docker.listContainers({
63
- all: true,
64
- filters: {
65
- ancestor: [image]
66
- }
67
- })).map(async info => {
68
- const container = docker.getContainer(info.Id);
69
- try {
70
- await container.stop();
71
- } catch (_) {
72
- /* noop */
73
- }
74
- await container.remove();
75
- }));
76
- const hub = docker.run(image, args, debug ? process.stdout : new DevNull(), options, error => {
77
- if (error) throw error;
78
- });
79
- return new Promise(resolve => {
80
- hub.once('container', container => {
81
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
82
- (0, _messages.subscribeOn)('shutdown', async () => {
83
- try {
84
- await container.stop();
85
- await container.remove();
86
- } catch (error) {
87
- /* noop */
88
- }
89
- });
90
- });
91
- hub.once('start', container => void container.inspect().then(info => resolve(info.NetworkSettings.Networks.bridge.IPAddress)));
92
- });
93
- }
94
- async function _default(config, browser, startContainer) {
95
- if (_cluster.default.isPrimary) {
96
- const host = await startContainer();
97
- let gridUrl = 'http://localhost:4444/wd/hub';
98
- gridUrl = _utils.isInsideDocker ? gridUrl.replace(_utils.LOCALHOST_REGEXP, host) : gridUrl;
99
- _cluster.default.on('message', (worker, message) => {
100
- if (!(0, _types.isDockerMessage)(message)) return;
101
- const dockerMessage = message;
102
- if (dockerMessage.type != 'start') return;
103
- (0, _messages.sendDockerMessage)(worker, {
104
- type: 'success',
105
- payload: {
106
- gridUrl
107
- }
108
- });
109
- });
110
- } else {
111
- if (browser && config.browsers[browser].gridUrl) return Promise.resolve();
112
- return new Promise(resolve => {
113
- (0, _messages.subscribeOn)('docker', message => {
114
- if (message.type == 'success') {
115
- config.gridUrl = message.payload.gridUrl;
116
- resolve();
117
- }
118
- });
119
- (0, _messages.emitDockerMessage)({
120
- type: 'start'
121
- });
122
- });
123
- }
124
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
- var _cluster = _interopRequireDefault(require("cluster"));
8
- var _config = require("./config");
9
- var _logger = require("./logger");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- // NOTE: Impure function, mutate config by adding gridUrl prop
14
- async function startWebdriverServer(config, options) {
15
- if (config.useDocker) {
16
- return (await Promise.resolve().then(() => _interopRequireWildcard(require('./docker')))).default(config, options.browser, async () => (await Promise.resolve().then(() => _interopRequireWildcard(require('./selenium/selenoid')))).startSelenoidContainer(config, options.debug));
17
- } else {
18
- return (await Promise.resolve().then(() => _interopRequireWildcard(require('./selenium/selenoid')))).startSelenoidStandalone(config, options.debug);
19
- }
20
- }
21
- async function _default(options) {
22
- const config = await (0, _config.readConfig)(options);
23
- const {
24
- browser = _config.defaultBrowser,
25
- tests,
26
- update,
27
- ui,
28
- port
29
- } = options;
30
- if (!config) return;
31
-
32
- // NOTE: We don't need docker nor selenoid for webpack or update options
33
- if (!(config.gridUrl || Object.values(config.browsers).every(({
34
- gridUrl
35
- }) => gridUrl)) && !tests && !update) {
36
- await startWebdriverServer(config, options);
37
- }
38
- switch (true) {
39
- case Boolean(update):
40
- {
41
- return (await Promise.resolve().then(() => _interopRequireWildcard(require('./update')))).default(config, typeof update == 'string' ? update : undefined);
42
- }
43
- case _cluster.default.isPrimary:
44
- {
45
- _logger.logger.info('Starting Master Process');
46
- const resolveApi = (await Promise.resolve().then(() => _interopRequireWildcard(require('./master/server')))).default(config.reportDir, port, ui);
47
- return (await Promise.resolve().then(() => _interopRequireWildcard(require('./master')))).default(config, options, resolveApi);
48
- }
49
- default:
50
- {
51
- _logger.logger.info(`Starting Worker for ${browser}`);
52
- return (await Promise.resolve().then(() => _interopRequireWildcard(require('./worker')))).default(config, {
53
- ...options,
54
- browser
55
- });
56
- }
57
- }
58
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.colors = void 0;
7
- Object.defineProperty(exports, "getLogger", {
8
- enumerable: true,
9
- get: function () {
10
- return _loglevel.getLogger;
11
- }
12
- });
13
- exports.logger = void 0;
14
- var _chalk = _interopRequireDefault(require("chalk"));
15
- var _loglevel = _interopRequireWildcard(require("loglevel"));
16
- var _loglevelPluginPrefix = _interopRequireDefault(require("loglevel-plugin-prefix"));
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
- const colors = exports.colors = {
21
- TRACE: _chalk.default.magenta,
22
- DEBUG: _chalk.default.cyan,
23
- INFO: _chalk.default.blue,
24
- WARN: _chalk.default.yellow,
25
- ERROR: _chalk.default.red
26
- };
27
- _loglevelPluginPrefix.default.reg(_loglevel.default);
28
- _loglevelPluginPrefix.default.apply(_loglevel.default, {
29
- format(level, name = 'Creevey') {
30
- const levelColor = colors[level.toUpperCase()];
31
- return `[${name}:${_chalk.default.gray(process.pid)}] ${levelColor(level)} =>`;
32
- }
33
- });
34
- const logger = exports.logger = _loglevel.default.getLogger('Creevey');
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = creeveyApi;
7
- var _ws = _interopRequireDefault(require("ws"));
8
- var _logger = require("../logger");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- function broadcast(wss, message) {
11
- wss.clients.forEach(ws => {
12
- if (ws.readyState === _ws.default.OPEN) {
13
- ws.send(JSON.stringify(message));
14
- }
15
- });
16
- }
17
- function creeveyApi(runner) {
18
- return {
19
- subscribe(wss) {
20
- runner.on('update', payload => broadcast(wss, {
21
- type: 'update',
22
- payload
23
- }));
24
- },
25
- handleMessage(ws, message) {
26
- if (typeof message != 'string') {
27
- _logger.logger.info('unhandled message', message);
28
- return;
29
- }
30
- const command = JSON.parse(message);
31
- switch (command.type) {
32
- case 'status':
33
- {
34
- ws.send(JSON.stringify({
35
- type: 'status',
36
- payload: runner.status
37
- }));
38
- return;
39
- }
40
- case 'start':
41
- {
42
- runner.start(command.payload);
43
- return;
44
- }
45
- case 'stop':
46
- {
47
- runner.stop();
48
- return;
49
- }
50
- case 'approve':
51
- {
52
- void runner.approve(command.payload);
53
- return;
54
- }
55
- }
56
- }
57
- };
58
- }
@@ -1,122 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _fs = require("fs");
9
- var _util = require("util");
10
- var _master = _interopRequireDefault(require("./master"));
11
- var _api = _interopRequireDefault(require("./api"));
12
- var _types = require("../../types");
13
- var _utils = require("../utils");
14
- var _messages = require("../messages");
15
- var _logger = require("../logger");
16
- var _telemetry = require("../telemetry");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- const writeFileAsync = (0, _util.promisify)(_fs.writeFile);
19
- const copyFileAsync = (0, _util.promisify)(_fs.copyFile);
20
- const readdirAsync = (0, _util.promisify)(_fs.readdir);
21
- const mkdirAsync = (0, _util.promisify)(_fs.mkdir);
22
- async function copyStatics(reportDir) {
23
- const clientDir = _path.default.join(__dirname, '../../client/web');
24
- const files = (await readdirAsync(clientDir, {
25
- withFileTypes: true
26
- })).filter(dirent => dirent.isFile() && !dirent.name.endsWith('.d.ts') && !dirent.name.endsWith('.tsx')).map(dirent => dirent.name);
27
- await mkdirAsync(reportDir, {
28
- recursive: true
29
- });
30
- for (const file of files) {
31
- await copyFileAsync(_path.default.join(clientDir, file), _path.default.join(reportDir, file));
32
- }
33
- }
34
- function reportDataModule(data) {
35
- return `
36
- (function (root, factory) {
37
- if (typeof module === 'object' && module.exports) {
38
- module.exports = factory();
39
- } else {
40
- root.__CREEVEY_DATA__ = factory();
41
- }
42
- }(this, function () { return ${JSON.stringify(data)} }));
43
- `;
44
- }
45
- function outputUnnecessaryImages(imagesDir, images) {
46
- if (!(0, _fs.existsSync)(imagesDir)) return;
47
- const unnecessaryImages = (0, _utils.readDirRecursive)(imagesDir).map(imagePath => _path.default.posix.relative(imagesDir, imagePath)).filter(imagePath => !images.has(imagePath));
48
- if (unnecessaryImages.length > 0) {
49
- _logger.logger.warn('We found unnecessary screenshot images, those can be safely removed:\n', unnecessaryImages.join('\n'));
50
- }
51
- }
52
- async function _default(config, options, resolveApi) {
53
- let runner = null;
54
- if (config.hooks.before) {
55
- await config.hooks.before();
56
- }
57
- (0, _messages.subscribeOn)('shutdown', () => {
58
- var _config$hooks$after, _config$hooks;
59
- return (_config$hooks$after = (_config$hooks = config.hooks).after) === null || _config$hooks$after === void 0 ? void 0 : _config$hooks$after.call(_config$hooks);
60
- });
61
- process.removeListener('SIGINT', _utils.shutdown);
62
- process.on('SIGINT', () => {
63
- var _runner, _runner2;
64
- (_runner = runner) === null || _runner === void 0 || _runner.removeAllListeners('stop');
65
- if ((_runner2 = runner) !== null && _runner2 !== void 0 && _runner2.isRunning) {
66
- var _runner4;
67
- // TODO Better handle stop
68
- void Promise.race([new Promise(resolve => setTimeout(resolve, 10000)), new Promise(resolve => {
69
- var _runner3;
70
- return (_runner3 = runner) === null || _runner3 === void 0 ? void 0 : _runner3.once('stop', resolve);
71
- })]).then(() => (0, _utils.shutdownWorkers)());
72
- (_runner4 = runner) === null || _runner4 === void 0 || _runner4.stop();
73
- } else {
74
- void (0, _utils.shutdownWorkers)();
75
- }
76
- });
77
- runner = await (0, _master.default)(config, {
78
- watch: options.ui,
79
- debug: options.debug,
80
- port: options.port
81
- });
82
- if (options.saveReport) {
83
- runner.on('stop', () => {
84
- void copyStatics(config.reportDir).then(() => {
85
- var _runner5;
86
- return writeFileAsync(_path.default.join(config.reportDir, 'data.js'), reportDataModule((_runner5 = runner) === null || _runner5 === void 0 ? void 0 : _runner5.status.tests));
87
- });
88
- });
89
- }
90
- if (options.ui) {
91
- resolveApi((0, _api.default)(runner));
92
- _logger.logger.info(`Started on http://localhost:${options.port}`);
93
- } else {
94
- if (Object.values(runner.status.tests).filter(test => test && !test.skip).length == 0) {
95
- _logger.logger.warn("Don't have any tests to run");
96
- // eslint-disable-next-line no-process-exit
97
- void (0, _utils.shutdownWorkers)().then(() => process.exit());
98
- return;
99
- }
100
- runner.once('stop', () => {
101
- var _runner6, _runner7;
102
- const tests = Object.values(((_runner6 = runner) === null || _runner6 === void 0 ? void 0 : _runner6.status.tests) ?? {});
103
- const isSuccess = tests.filter(_types.isDefined).filter(({
104
- skip
105
- }) => !skip).every(({
106
- status
107
- }) => status == 'success');
108
- // TODO output summary
109
- process.exitCode = isSuccess ? 0 : -1;
110
- if (!config.failFast) outputUnnecessaryImages(config.screenDir, (0, _utils.testsToImages)(tests));
111
- (0, _telemetry.sendScreenshotsCount)(config, options, (_runner7 = runner) === null || _runner7 === void 0 ? void 0 : _runner7.status).catch(reason => {
112
- const error = reason instanceof Error ? reason.stack ?? reason.message : reason;
113
- _logger.logger.warn(`Can't send telemetry: ${error}`);
114
- }).finally(() => {
115
- // eslint-disable-next-line no-process-exit
116
- void (0, _utils.shutdownWorkers)().then(() => process.exit());
117
- });
118
- });
119
- // TODO grep
120
- runner.start(Object.keys(runner.status.tests));
121
- }
122
- }
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = master;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _types = require("../../types");
9
- var _stories = require("../stories");
10
- var _runner = _interopRequireDefault(require("./runner"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
- function mergeTests(testsWithReports, testsFromStories) {
15
- Object.values(testsFromStories).filter(_types.isDefined).forEach(test => {
16
- const testWithReport = testsWithReports[test.id];
17
- if (!testWithReport) return;
18
- test.retries = testWithReport.retries;
19
- if (testWithReport.status == 'success' || testWithReport.status == 'failed') test.status = testWithReport.status;
20
- test.results = testWithReport.results;
21
- test.approved = testWithReport.approved;
22
- });
23
- return testsFromStories;
24
- }
25
- async function master(config, options) {
26
- const runner = new _runner.default(config);
27
- const reportDataPath = _path.default.join(config.reportDir, 'data.js');
28
- let testsFromReport = {};
29
- try {
30
- testsFromReport = await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(reportDataPath);
31
- } catch (error) {
32
- // Ignore error
33
- }
34
- await runner.init();
35
- const tests = await (0, _stories.loadTestsFromStories)(Object.keys(config.browsers), listener => config.storiesProvider(config, options, listener), testsDiff => {
36
- runner.updateTests(testsDiff);
37
- (0, _stories.saveTestsJson)(runner.tests, config.reportDir);
38
- });
39
- runner.tests = mergeTests(testsFromReport, tests);
40
- (0, _stories.saveTestsJson)(runner.tests, config.reportDir);
41
- return runner;
42
- }