creevey 0.9.0-non-webpack.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/.yarnrc.yml +1 -0
  2. package/AUTHORS +15 -15
  3. package/CHANGELOG.md +1326 -1275
  4. package/LICENSE +21 -21
  5. package/README.md +4 -3
  6. package/dist/cli.d.ts +2 -0
  7. package/dist/cli.js +5 -0
  8. package/dist/cli.js.map +1 -0
  9. package/dist/client/addon/components/Addon.d.ts +8 -0
  10. package/dist/client/addon/components/Addon.js +57 -0
  11. package/dist/client/addon/components/Addon.js.map +1 -0
  12. package/{lib/types → dist}/client/addon/components/Icons.d.ts +7 -7
  13. package/dist/client/addon/components/Icons.js +18 -0
  14. package/dist/client/addon/components/Icons.js.map +1 -0
  15. package/{lib/types → dist}/client/addon/components/Panel.d.ts +9 -9
  16. package/dist/client/addon/components/Panel.js +32 -0
  17. package/dist/client/addon/components/Panel.js.map +1 -0
  18. package/{lib/types → dist}/client/addon/components/TestSelect.d.ts +8 -8
  19. package/dist/client/addon/components/TestSelect.js +33 -0
  20. package/dist/client/addon/components/TestSelect.js.map +1 -0
  21. package/dist/client/addon/components/Tools.d.ts +6 -0
  22. package/dist/client/addon/components/Tools.js +89 -0
  23. package/dist/client/addon/components/Tools.js.map +1 -0
  24. package/{lib/types/client/addon/Manager.d.ts → dist/client/addon/controller.d.ts} +38 -37
  25. package/dist/client/addon/controller.js +208 -0
  26. package/dist/client/addon/controller.js.map +1 -0
  27. package/dist/client/addon/decorator.d.ts +1 -0
  28. package/dist/client/addon/decorator.js +6 -0
  29. package/dist/client/addon/decorator.js.map +1 -0
  30. package/dist/client/addon/index.d.ts +2 -0
  31. package/dist/client/addon/index.js +19 -0
  32. package/dist/client/addon/index.js.map +1 -0
  33. package/dist/client/addon/manager.d.ts +1 -0
  34. package/dist/client/addon/manager.js +41 -0
  35. package/dist/client/addon/manager.js.map +1 -0
  36. package/dist/client/addon/preset.d.ts +2 -0
  37. package/dist/client/addon/preset.js +6 -0
  38. package/dist/client/addon/preset.js.map +1 -0
  39. package/dist/client/addon/preview.d.ts +4 -0
  40. package/dist/client/addon/preview.js +8 -0
  41. package/dist/client/addon/preview.js.map +1 -0
  42. package/{lib/types → dist}/client/addon/readyForCapture.d.ts +6 -6
  43. package/dist/client/addon/readyForCapture.js +7 -0
  44. package/dist/client/addon/readyForCapture.js.map +1 -0
  45. package/{lib/types → dist}/client/addon/utils.d.ts +3 -2
  46. package/dist/client/addon/utils.js +27 -0
  47. package/dist/client/addon/utils.js.map +1 -0
  48. package/{lib/types → dist}/client/addon/withCreevey.d.ts +25 -24
  49. package/dist/client/addon/withCreevey.js +286 -0
  50. package/dist/client/addon/withCreevey.js.map +1 -0
  51. package/dist/client/shared/components/ImagesView/BlendView.d.ts +5 -0
  52. package/dist/client/shared/components/ImagesView/BlendView.js +74 -0
  53. package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -0
  54. package/dist/client/shared/components/ImagesView/ImagesView.d.ts +9 -0
  55. package/dist/client/shared/components/ImagesView/ImagesView.js +46 -0
  56. package/dist/client/shared/components/ImagesView/ImagesView.js.map +1 -0
  57. package/dist/client/shared/components/ImagesView/SideBySideView.d.ts +5 -0
  58. package/dist/client/shared/components/ImagesView/SideBySideView.js +121 -0
  59. package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -0
  60. package/dist/client/shared/components/ImagesView/SlideView.d.ts +5 -0
  61. package/dist/client/shared/components/ImagesView/SlideView.js +136 -0
  62. package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -0
  63. package/dist/client/shared/components/ImagesView/SwapView.d.ts +5 -0
  64. package/dist/client/shared/components/ImagesView/SwapView.js +72 -0
  65. package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -0
  66. package/{lib/types/client/shared/components/ImagesView/ImagesView.d.ts → dist/client/shared/components/ImagesView/common.d.ts} +15 -24
  67. package/dist/client/shared/components/ImagesView/common.js +14 -0
  68. package/dist/client/shared/components/ImagesView/common.js.map +1 -0
  69. package/dist/client/shared/components/ImagesView/index.d.ts +5 -0
  70. package/dist/client/shared/components/ImagesView/index.js +14 -0
  71. package/dist/client/shared/components/ImagesView/index.js.map +1 -0
  72. package/{lib/types → dist}/client/shared/components/PageFooter/PageFooter.d.ts +8 -8
  73. package/dist/client/shared/components/PageFooter/PageFooter.js +25 -0
  74. package/dist/client/shared/components/PageFooter/PageFooter.js.map +1 -0
  75. package/{lib/types → dist}/client/shared/components/PageFooter/Paging.d.ts +7 -7
  76. package/dist/client/shared/components/PageFooter/Paging.js +68 -0
  77. package/dist/client/shared/components/PageFooter/Paging.js.map +1 -0
  78. package/{lib/types → dist}/client/shared/components/PageHeader/ImagePreview.d.ts +14 -12
  79. package/dist/client/shared/components/PageHeader/ImagePreview.js +61 -0
  80. package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -0
  81. package/{lib/types → dist}/client/shared/components/PageHeader/PageHeader.d.ts +14 -16
  82. package/dist/client/shared/components/PageHeader/PageHeader.js +86 -0
  83. package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -0
  84. package/{lib/types → dist}/client/shared/components/ResultsPage.d.ts +18 -18
  85. package/dist/client/shared/components/ResultsPage.js +95 -0
  86. package/dist/client/shared/components/ResultsPage.js.map +1 -0
  87. package/{lib/types → dist}/client/shared/creeveyClientApi.d.ts +9 -9
  88. package/dist/client/shared/creeveyClientApi.js +53 -0
  89. package/dist/client/shared/creeveyClientApi.js.map +1 -0
  90. package/{lib/types → dist}/client/shared/helpers.d.ts +46 -46
  91. package/dist/client/shared/helpers.js +381 -0
  92. package/dist/client/shared/helpers.js.map +1 -0
  93. package/{lib/types → dist}/client/shared/viewMode.d.ts +4 -4
  94. package/dist/client/shared/viewMode.js +11 -0
  95. package/dist/client/shared/viewMode.js.map +1 -0
  96. package/dist/client/web/202.js +1 -0
  97. package/dist/client/web/270.js +43 -0
  98. package/dist/client/web/752.js +1 -0
  99. package/{lib/types → dist}/client/web/CreeveyApp.d.ts +11 -11
  100. package/dist/client/web/CreeveyApp.js +130 -0
  101. package/dist/client/web/CreeveyApp.js.map +1 -0
  102. package/{lib/types → dist}/client/web/CreeveyContext.d.ts +11 -11
  103. package/dist/client/web/CreeveyContext.js +17 -0
  104. package/dist/client/web/CreeveyContext.js.map +1 -0
  105. package/dist/client/web/CreeveyLoader.d.ts +3 -0
  106. package/dist/client/web/CreeveyLoader.js +52 -0
  107. package/dist/client/web/CreeveyLoader.js.map +1 -0
  108. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Checkbox.d.ts +22 -19
  109. package/dist/client/web/CreeveyView/SideBar/Checkbox.js +86 -0
  110. package/dist/client/web/CreeveyView/SideBar/Checkbox.js.map +1 -0
  111. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  112. package/dist/client/web/CreeveyView/SideBar/Search.js +125 -0
  113. package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -0
  114. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  115. package/dist/client/web/CreeveyView/SideBar/SideBar.js +101 -0
  116. package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -0
  117. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +12 -12
  118. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +113 -0
  119. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -0
  120. package/dist/client/web/CreeveyView/SideBar/SuiteLink.d.ts +38 -0
  121. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +108 -0
  122. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -0
  123. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestLink.d.ts +7 -7
  124. package/dist/client/web/CreeveyView/SideBar/TestLink.js +63 -0
  125. package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -0
  126. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +12 -10
  127. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js +52 -0
  128. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js.map +1 -0
  129. package/dist/client/web/CreeveyView/SideBar/TestsStatus.d.ts +11 -0
  130. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js +74 -0
  131. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js.map +1 -0
  132. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  133. package/dist/client/web/CreeveyView/SideBar/Toggle.js +69 -0
  134. package/dist/client/web/CreeveyView/SideBar/Toggle.js.map +1 -0
  135. package/dist/client/web/CreeveyView/SideBar/index.d.ts +1 -0
  136. package/dist/client/web/CreeveyView/SideBar/index.js +6 -0
  137. package/dist/client/web/CreeveyView/SideBar/index.js.map +1 -0
  138. package/{lib/types → dist}/client/web/KeyboardEventsContext.d.ts +15 -13
  139. package/dist/client/web/KeyboardEventsContext.js +116 -0
  140. package/dist/client/web/KeyboardEventsContext.js.map +1 -0
  141. package/{lib/types → dist}/client/web/index.d.ts +4 -4
  142. package/{lib/cjs → dist}/client/web/index.html +28 -19
  143. package/dist/client/web/index.js +75 -0
  144. package/dist/client/web/index.js.map +1 -0
  145. package/dist/client/web/main.js +79 -0
  146. package/{lib/cjs → dist}/client/web/main.js.LICENSE.txt +0 -15
  147. package/{lib/types → dist}/creevey.d.ts +1 -1
  148. package/dist/creevey.js +52 -0
  149. package/dist/creevey.js.map +1 -0
  150. package/dist/index.d.ts +5 -0
  151. package/dist/index.js +24 -0
  152. package/dist/index.js.map +1 -0
  153. package/{lib/types → dist}/server/config.d.ts +4 -4
  154. package/dist/server/config.js +86 -0
  155. package/dist/server/config.js.map +1 -0
  156. package/{lib/types → dist}/server/docker.d.ts +7 -7
  157. package/dist/server/docker.js +122 -0
  158. package/dist/server/docker.js.map +1 -0
  159. package/{lib/types → dist}/server/index.d.ts +2 -2
  160. package/dist/server/index.js +47 -0
  161. package/dist/server/index.js.map +1 -0
  162. package/{lib/types → dist}/server/logger.d.ts +10 -10
  163. package/dist/server/logger.js +25 -0
  164. package/dist/server/logger.js.map +1 -0
  165. package/{lib/types → dist}/server/master/api.d.ts +7 -7
  166. package/dist/server/master/api.js +50 -0
  167. package/dist/server/master/api.js.map +1 -0
  168. package/dist/server/master/index.d.ts +3 -0
  169. package/dist/server/master/index.js +110 -0
  170. package/dist/server/master/index.js.map +1 -0
  171. package/{lib/types → dist}/server/master/master.d.ts +7 -7
  172. package/dist/server/master/master.js +40 -0
  173. package/dist/server/master/master.js.map +1 -0
  174. package/{lib/types → dist}/server/master/pool.d.ts +30 -31
  175. package/dist/server/master/pool.js +186 -0
  176. package/dist/server/master/pool.js.map +1 -0
  177. package/{lib/types → dist}/server/master/runner.d.ts +21 -26
  178. package/dist/server/master/runner.js +172 -0
  179. package/dist/server/master/runner.js.map +1 -0
  180. package/dist/server/master/server.d.ts +2 -0
  181. package/dist/server/master/server.js +114 -0
  182. package/dist/server/master/server.js.map +1 -0
  183. package/{lib/types → dist}/server/messages.d.ts +26 -27
  184. package/dist/server/messages.js +222 -0
  185. package/dist/server/messages.js.map +1 -0
  186. package/{lib/types → dist}/server/selenium/browser.d.ts +19 -17
  187. package/dist/server/selenium/browser.js +637 -0
  188. package/dist/server/selenium/browser.js.map +1 -0
  189. package/dist/server/selenium/index.d.ts +2 -0
  190. package/dist/server/selenium/index.js +19 -0
  191. package/dist/server/selenium/index.js.map +1 -0
  192. package/{lib/types → dist}/server/selenium/selenoid.d.ts +3 -3
  193. package/dist/server/selenium/selenoid.js +120 -0
  194. package/dist/server/selenium/selenoid.js.map +1 -0
  195. package/dist/server/stories.d.ts +3 -0
  196. package/dist/server/stories.js +92 -0
  197. package/dist/server/stories.js.map +1 -0
  198. package/dist/server/storybook/providers/browser.d.ts +2 -0
  199. package/dist/server/storybook/providers/browser.js +60 -0
  200. package/dist/server/storybook/providers/browser.js.map +1 -0
  201. package/dist/server/storybook/providers/hybrid.d.ts +2 -0
  202. package/dist/server/storybook/providers/hybrid.js +59 -0
  203. package/dist/server/storybook/providers/hybrid.js.map +1 -0
  204. package/dist/server/telemetry.d.ts +2 -0
  205. package/dist/server/telemetry.js +196 -0
  206. package/dist/server/telemetry.js.map +1 -0
  207. package/{lib/types → dist}/server/testsFiles/parser.d.ts +8 -12
  208. package/dist/server/testsFiles/parser.js +50 -0
  209. package/dist/server/testsFiles/parser.js.map +1 -0
  210. package/dist/server/update.d.ts +2 -0
  211. package/dist/server/update.js +53 -0
  212. package/dist/server/update.js.map +1 -0
  213. package/dist/server/utils.d.ts +25 -0
  214. package/dist/server/utils.js +157 -0
  215. package/dist/server/utils.js.map +1 -0
  216. package/{lib/types → dist}/server/worker/chai-image.d.ts +5 -6
  217. package/dist/server/worker/chai-image.js +113 -0
  218. package/dist/server/worker/chai-image.js.map +1 -0
  219. package/{lib/types → dist}/server/worker/helpers.d.ts +8 -8
  220. package/dist/server/worker/helpers.js +57 -0
  221. package/dist/server/worker/helpers.js.map +1 -0
  222. package/dist/server/worker/index.d.ts +1 -0
  223. package/dist/server/worker/index.js +6 -0
  224. package/dist/server/worker/index.js.map +1 -0
  225. package/{lib/types → dist}/server/worker/reporter.d.ts +8 -8
  226. package/dist/server/worker/reporter.js +130 -0
  227. package/dist/server/worker/reporter.js.map +1 -0
  228. package/dist/server/worker/worker.d.ts +4 -0
  229. package/dist/server/worker/worker.js +211 -0
  230. package/dist/server/worker/worker.js.map +1 -0
  231. package/{lib/types → dist}/shared/index.d.ts +7 -7
  232. package/dist/shared/index.js +77 -0
  233. package/dist/shared/index.js.map +1 -0
  234. package/{lib/types → dist}/shared/serializeRegExp.d.ts +9 -9
  235. package/dist/shared/serializeRegExp.js +25 -0
  236. package/dist/shared/serializeRegExp.js.map +1 -0
  237. package/{lib/types → dist}/types.d.ts +459 -490
  238. package/dist/types.js +61 -0
  239. package/dist/types.js.map +1 -0
  240. package/docs/config.md +212 -212
  241. package/docs/grid.md +10 -10
  242. package/docs/tests.md +63 -63
  243. package/manager/package.json +3 -0
  244. package/package.json +115 -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 +53 -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 +44 -0
  272. package/src/client/shared/components/PageFooter/Paging.tsx +105 -0
  273. package/src/client/shared/components/PageHeader/ImagePreview.tsx +82 -0
  274. package/src/client/shared/components/PageHeader/PageHeader.tsx +123 -0
  275. package/src/client/shared/components/ResultsPage.tsx +135 -0
  276. package/src/client/shared/creeveyClientApi.ts +64 -0
  277. package/src/client/shared/helpers.ts +422 -0
  278. package/src/client/shared/viewMode.ts +10 -0
  279. package/src/client/web/CreeveyApp.tsx +177 -0
  280. package/src/client/web/CreeveyContext.tsx +20 -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 +125 -0
  285. package/src/client/web/CreeveyView/SideBar/SideBarHeader.tsx +138 -0
  286. package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +118 -0
  287. package/src/client/web/CreeveyView/SideBar/TestLink.tsx +67 -0
  288. package/src/client/web/CreeveyView/SideBar/TestStatusIcon.tsx +58 -0
  289. package/src/client/web/CreeveyView/SideBar/TestsStatus.tsx +105 -0
  290. package/src/client/web/CreeveyView/SideBar/Toggle.tsx +85 -0
  291. package/src/client/web/CreeveyView/SideBar/index.ts +1 -0
  292. package/src/client/web/KeyboardEventsContext.tsx +121 -0
  293. package/src/client/web/index.html +28 -0
  294. package/src/client/web/index.tsx +63 -0
  295. package/src/creevey.ts +47 -0
  296. package/src/index.ts +4 -0
  297. package/src/server/config.ts +83 -0
  298. package/src/server/docker.ts +136 -0
  299. package/src/server/index.ts +51 -0
  300. package/{lib/esm/server/logger.js → src/server/logger.ts} +8 -7
  301. package/src/server/master/api.ts +55 -0
  302. package/src/server/master/index.ts +111 -0
  303. package/src/server/master/master.ts +47 -0
  304. package/src/server/master/pool.ts +203 -0
  305. package/src/server/master/runner.ts +189 -0
  306. package/src/server/master/server.ts +124 -0
  307. package/src/server/messages.ts +273 -0
  308. package/src/server/selenium/browser.ts +837 -0
  309. package/src/server/selenium/index.ts +2 -0
  310. package/src/server/selenium/selenoid.ts +154 -0
  311. package/src/server/stories.ts +133 -0
  312. package/src/server/storybook/providers/browser.ts +58 -0
  313. package/src/server/storybook/providers/hybrid.ts +70 -0
  314. package/src/server/telemetry.ts +212 -0
  315. package/src/server/testsFiles/parser.ts +62 -0
  316. package/src/server/update.ts +74 -0
  317. package/src/server/utils.ts +206 -0
  318. package/src/server/worker/chai-image.ts +147 -0
  319. package/src/server/worker/helpers.ts +61 -0
  320. package/src/server/worker/index.ts +1 -0
  321. package/src/server/worker/reporter.ts +170 -0
  322. package/src/server/worker/worker.ts +239 -0
  323. package/src/shared/index.ts +76 -0
  324. package/src/shared/serializeRegExp.ts +26 -0
  325. package/src/types.ts +500 -0
  326. package/types/chai.d.ts +11 -12
  327. package/types/global.d.ts +5 -0
  328. package/types/mocha.d.ts +20 -20
  329. package/types/png.d.ts +4 -4
  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 -351
  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 -325
  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/web/CreeveyLoader.d.ts +0 -2
  500. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +0 -33
  501. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +0 -9
  502. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +0 -1
  503. package/lib/types/index.d.ts +0 -2
  504. package/lib/types/server/extract.d.ts +0 -2
  505. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +0 -1
  506. package/lib/types/server/loaders/babel/helpers.d.ts +0 -19
  507. package/lib/types/server/loaders/babel/register.d.ts +0 -5
  508. package/lib/types/server/loaders/hooks/mdx.d.ts +0 -1
  509. package/lib/types/server/loaders/hooks/svelte.d.ts +0 -1
  510. package/lib/types/server/loaders/webpack/compile.d.ts +0 -2
  511. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +0 -4
  512. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +0 -10
  513. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +0 -6
  514. package/lib/types/server/loaders/webpack/start.d.ts +0 -1
  515. package/lib/types/server/master/index.d.ts +0 -3
  516. package/lib/types/server/master/server.d.ts +0 -2
  517. package/lib/types/server/selenium/index.d.ts +0 -2
  518. package/lib/types/server/stories.d.ts +0 -8
  519. package/lib/types/server/storybook/entry.d.ts +0 -18
  520. package/lib/types/server/storybook/helpers.d.ts +0 -24
  521. package/lib/types/server/storybook/providers/browser.d.ts +0 -4
  522. package/lib/types/server/storybook/providers/hybrid.d.ts +0 -4
  523. package/lib/types/server/storybook/providers/nodejs.d.ts +0 -9
  524. package/lib/types/server/testsFiles/register.d.ts +0 -2
  525. package/lib/types/server/update.d.ts +0 -2
  526. package/lib/types/server/utils.d.ts +0 -20
  527. package/lib/types/server/worker/index.d.ts +0 -1
  528. package/lib/types/server/worker/worker.d.ts +0 -4
  529. package/preset.js +0 -9
  530. package/types/babel__register.d.ts +0 -1
  531. package/types/event-source-polyfill.d.ts +0 -6
  532. package/types/mdx.d.ts +0 -7
  533. /package/{addon → manager}/README.md +0 -0
@@ -1,15 +0,0 @@
1
- import { addHook } from 'pirates';
2
- import { resolveFromStorybookAddonDocs } from '../../storybook/helpers';
3
- export const addMDXHook = async getStory => {
4
- const mdx = (await import(resolveFromStorybookAddonDocs('@mdx-js/mdx'))).default;
5
- const {
6
- mdxOptions
7
- } = await import('../webpack/mdx-loader');
8
- addHook((code, filename) => {
9
- const story = getStory();
10
- if (!story || !filename.startsWith(story)) return code;
11
- return mdx.sync(code, mdxOptions());
12
- }, {
13
- exts: ['.mdx']
14
- });
15
- };
@@ -1,49 +0,0 @@
1
- import { addHook } from 'pirates';
2
- import { logger } from '../../logger';
3
- import { resolveFromStorybook, storybookConfigRef } from '../../storybook/helpers';
4
- export const addSvelteHook = async getStory => {
5
- const {
6
- compile,
7
- preprocess
8
- } = await import(resolveFromStorybook('svelte/compiler'));
9
- const {
10
- default: svelteCSFLoader
11
- } = await import(resolveFromStorybook('@storybook/addon-svelte-csf/dist/cjs/parser/svelte-stories-loader'));
12
- addHook((code, filename) => {
13
- var _options$compilerOpti;
14
-
15
- const story = getStory();
16
- const config = storybookConfigRef.current;
17
- const {
18
- svelteOptions: options = {}
19
- } = config; // NOTE: Copy-paste compiling code from https://github.com/sveltejs/svelte-loader/blob/3c4d66d/index.js
20
-
21
- const compileOptions = {
22
- filename,
23
- css: false,
24
- ...options.compilerOptions,
25
- format: ((_options$compilerOpti = options.compilerOptions) === null || _options$compilerOpti === void 0 ? void 0 : _options$compilerOpti.format) || 'esm'
26
- }; // TODO Can't use preprocess here because it async and hook must be sync
27
- // The only way to fix it, load stories by using `import()` instead of require
28
- // And write native nodejs `.svelte` resolver https://nodejs.org/api/esm.html#esm_resolve_specifier_context_defaultresolve
29
- // const processed = await preprocess(code, options.preprocess, { filename });
30
-
31
- void preprocess;
32
- const {
33
- js: {
34
- code: compiledCode
35
- },
36
- warnings
37
- } = compile(code, compileOptions);
38
- warnings.forEach(warning => logger.warn(warning));
39
- if (!story || !filename.startsWith(story)) return compiledCode;
40
- return svelteCSFLoader.call({
41
- _module: {
42
- resource: filename
43
- }
44
- }, compiledCode); // TODO Extract parameters from `create_fragment` that created by compiler
45
- // TODO Write babel transformation for it
46
- }, {
47
- exts: ['.svelte']
48
- });
49
- };
@@ -1,270 +0,0 @@
1
- import { rmdirSync, writeFile } from 'fs';
2
- import path from 'path';
3
- import webpack from 'webpack';
4
- import nodeExternals from 'webpack-node-externals';
5
- import { extensions as fallbackExtensions, getCreeveyCache } from '../../utils';
6
- import { getStorybookFramework, hasDocsAddon, importStorybookConfig, isStorybookVersionLessThan, resolveFromStorybook } from '../../storybook/helpers';
7
- import { noop } from '../../../types';
8
- import { emitWebpackMessage, subscribeOn } from '../../messages';
9
- import { logger } from '../../logger';
10
- let isInitiated = false;
11
- let dumpStats = noop;
12
-
13
- function handleWebpackBuild(error, stats) {
14
- var _stats$toJson$warning;
15
-
16
- dumpStats(stats);
17
-
18
- if (error || !stats || stats.hasErrors()) {
19
- emitWebpackMessage({
20
- type: isInitiated ? 'rebuild failed' : 'fail'
21
- });
22
- console.error('=> Failed to build the Storybook preview bundle');
23
- if (error) return console.error(error.message);
24
-
25
- if (stats && (stats.hasErrors() || stats.hasWarnings())) {
26
- var _statsJson$errors, _statsJson$warnings;
27
-
28
- const statsJson = stats.toJson();
29
- (_statsJson$errors = statsJson.errors) === null || _statsJson$errors === void 0 ? void 0 : _statsJson$errors.forEach(e => console.error(e));
30
- (_statsJson$warnings = statsJson.warnings) === null || _statsJson$warnings === void 0 ? void 0 : _statsJson$warnings.forEach(e => console.error(e));
31
- return;
32
- }
33
- }
34
-
35
- stats === null || stats === void 0 ? void 0 : (_stats$toJson$warning = stats.toJson().warnings) === null || _stats$toJson$warning === void 0 ? void 0 : _stats$toJson$warning.forEach(e => console.warn(e));
36
-
37
- if (!isInitiated) {
38
- isInitiated = true;
39
- emitWebpackMessage({
40
- type: 'success'
41
- });
42
- } else {
43
- emitWebpackMessage({
44
- type: 'rebuild succeeded'
45
- });
46
- }
47
-
48
- return;
49
- }
50
-
51
- async function applyMdxLoader(config, areAddonsRemoved, loader) {
52
- const {
53
- mdxLoaders
54
- } = await import('./mdx-loader');
55
- mdxLoaders.splice(1, 0, loader);
56
- const mdxRegexps = isStorybookVersionLessThan(6, 2) ? [/\.(stories|story).mdx$/, /\.(stories|story)\.mdx$/] : [/(stories|story)\.mdx$/]; // NOTE replace md/mdx to null loader
57
-
58
- const mdRegexps = [/\.md$/, /\.mdx$/];
59
-
60
- if (areAddonsRemoved) {
61
- var _config$module2, _config$module2$rules;
62
-
63
- mdRegexps.forEach(test => {
64
- var _config$module, _config$module$rules;
65
-
66
- return (_config$module = config.module) === null || _config$module === void 0 ? void 0 : (_config$module$rules = _config$module.rules) === null || _config$module$rules === void 0 ? void 0 : _config$module$rules.unshift({
67
- test,
68
- exclude: /(stories|story)\.mdx$/,
69
- use: require.resolve('null-loader')
70
- });
71
- });
72
- (_config$module2 = config.module) === null || _config$module2 === void 0 ? void 0 : (_config$module2$rules = _config$module2.rules) === null || _config$module2$rules === void 0 ? void 0 : _config$module2$rules.unshift({
73
- test: /(stories|story)\.mdx$/,
74
- use: mdxLoaders
75
- });
76
- } else {
77
- var _config$module3, _config$module3$rules, _config$module4, _config$module4$rules, _config$module5, _config$module5$rules;
78
-
79
- // NOTE Exclude addons' entry points
80
- config.entry = Array.isArray(config.entry) ? config.entry.filter(entry => !/@storybook(\/|\\)addon/.test(entry)) : config.entry;
81
- (_config$module3 = config.module) === null || _config$module3 === void 0 ? void 0 : (_config$module3$rules = _config$module3.rules) === null || _config$module3$rules === void 0 ? void 0 : _config$module3$rules.flatMap(rule => typeof rule == 'object' && 'test' in rule ? rule : []).filter(rule => mdRegexps.some(test => {
82
- var _rule$test;
83
-
84
- return ((_rule$test = rule.test) === null || _rule$test === void 0 ? void 0 : _rule$test.toString()) == test.toString();
85
- })).forEach(rule => rule.use = require.resolve('null-loader'));
86
- (_config$module4 = config.module) === null || _config$module4 === void 0 ? void 0 : (_config$module4$rules = _config$module4.rules) === null || _config$module4$rules === void 0 ? void 0 : _config$module4$rules.flatMap(rule => typeof rule == 'object' && 'test' in rule ? rule : []).filter(rule => mdxRegexps.some(test => {
87
- var _rule$test2;
88
-
89
- return ((_rule$test2 = rule.test) === null || _rule$test2 === void 0 ? void 0 : _rule$test2.toString()) == test.toString();
90
- })).forEach(rule => rule.use = mdxLoaders); // NOTE Exclude source-loader
91
-
92
- config.module = { ...config.module,
93
- rules: ((_config$module5 = config.module) === null || _config$module5 === void 0 ? void 0 : (_config$module5$rules = _config$module5.rules) === null || _config$module5$rules === void 0 ? void 0 : _config$module5$rules.flatMap(rule => typeof rule == 'object' && 'test' in rule ? rule : []).filter(rule => !(typeof rule.loader == 'string' && /@storybook(\/|\\)source-loader/.test(rule.loader)))) ?? []
94
- };
95
- }
96
- }
97
-
98
- async function getWebpackConfigForStorybook_pre6_2(framework, configDir, outputDir) {
99
- const {
100
- default: storybookFrameworkOptions
101
- } = await import(resolveFromStorybook(`@storybook/${framework}/dist/server/options`)); // eslint-disable-next-line node/no-missing-import, @typescript-eslint/no-unsafe-assignment, import/no-unresolved
102
-
103
- const {
104
- default: getConfig
105
- } = await import(resolveFromStorybook('@storybook/core/dist/server/config')); // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
106
-
107
- return getConfig({
108
- // NOTE: 6.1 storybook don't support quite any more. But we still have older versions
109
- quiet: true,
110
- configType: 'PRODUCTION',
111
- outputDir,
112
- cache: {},
113
- // eslint-disable-next-line node/no-missing-require
114
- corePresets: [resolveFromStorybook('@storybook/core/dist/server/preview/preview-preset')],
115
- overridePresets: [...(hasDocsAddon() ? [require.resolve('./mdx-loader')] : []), // eslint-disable-next-line node/no-missing-require
116
- resolveFromStorybook('@storybook/core/dist/server/preview/custom-webpack-preset')],
117
- ...storybookFrameworkOptions,
118
- configDir
119
- });
120
- }
121
-
122
- async function getWebpackConfigForStorybook_6_2(framework, configDir, outputDir) {
123
- const {
124
- default: storybookFrameworkOptions
125
- } = await import(resolveFromStorybook(`@storybook/${framework}/dist/cjs/server/options`));
126
- const options = {
127
- quiet: true,
128
- configType: 'PRODUCTION',
129
- outputDir,
130
- configDir,
131
- ...storybookFrameworkOptions
132
- }; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
133
-
134
- const {
135
- getPreviewBuilder
136
- } = await import(resolveFromStorybook('@storybook/core-server/dist/cjs/utils/get-preview-builder')); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
137
-
138
- const {
139
- loadAllPresets
140
- } = await import(resolveFromStorybook('@storybook/core-common')); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
141
-
142
- const builder = await getPreviewBuilder(configDir); // NOTE: Copy-paste from storybook/lib/core-server/src/build-dev.ts
143
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
144
-
145
- const presets = loadAllPresets({
146
- corePresets: [// eslint-disable-next-line node/no-missing-require
147
- resolveFromStorybook('@storybook/core-server/dist/cjs/presets/common-preset'), // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
148
- ...builder.corePresets, // eslint-disable-next-line node/no-missing-require
149
- resolveFromStorybook('@storybook/core-server/dist/cjs/presets/babel-cache-preset')],
150
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
151
- overridePresets: [...(hasDocsAddon() ? [require.resolve('./mdx-loader')] : []), // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
152
- ...builder.overridePresets],
153
- ...options
154
- }); // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
155
-
156
- return builder.getConfig({ ...options,
157
- presets
158
- });
159
- }
160
-
161
- async function removeAddons() {
162
- try {
163
- var _config$core;
164
-
165
- const config = await importStorybookConfig();
166
-
167
- if (((_config$core = config.core) === null || _config$core === void 0 ? void 0 : _config$core.builder) == 'webpack5') {
168
- logger.warn("Be aware Creevey doesn't fully support webpack@5, some feature might not work well");
169
- }
170
-
171
- if (config.addons && config.stories) {
172
- config.addons = [];
173
- return true;
174
- }
175
- } catch (_) {
176
- /* noop */
177
- }
178
-
179
- return false;
180
- }
181
-
182
- export default async function compile(config, {
183
- debug,
184
- ui
185
- }) {
186
- var _storybookWebpackConf, _storybookWebpackConf2, _storybookWebpackConf3, _extensions$map, _storybookWebpackConf4, _storybookWebpackConf5;
187
-
188
- const storybookFramework = getStorybookFramework();
189
- const outputDir = path.join(getCreeveyCache(), 'storybook');
190
-
191
- try {
192
- rmdirSync(outputDir, {
193
- recursive: true
194
- });
195
- } catch (_) {
196
- /* noop */
197
- }
198
-
199
- const creeveyLoader = {
200
- loader: require.resolve('./creevey-loader'),
201
- options: {
202
- debug,
203
- storybookDir: config.storybookDir
204
- }
205
- };
206
- process.env.NODE_ENV = 'production'; // NOTE Remove addons by monkey patching, only for new config file (main.js)
207
-
208
- const areAddonsRemoved = await removeAddons();
209
- const getWebpackConfig = isStorybookVersionLessThan(6, 2) ? getWebpackConfigForStorybook_pre6_2 : getWebpackConfigForStorybook_6_2;
210
- const storybookWebpackConfig = await getWebpackConfig(storybookFramework, config.storybookDir, outputDir);
211
- const extensions = ((_storybookWebpackConf = storybookWebpackConfig.resolve) === null || _storybookWebpackConf === void 0 ? void 0 : _storybookWebpackConf.extensions) ?? fallbackExtensions;
212
- delete storybookWebpackConfig.optimization;
213
- storybookWebpackConfig.devtool = false;
214
- storybookWebpackConfig.performance = false;
215
- storybookWebpackConfig.profile = debug;
216
- storybookWebpackConfig.mode = 'development';
217
- storybookWebpackConfig.target = 'node';
218
- storybookWebpackConfig.output = { ...storybookWebpackConfig.output,
219
- filename: 'main.js'
220
- }; // NOTE Add hack to allow stories HMR work in nodejs
221
-
222
- Array.isArray(storybookWebpackConfig.entry) && storybookWebpackConfig.entry.unshift(require.resolve('./dummy-hmr')); // NOTE apply creevey loader to output from mdx loader
223
-
224
- if (hasDocsAddon()) await applyMdxLoader(storybookWebpackConfig, areAddonsRemoved, creeveyLoader); // NOTE Add creevey-loader to cut off all unnecessary code except stories meta and tests
225
-
226
- (_storybookWebpackConf2 = storybookWebpackConfig.module) === null || _storybookWebpackConf2 === void 0 ? void 0 : (_storybookWebpackConf3 = _storybookWebpackConf2.rules) === null || _storybookWebpackConf3 === void 0 ? void 0 : _storybookWebpackConf3.unshift({
227
- enforce: 'pre',
228
- test: new RegExp(`\\.(${(_extensions$map = extensions.map(x => x.slice(1))) === null || _extensions$map === void 0 ? void 0 : _extensions$map.join('|')})$`),
229
- exclude: /node_modules/,
230
- use: creeveyLoader
231
- });
232
- const aliases = ((_storybookWebpackConf4 = storybookWebpackConfig.resolve) === null || _storybookWebpackConf4 === void 0 ? void 0 : _storybookWebpackConf4.alias) ?? {};
233
- const excluded = ['@storybook/addons', '@storybook/api', '@storybook/channel-postmessage', '@storybook/channels', '@storybook/client-api', '@storybook/client-logger', '@storybook/components', '@storybook/core-events', '@storybook/router', '@storybook/semver', '@storybook/theming']; // NOTE Exclude from bundle all modules from node_modules
234
-
235
- storybookWebpackConfig.externals = [...(Array.isArray(aliases) ? aliases.map(({
236
- name,
237
- alias
238
- }) => [name, alias]) : Object.entries(aliases)).filter(([alias]) => excluded.includes(alias)).flatMap(([, aliasPath]) => aliasPath == false ? [] : (Array.isArray(aliasPath) ? aliasPath : [aliasPath]).map(x => ({
239
- [x]: `commonjs ${x}`
240
- }))), // NOTE Replace `@storybook/${framework}` to ../../storybook.ts
241
- {
242
- [`@storybook/${storybookFramework}`]: `commonjs ${require.resolve('../../storybook/entry')}`
243
- }, nodeExternals({
244
- includeAbsolutePaths: true,
245
- allowlist: /(webpack|dummy-hmr|generated-stories-entry|generated-config-entry|generated-other-entry)/
246
- }), // TODO Don't work well with monorepos
247
- nodeExternals({
248
- modulesDir: resolveFromStorybook('@storybook/core').split('@storybook')[0],
249
- includeAbsolutePaths: true,
250
- allowlist: /(webpack|dummy-hmr|generated-stories-entry|generated-config-entry|generated-other-entry)/
251
- })]; // NOTE Exclude some plugins
252
-
253
- const excludedPlugins = ['DocgenPlugin', 'ForkTsCheckerWebpackPlugin'];
254
- storybookWebpackConfig.plugins = (_storybookWebpackConf5 = storybookWebpackConfig.plugins) === null || _storybookWebpackConf5 === void 0 ? void 0 : _storybookWebpackConf5.filter(plugin => !excludedPlugins.includes(plugin.constructor.name));
255
- const storybookWebpackCompiler = webpack(storybookWebpackConfig);
256
-
257
- if (debug) {
258
- dumpStats = stats => {
259
- if (!stats) return;
260
- writeFile(path.join(config.reportDir, 'stats.json'), JSON.stringify(stats.toJson(), null, 2), noop);
261
- };
262
- }
263
-
264
- if (ui) {
265
- const watcher = storybookWebpackCompiler.watch({}, handleWebpackBuild);
266
- subscribeOn('shutdown', () => watcher.close(noop));
267
- } else {
268
- storybookWebpackCompiler.run(handleWebpackBuild);
269
- }
270
- }
@@ -1,158 +0,0 @@
1
- import path from 'path';
2
- import { codeFrameColumns } from '@babel/code-frame';
3
- import { getOptions } from 'loader-utils';
4
- import { validate } from 'schema-utils';
5
- import { parse } from '@babel/parser';
6
- import traverse from '@babel/traverse';
7
- import generate from '@babel/generator';
8
- import { isStorybookVersionLessThan } from '../../storybook/helpers';
9
- import { commonVisitor, mdxVisitor, previewVisitor, storyVisitor, FileType } from '../babel/helpers';
10
- import { logger } from '../../logger';
11
-
12
- function transform(ast) {
13
- traverse(ast, { ...commonVisitor,
14
- ...(fileType == FileType.Preview ? previewVisitor : undefined),
15
- ...(fileType == FileType.Story ? storyVisitor : undefined),
16
- ...(isMDX ? mdxVisitor : undefined)
17
- }, undefined, {
18
- resourcePath,
19
- fileType,
20
- isMDX,
21
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
- visitedTopPaths: new Set(),
23
- visitedBindings: new Set(),
24
- reexportedStories
25
- });
26
- return generate(ast, {
27
- retainLines: true
28
- }).code;
29
- }
30
-
31
- function toPosix(filePath) {
32
- return filePath.split(path.win32.sep).join(path.posix.sep).replace(/^[a-z]:/i, '');
33
- }
34
-
35
- function getIssuerResource(context) {
36
- var _context$_module, _context$_module$issu;
37
-
38
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
39
- return (_context$_module = context._module) === null || _context$_module === void 0 ? void 0 : (_context$_module$issu = _context$_module.issuer) === null || _context$_module$issu === void 0 ? void 0 : _context$_module$issu.resource;
40
- }
41
-
42
- function getIssuerConstructorName(context) {
43
- var _context$_module2, _context$_module2$iss, _context$_module2$iss2;
44
-
45
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
46
- return (_context$_module2 = context._module) === null || _context$_module2 === void 0 ? void 0 : (_context$_module2$iss = _context$_module2.issuer) === null || _context$_module2$iss === void 0 ? void 0 : (_context$_module2$iss2 = _context$_module2$iss.constructor) === null || _context$_module2$iss2 === void 0 ? void 0 : _context$_module2$iss2.name;
47
- }
48
-
49
- function isEntry(context) {
50
- return getIssuerConstructorName(context) == 'MultiModule';
51
- }
52
-
53
- function isPreview(context, options) {
54
- const {
55
- dir: resourceDir,
56
- name: resourceName
57
- } = path.posix.parse(toPosix(context.resourcePath));
58
- const storybookDir = typeof options.storybookDir == 'string' ? toPosix(options.storybookDir) : '';
59
- const isConfigFile = resourceDir == storybookDir && (resourceName == 'preview' || resourceName == 'config');
60
-
61
- if (isStorybookVersionLessThan(6)) {
62
- return isEntry(context) && isConfigFile;
63
- }
64
-
65
- const issuerResource = getIssuerResource(context);
66
- return Boolean(issuerResource && entries.has(issuerResource) && isConfigFile);
67
- }
68
-
69
- function isStoryFile(context) {
70
- var _reexportedStories$ge, _context$_module3;
71
-
72
- const issuerResource = getIssuerResource(context);
73
- return getIssuerConstructorName(context) == 'ContextModule' || // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
74
- Boolean(issuerResource && ((_reexportedStories$ge = reexportedStories.get(issuerResource)) === null || _reexportedStories$ge === void 0 ? void 0 : _reexportedStories$ge.has((_context$_module3 = context._module) === null || _context$_module3 === void 0 ? void 0 : _context$_module3.rawRequest))) || issuerResource == previewPath && path.posix.parse(toPosix(previewPath)).name == 'config';
75
- } // NOTE: non-story files before preview => issuer.resource is entry
76
-
77
-
78
- const schema = {
79
- type: 'object',
80
- properties: {
81
- debug: {
82
- type: 'boolean'
83
- },
84
- storybookDir: {
85
- type: 'string'
86
- }
87
- }
88
- };
89
- let fileType = FileType.Invalid;
90
- let isMDX = false;
91
- let previewPath = '';
92
- let resourcePath = '';
93
- const entries = new Set();
94
- const stories = new Set();
95
- const reexportedStories = new Map();
96
-
97
- const isTest = () => process.env.__CREEVEY_ENV__ == 'test';
98
-
99
- const defaultOptions = {
100
- get debug() {
101
- return isTest();
102
- },
103
-
104
- storybookDir: process.cwd()
105
- };
106
- export default function loader(source) {
107
- const options = this ? getOptions(this) || defaultOptions : defaultOptions;
108
- validate(schema, options, {
109
- name: 'Creevey Stories Loader'
110
- });
111
- fileType = FileType.Invalid;
112
-
113
- if (this) {
114
- const issuerResource = getIssuerResource(this);
115
- resourcePath = this.resourcePath;
116
-
117
- if (isStoryFile(this)) {
118
- fileType = FileType.Story;
119
- isMDX = path.parse(resourcePath).ext == '.mdx';
120
- stories.add(this.resourcePath);
121
- } else if (isPreview(this, options)) {
122
- fileType = FileType.Preview;
123
- previewPath = this.resourcePath;
124
- } else if (isEntry(this)) {
125
- fileType = FileType.Entry;
126
- entries.add(this.resourcePath);
127
- return source;
128
- } else if (issuerResource && stories.has(issuerResource) && options.debug) {
129
- logger.warn('Trying to transform possible non-story file', this.resourcePath, 'Please check the', issuerResource); // TODO Add link to docs, how creevey works and what user should do in this situation
130
- }
131
- }
132
-
133
- if (isTest() && !Number.isNaN(Number(process.env.CREEVEY_LOADER_FILE_TYPE))) {
134
- fileType = Number(process.env.CREEVEY_LOADER_FILE_TYPE);
135
- }
136
-
137
- try {
138
- const ast = parse(source, {
139
- sourceType: 'module',
140
- plugins: ['classProperties', 'decorators-legacy', 'jsx', 'typescript']
141
- });
142
- return transform(ast);
143
- } catch (error) {
144
- this && logger.warn('Failed to transform file', this.resourcePath);
145
-
146
- if (typeof error == 'object' && error && 'loc' in error) {
147
- logger.warn(codeFrameColumns(source, {
148
- start: error.loc
149
- }, {
150
- highlightCode: true
151
- }));
152
- } else {
153
- logger.warn(error);
154
- }
155
-
156
- return source;
157
- }
158
- }
@@ -1,32 +0,0 @@
1
- global.__CREEVEY_HMR_DATA__ = global.__CREEVEY_HMR_DATA__ ?? {};
2
- Object.entries(__webpack_require__.m).forEach(([key, moduleFn]) => {
3
- __webpack_require__.m[key] = new Proxy(moduleFn, {
4
- apply(target, thisArg, args) {
5
- const [module] = args;
6
- const {
7
- data
8
- } = global.__CREEVEY_HMR_DATA__[module.i] = global.__CREEVEY_HMR_DATA__[module.i] ?? {
9
- data: {}
10
- };
11
- Object.assign(module, {
12
- hot: {
13
- accept() {
14
- /* noop */
15
- },
16
-
17
- get data() {
18
- return data;
19
- },
20
-
21
- dispose(callback) {
22
- global.__CREEVEY_HMR_DATA__[module.i].callback = callback;
23
- }
24
-
25
- }
26
- });
27
- return target.apply(thisArg, args);
28
- }
29
-
30
- });
31
- });
32
- export default {};
@@ -1,58 +0,0 @@
1
- /* eslint-disable */
2
-
3
- /* Copy-paste from storybook/addons/docs/src/frameworks/common/preset.ts */
4
- import { isStorybookVersionLessThan, resolveFromStorybook, resolveFromStorybookAddonDocs, resolveFromStorybookBuilderWebpack4, resolveFromStorybookCore } from '../../storybook/helpers';
5
- export let mdxLoaders = []; // for frameworks that are not working with react, we need to configure
6
- // the jsx to transpile mdx, for now there will be a flag for that
7
- // for more complex solutions we can find alone that we need to add '@babel/plugin-transform-react-jsx'
8
-
9
- function createBabelOptions({
10
- babelOptions,
11
- mdxBabelOptions,
12
- configureJSX
13
- }) {
14
- const babelPlugins = (mdxBabelOptions === null || mdxBabelOptions === void 0 ? void 0 : mdxBabelOptions.plugins) || (babelOptions === null || babelOptions === void 0 ? void 0 : babelOptions.plugins) || [];
15
- const jsxPlugin = [resolveFromStorybookAddonDocs('@babel/plugin-transform-react-jsx'), {
16
- pragma: 'React.createElement',
17
- pragmaFrag: 'React.Fragment'
18
- }];
19
- const plugins = configureJSX ? [...babelPlugins, jsxPlugin] : babelPlugins;
20
- return {
21
- // don't use the root babelrc by default (users can override this in mdxBabelOptions)
22
- babelrc: false,
23
- configFile: false,
24
- ...babelOptions,
25
- ...mdxBabelOptions,
26
- plugins
27
- };
28
- }
29
-
30
- const remarkPlugins = ['remark-slug', 'remark-external-links'].map(plugin => require(resolveFromStorybookAddonDocs(plugin)));
31
-
32
- const createCompiler = require(resolveFromStorybook('@storybook/addon-docs/mdx-compiler-plugin'));
33
-
34
- export const mdxOptions = (options = {}) => ({
35
- compilers: [createCompiler(options)],
36
- remarkPlugins
37
- });
38
- export function webpack(webpackConfig = {}, options = {}) {
39
- // it will reuse babel options that are already in use in storybook
40
- // also, these babel options are chained with other presets.
41
- const {
42
- babelOptions,
43
- mdxBabelOptions,
44
- configureJSX = true
45
- } = options;
46
- mdxLoaders = [{
47
- loader: isStorybookVersionLessThan(6, 2) ? resolveFromStorybookCore('babel-loader') : resolveFromStorybookBuilderWebpack4('babel-loader'),
48
- options: createBabelOptions({
49
- babelOptions,
50
- mdxBabelOptions,
51
- configureJSX
52
- })
53
- }, {
54
- loader: resolveFromStorybookAddonDocs('@mdx-js/loader'),
55
- options: mdxOptions(options)
56
- }];
57
- return webpackConfig;
58
- }
@@ -1,27 +0,0 @@
1
- import cluster from 'cluster';
2
- import { isWebpackMessage } from '../../../types';
3
- import { emitWebpackMessage } from '../../messages';
4
- export function startWebpackCompiler() {
5
- return new Promise((resolve, reject) => {
6
- cluster.setupMaster({
7
- args: ['--webpack', ...process.argv.slice(2)]
8
- });
9
- const webpackCompiler = cluster.fork();
10
- webpackCompiler.on('message', message => {
11
- if (!isWebpackMessage(message)) return;
12
- Object.values(cluster.workers ?? {}).filter(worker => worker != webpackCompiler).forEach(worker => worker === null || worker === void 0 ? void 0 : worker.send(message));
13
-
14
- switch (message.type) {
15
- case 'success':
16
- return resolve();
17
-
18
- case 'fail':
19
- return reject();
20
-
21
- case 'rebuild succeeded':
22
- case 'rebuild failed':
23
- return emitWebpackMessage(message);
24
- }
25
- });
26
- });
27
- }
@@ -1,64 +0,0 @@
1
- import WebSocket from 'ws';
2
- import { logger } from '../logger';
3
-
4
- function broadcast(wss, message) {
5
- wss.clients.forEach(ws => {
6
- if (ws.readyState === WebSocket.OPEN) {
7
- ws.send(JSON.stringify(message));
8
- }
9
- });
10
- }
11
-
12
- export default function creeveyApi(runner) {
13
- return {
14
- subscribe(wss) {
15
- runner.on('update', payload => broadcast(wss, {
16
- type: 'update',
17
- payload
18
- }));
19
- },
20
-
21
- handleMessage(ws, message) {
22
- if (typeof message === 'object') {
23
- message = message.toString();
24
- }
25
-
26
- if (typeof message != 'string') {
27
- logger.info('unhandled message');
28
- return;
29
- }
30
-
31
- const command = JSON.parse(message);
32
-
33
- switch (command.type) {
34
- case 'status':
35
- {
36
- ws.send(JSON.stringify({
37
- type: 'status',
38
- payload: runner.status
39
- }));
40
- return;
41
- }
42
-
43
- case 'start':
44
- {
45
- runner.start(command.payload);
46
- return;
47
- }
48
-
49
- case 'stop':
50
- {
51
- runner.stop();
52
- return;
53
- }
54
-
55
- case 'approve':
56
- {
57
- void runner.approve(command.payload);
58
- return;
59
- }
60
- }
61
- }
62
-
63
- };
64
- }