creevey 0.7.39 → 0.8.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/README.md +9 -1
  3. package/addon/README.md +3 -0
  4. package/addon/package.json +4 -0
  5. package/docs/config.md +37 -5
  6. package/docs/grid.md +2 -1
  7. package/jest.config.js +6 -0
  8. package/lib/cjs/client/addon/Manager.js +124 -271
  9. package/lib/cjs/client/addon/components/Addon.js +17 -38
  10. package/lib/cjs/client/addon/components/Icons.js +11 -7
  11. package/lib/cjs/client/addon/components/Panel.js +17 -13
  12. package/lib/cjs/client/addon/components/TestSelect.js +11 -9
  13. package/lib/cjs/client/addon/components/Tools.js +21 -40
  14. package/lib/cjs/client/addon/decorator.js +1 -1
  15. package/lib/cjs/client/addon/index.js +31 -0
  16. package/lib/cjs/client/addon/preset.ie11.js +74 -0
  17. package/lib/cjs/client/addon/preset.js +13 -31
  18. package/lib/cjs/client/addon/readyForCapture.js +12 -0
  19. package/lib/cjs/client/addon/register.js +46 -70
  20. package/lib/cjs/client/addon/utils.js +5 -41
  21. package/lib/cjs/client/addon/withCreevey.js +221 -155
  22. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +26 -24
  23. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +22 -18
  24. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +44 -66
  25. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +38 -50
  26. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +26 -45
  27. package/lib/cjs/client/shared/components/ImagesView/index.js +9 -9
  28. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +12 -8
  29. package/lib/cjs/client/shared/components/PageFooter/Paging.js +14 -18
  30. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +22 -18
  31. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +42 -67
  32. package/lib/cjs/client/shared/components/ResultsPage.js +39 -69
  33. package/lib/cjs/client/shared/creeveyClientApi.js +55 -82
  34. package/lib/cjs/client/shared/helpers.js +140 -211
  35. package/lib/cjs/client/shared/viewMode.js +5 -5
  36. package/lib/cjs/client/web/142.js +2 -0
  37. package/lib/cjs/client/web/142.js.LICENSE.txt +12 -0
  38. package/lib/cjs/client/web/32.js +1 -0
  39. package/lib/cjs/client/web/551.js +1 -0
  40. package/lib/cjs/client/web/566.js +2 -0
  41. package/lib/cjs/client/web/566.js.LICENSE.txt +31 -0
  42. package/lib/cjs/client/web/691.js +2 -0
  43. package/lib/cjs/client/web/691.js.LICENSE.txt +8 -0
  44. package/lib/cjs/client/web/725.js +1 -0
  45. package/lib/cjs/client/web/main.js +2 -38
  46. package/lib/cjs/client/web/main.js.LICENSE.txt +49 -0
  47. package/lib/cjs/creevey.js +3 -5
  48. package/lib/cjs/index.js +10 -15
  49. package/lib/cjs/server/config.js +5 -4
  50. package/lib/cjs/server/docker.js +3 -7
  51. package/lib/cjs/server/extract.js +7 -4
  52. package/lib/cjs/server/index.js +3 -5
  53. package/lib/cjs/server/loaders/babel/creevey-plugin.js +1 -3
  54. package/lib/cjs/server/loaders/babel/helpers.js +13 -23
  55. package/lib/cjs/server/loaders/babel/register.js +3 -4
  56. package/lib/cjs/server/loaders/webpack/compile.js +33 -50
  57. package/lib/cjs/server/loaders/webpack/creevey-loader.js +20 -22
  58. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +2 -7
  59. package/lib/cjs/server/loaders/webpack/mdx-loader.js +2 -2
  60. package/lib/cjs/server/loaders/webpack/start.js +1 -1
  61. package/lib/cjs/server/logger.js +2 -1
  62. package/lib/cjs/server/master/index.js +4 -4
  63. package/lib/cjs/server/master/master.js +1 -0
  64. package/lib/cjs/server/master/pool.js +38 -47
  65. package/lib/cjs/server/master/runner.js +53 -66
  66. package/lib/cjs/server/master/server.js +78 -4
  67. package/lib/cjs/server/messages.js +128 -18
  68. package/lib/cjs/server/selenium/browser.js +129 -55
  69. package/lib/cjs/server/selenium/selenoid.js +6 -8
  70. package/lib/cjs/server/stories.js +58 -84
  71. package/lib/cjs/server/storybook/entry.js +8 -22
  72. package/lib/cjs/server/storybook/helpers.js +22 -21
  73. package/lib/cjs/server/storybook/providers/browser.js +74 -0
  74. package/lib/cjs/server/storybook/{nodejs-provider.js → providers/nodejs.js} +44 -22
  75. package/lib/cjs/server/update.js +1 -5
  76. package/lib/cjs/server/utils.js +36 -15
  77. package/lib/cjs/server/worker/helpers.js +2 -6
  78. package/lib/cjs/server/worker/reporter.js +8 -20
  79. package/lib/cjs/server/worker/worker.js +21 -19
  80. package/lib/cjs/shared/index.js +101 -0
  81. package/lib/cjs/shared/serializeRegExp.js +42 -0
  82. package/lib/cjs/types.js +11 -6
  83. package/lib/esm/client/addon/Manager.js +124 -272
  84. package/lib/esm/client/addon/components/Addon.js +15 -34
  85. package/lib/esm/client/addon/components/Icons.js +10 -6
  86. package/lib/esm/client/addon/components/Panel.js +17 -13
  87. package/lib/esm/client/addon/components/TestSelect.js +11 -9
  88. package/lib/esm/client/addon/components/Tools.js +19 -36
  89. package/lib/esm/client/addon/decorator.js +1 -1
  90. package/lib/esm/client/addon/index.js +2 -0
  91. package/lib/esm/client/addon/preset.ie11.js +59 -0
  92. package/lib/esm/client/addon/preset.js +12 -26
  93. package/lib/esm/client/addon/readyForCapture.js +5 -0
  94. package/lib/esm/client/addon/register.js +42 -66
  95. package/lib/esm/client/addon/utils.js +3 -34
  96. package/lib/esm/client/addon/withCreevey.js +209 -156
  97. package/lib/esm/client/shared/components/ImagesView/BlendView.js +23 -20
  98. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +21 -17
  99. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +42 -63
  100. package/lib/esm/client/shared/components/ImagesView/SlideView.js +36 -47
  101. package/lib/esm/client/shared/components/ImagesView/SwapView.js +24 -42
  102. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +12 -8
  103. package/lib/esm/client/shared/components/PageFooter/Paging.js +14 -18
  104. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +22 -18
  105. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +37 -60
  106. package/lib/esm/client/shared/components/ResultsPage.js +36 -64
  107. package/lib/esm/client/shared/creeveyClientApi.js +57 -84
  108. package/lib/esm/client/shared/helpers.js +124 -195
  109. package/lib/esm/client/shared/viewMode.js +4 -4
  110. package/lib/esm/creevey.js +3 -5
  111. package/lib/esm/index.js +2 -3
  112. package/lib/esm/server/config.js +4 -5
  113. package/lib/esm/server/docker.js +2 -2
  114. package/lib/esm/server/extract.js +6 -4
  115. package/lib/esm/server/index.js +3 -4
  116. package/lib/esm/server/loaders/babel/creevey-plugin.js +1 -3
  117. package/lib/esm/server/loaders/babel/helpers.js +12 -22
  118. package/lib/esm/server/loaders/babel/register.js +3 -4
  119. package/lib/esm/server/loaders/webpack/compile.js +34 -51
  120. package/lib/esm/server/loaders/webpack/creevey-loader.js +9 -10
  121. package/lib/esm/server/loaders/webpack/dummy-hmr.js +2 -6
  122. package/lib/esm/server/loaders/webpack/mdx-loader.js +2 -2
  123. package/lib/esm/server/loaders/webpack/start.js +1 -1
  124. package/lib/esm/server/master/index.js +4 -4
  125. package/lib/esm/server/master/master.js +1 -0
  126. package/lib/esm/server/master/pool.js +38 -49
  127. package/lib/esm/server/master/runner.js +53 -66
  128. package/lib/esm/server/master/server.js +76 -6
  129. package/lib/esm/server/messages.js +118 -14
  130. package/lib/esm/server/selenium/browser.js +126 -57
  131. package/lib/esm/server/selenium/selenoid.js +5 -7
  132. package/lib/esm/server/stories.js +60 -83
  133. package/lib/esm/server/storybook/entry.js +7 -24
  134. package/lib/esm/server/storybook/helpers.js +13 -16
  135. package/lib/esm/server/storybook/providers/browser.js +60 -0
  136. package/lib/esm/server/storybook/{nodejs-provider.js → providers/nodejs.js} +42 -21
  137. package/lib/esm/server/update.js +1 -5
  138. package/lib/esm/server/utils.js +28 -10
  139. package/lib/esm/server/worker/helpers.js +2 -6
  140. package/lib/esm/server/worker/reporter.js +8 -20
  141. package/lib/esm/server/worker/worker.js +22 -20
  142. package/lib/esm/shared/index.js +78 -0
  143. package/lib/esm/shared/serializeRegExp.js +24 -0
  144. package/lib/esm/types.js +3 -0
  145. package/lib/types/cli.d.ts +1 -1
  146. package/lib/types/client/addon/Manager.d.ts +37 -37
  147. package/lib/types/client/addon/components/Addon.d.ts +8 -8
  148. package/lib/types/client/addon/components/Icons.d.ts +7 -7
  149. package/lib/types/client/addon/components/Panel.d.ts +9 -9
  150. package/lib/types/client/addon/components/TestSelect.d.ts +8 -9
  151. package/lib/types/client/addon/components/Tools.d.ts +6 -6
  152. package/lib/types/client/addon/decorator.d.ts +1 -1
  153. package/lib/types/client/addon/index.d.ts +2 -0
  154. package/lib/types/client/addon/preset.d.ts +23 -22
  155. package/lib/types/client/addon/preset.ie11.d.ts +10 -0
  156. package/lib/types/client/addon/readyForCapture.d.ts +6 -0
  157. package/lib/types/client/addon/register.d.ts +3 -3
  158. package/lib/types/client/addon/utils.d.ts +3 -6
  159. package/lib/types/client/addon/withCreevey.d.ts +24 -13
  160. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -3
  161. package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +24 -25
  162. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -3
  163. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -3
  164. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -3
  165. package/lib/types/client/shared/components/ImagesView/index.d.ts +5 -5
  166. package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +8 -9
  167. package/lib/types/client/shared/components/PageFooter/Paging.d.ts +7 -8
  168. package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +12 -12
  169. package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +16 -17
  170. package/lib/types/client/shared/components/ResultsPage.d.ts +18 -18
  171. package/lib/types/client/shared/creeveyClientApi.d.ts +9 -9
  172. package/lib/types/client/shared/helpers.d.ts +46 -46
  173. package/lib/types/client/shared/viewMode.d.ts +4 -4
  174. package/lib/types/client/web/CreeveyApp.d.ts +11 -12
  175. package/lib/types/client/web/CreeveyContext.d.ts +11 -11
  176. package/lib/types/client/web/CreeveyLoader.d.ts +2 -3
  177. package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +19 -19
  178. package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  179. package/lib/types/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  180. package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +12 -13
  181. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +33 -33
  182. package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +7 -8
  183. package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +10 -10
  184. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +9 -9
  185. package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  186. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +1 -1
  187. package/lib/types/client/web/KeyboardEventsContext.d.ts +13 -13
  188. package/lib/types/client/web/index.d.ts +4 -4
  189. package/lib/types/creevey.d.ts +1 -1
  190. package/lib/types/index.d.ts +0 -1
  191. package/lib/types/server/config.d.ts +4 -4
  192. package/lib/types/server/docker.d.ts +7 -7
  193. package/lib/types/server/extract.d.ts +2 -2
  194. package/lib/types/server/index.d.ts +2 -2
  195. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +1 -1
  196. package/lib/types/server/loaders/babel/helpers.d.ts +19 -19
  197. package/lib/types/server/loaders/babel/register.d.ts +5 -5
  198. package/lib/types/server/loaders/hooks/mdx.d.ts +1 -1
  199. package/lib/types/server/loaders/hooks/svelte.d.ts +1 -1
  200. package/lib/types/server/loaders/webpack/compile.d.ts +2 -2
  201. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +4 -2
  202. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +10 -10
  203. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +6 -6
  204. package/lib/types/server/loaders/webpack/start.d.ts +1 -1
  205. package/lib/types/server/logger.d.ts +10 -6
  206. package/lib/types/server/master/api.d.ts +7 -7
  207. package/lib/types/server/master/index.d.ts +3 -3
  208. package/lib/types/server/master/master.d.ts +7 -6
  209. package/lib/types/server/master/pool.d.ts +31 -30
  210. package/lib/types/server/master/runner.d.ts +26 -26
  211. package/lib/types/server/master/server.d.ts +2 -2
  212. package/lib/types/server/messages.d.ts +29 -18
  213. package/lib/types/server/selenium/browser.d.ts +17 -14
  214. package/lib/types/server/selenium/index.d.ts +2 -2
  215. package/lib/types/server/selenium/selenoid.d.ts +3 -3
  216. package/lib/types/server/stories.d.ts +8 -9
  217. package/lib/types/server/storybook/entry.d.ts +17 -14
  218. package/lib/types/server/storybook/helpers.d.ts +24 -23
  219. package/lib/types/server/storybook/providers/browser.d.ts +4 -0
  220. package/lib/types/server/storybook/providers/nodejs.d.ts +9 -0
  221. package/lib/types/server/update.d.ts +2 -2
  222. package/lib/types/server/utils.d.ts +19 -18
  223. package/lib/types/server/worker/chai-image.d.ts +6 -6
  224. package/lib/types/server/worker/helpers.d.ts +8 -7
  225. package/lib/types/server/worker/index.d.ts +1 -1
  226. package/lib/types/server/worker/reporter.d.ts +8 -8
  227. package/lib/types/server/worker/worker.d.ts +4 -4
  228. package/lib/types/shared/index.d.ts +7 -0
  229. package/lib/types/shared/serializeRegExp.d.ts +9 -0
  230. package/lib/types/types.d.ts +487 -459
  231. package/package.json +121 -99
  232. package/preset/ie11.js +5 -0
  233. package/{preset.js → preset/index.js} +2 -2
  234. package/types/mdx.d.ts +3 -2
  235. package/types/mocha.d.ts +1 -0
  236. package/lib/cjs/client/web/1.js +0 -13
  237. package/lib/cjs/client/web/2.js +0 -1
  238. package/lib/types/server/storybook/nodejs-provider.d.ts +0 -5
  239. package/storybook-static/stories.json +0 -530
package/CHANGELOG.md CHANGED
@@ -1,11 +1,42 @@
1
- ## [0.7.39](https://github.com/wKich/creevey/compare/v0.7.38...v0.7.39) (2021-11-04)
1
+ # [0.8.0-beta.1](https://github.com/wKich/creevey/compare/v0.8.0-beta.0...v0.8.0-beta.1) (2023-01-18)
2
+
3
+ ### Bug Fixes
2
4
 
5
+ - **addon:** restore IE11 support ([94f452f](https://github.com/wKich/creevey/commit/94f452fff4225e974c9efdff21f982d5155de4f8))
6
+ - allow setting timeouts via capabilities ([72de9e5](https://github.com/wKich/creevey/commit/72de9e50b818587309f665c782637ae43c3e4864))
7
+ - infinite UI loading ([4f7b47d](https://github.com/wKich/creevey/commit/4f7b47db3ff1274217b044ce608e34d22148fe32))
8
+ - **addon:** restore and move ie11 support to separate addon ([3ba2cc7](https://github.com/wKich/creevey/commit/3ba2cc7fde281037406f1705c0abc616c576e641))
9
+ - browser-node regexp parameters transfering ([737670e](https://github.com/wKich/creevey/commit/737670e18aa5d0ce416fe12b765406116b453e31))
10
+ - correct call of the test fn ([98c03ad](https://github.com/wKich/creevey/commit/98c03ad1700486bfd75170f4517970717250f6d8))
11
+ - handle null from selectStory ([1895602](https://github.com/wKich/creevey/commit/1895602143b3236ab195e11fcfa162df2a01af03))
12
+ - ie11 support ([523e35b](https://github.com/wKich/creevey/commit/523e35b6950d978ca3aaa77dd4f072a835053687))
13
+ - move addon to the separate entry point ([f3fc59f](https://github.com/wKich/creevey/commit/f3fc59f980a56f87f882507c3a0367ed6a356d33))
14
+ - prevent importing browser-specific code to node ([37706ef](https://github.com/wKich/creevey/commit/37706efbb49dd5bd1d6ec06821fac52480a0e132))
15
+ - **selenium-webdriver:** bump [@types](https://github.com/types) package version ([ca4b369](https://github.com/wKich/creevey/commit/ca4b369046e2c56e0548f5cbb6f98c17b0125228))
3
16
 
4
17
  ### Features
5
18
 
6
- * 🎸 add ability to update story arguments from test cases ([18d8ecb](https://github.com/wKich/creevey/commit/18d8ecb909097b585282a04bfb0b0c721ad45e22))
19
+ - 🎸 add support `play()` story method ([318ac62](https://github.com/wKich/creevey/commit/318ac628cb14fb0de7a89c088ae241df520df1e7))
20
+ - drop support for storybook < 6.4 ([fb8c0f5](https://github.com/wKich/creevey/commit/fb8c0f5158ab7c0495949eaa61ba52049c3d66cf))
21
+
22
+ # [0.8.0-beta.0](https://github.com/wKich/creevey/compare/v0.7.39...v0.8.0-beta.0) (2022-03-17)
23
+
24
+ ### Bug Fixes
25
+
26
+ - 🐛 revert cross-env scripts, as they not work in unix ([92b04a5](https://github.com/wKich/creevey/commit/92b04a5bed56191b7ee6bd169f5327e30a1c2232))
7
27
 
28
+ ### Features
29
+
30
+ - 🎸 change format for `skip` parameter ([f244b7c](https://github.com/wKich/creevey/commit/f244b7cd344b276762408a1df841e5afc3853fad))
31
+ - 🎸 Improve skip options ([2fcc624](https://github.com/wKich/creevey/commit/2fcc624a9b2ab1dcdce3927779c8f58bb0a0d02c))
32
+ - new creevey params: "global" and "kind" ([7d7c885](https://github.com/wKich/creevey/commit/7d7c88521a28c91586bfdd663500bea576845292))
33
+ - support storybook 6.4 ([74010e5](https://github.com/wKich/creevey/commit/74010e53d93ff1815427cd7ee818481ce6e21288))
34
+
35
+ ## [0.7.39](https://github.com/wKich/creevey/compare/v0.7.38...v0.7.39) (2021-11-04)
36
+
37
+ ### Features
8
38
 
39
+ - 🎸 add ability to update story arguments from test cases ([18d8ecb](https://github.com/wKich/creevey/commit/18d8ecb909097b585282a04bfb0b0c721ad45e22))
9
40
 
10
41
  ## [0.7.38](https://github.com/wKich/creevey/compare/v0.7.37...v0.7.38) (2021-09-28)
11
42
 
package/README.md CHANGED
@@ -1,9 +1,12 @@
1
1
  # 📸+👦🏼 [Creevey](https://harrypotter.fandom.com/wiki/Colin_Creevey)
2
2
 
3
+ **IMPORTANT** _Looking for any help with maintaining_
4
+
3
5
  Cross-browser screenshot testing tool for [Storybook](https://storybook.js.org/) with fancy UI Runner.
4
6
 
5
7
  [![Creevey downloads](https://img.shields.io/npm/dt/creevey)](https://www.npmjs.com/package/creevey)
6
8
  [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
9
+ [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FwKich%2Fcreevey.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FwKich%2Fcreevey?ref=badge_shield)
7
10
 
8
11
  ![Creevey Demo](https://user-images.githubusercontent.com/6397708/100863723-cd6b8500-34b6-11eb-94e1-849590bc8066.gif)
9
12
 
@@ -29,7 +32,7 @@ It named after [Colin Creevey](https://harrypotter.fandom.com/wiki/Colin_Creevey
29
32
  - [Examples](https://github.com/wKich/creevey-examples)
30
33
  - Advanced usage
31
34
  - [Write tests](docs/tests.md)
32
- - [Use your Selenium Grid (BrowserStack/SauceLabs/etc)](docs/grid.md)
35
+ - [Use your Selenium Grid (LambdaTest/BrowserStack/SauceLabs/etc)](docs/grid.md)
33
36
  - [Future plans](#future-plans)
34
37
  - [Known issues](#known-issues)
35
38
  - [Used by](#used-by)
@@ -37,6 +40,7 @@ It named after [Colin Creevey](https://harrypotter.fandom.com/wiki/Colin_Creevey
37
40
  ## Pre-requisites
38
41
 
39
42
  - Make sure you have installed [Docker](https://www.docker.com/products/docker-desktop). But if you going to use your own separate Selenium Grid, you don't need `Docker`.
43
+ - Supported Storybook versions: `^6.4.0`.
40
44
 
41
45
  ## How to start
42
46
 
@@ -145,3 +149,7 @@ Because tests defined in story parameters and `selenium-webdriver` depends on no
145
149
 
146
150
  | [![Whisk](https://raw.githubusercontent.com/wKich/creevey/master/.github/images/whisk.svg)](https://whisk.com/) | [![SKB Kontur](https://kontur.ru/Files/userfiles/image/brandbook/logo-skb-kontur-eng.png)](https://kontur.ru/) | [![ABBYY](https://raw.githubusercontent.com/wKich/creevey/master/.github/images/abbyy.svg)](https://www.abbyy.com/) |
147
151
  | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
152
+
153
+ ## License
154
+
155
+ [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FwKich%2Fcreevey.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FwKich%2Fcreevey?ref=badge_large)
@@ -0,0 +1,3 @@
1
+ This is a fallback for package.json's `exports.addon` field. It's required for outdated environments (like node 11 and typescript with the "node" moduleResolution) to resolve imports from `creevey/addon` properly.
2
+
3
+ See https://github.com/andrewbranch/example-subpath-exports-ts-compat. The fallback uses the "package-json-redirects" startegy.
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "../lib/cjs/client/addon/index.js",
3
+ "types": "../lib/types/client/addon/index.d.ts"
4
+ }
package/docs/config.md CHANGED
@@ -112,7 +112,19 @@ module.exports = {
112
112
 
113
113
  ### Storybook parameters
114
114
 
115
- Also you could define parameters on `kind` or `story` levels. All these parameters are deeply merged by storybook for each story.
115
+ Also you could define parameters on `global`, `kind` or `story` levels. All these parameters are deeply merged by Storybook for each story. But bear in mind when you define skip option as an array Storybook treats it as primitive value and doesn't merge with other skip options.
116
+
117
+ ```tsx
118
+ // .storybook/preview.tsx
119
+ export const parameters = {
120
+ creevey: {
121
+ // Skip all *hover tests in IE11 on the global level
122
+ skip: {
123
+ ie11: { in: 'ie11', tests: /.*hover$/ },
124
+ },
125
+ },
126
+ };
127
+ ```
116
128
 
117
129
  ```tsx
118
130
  import React from 'react';
@@ -126,12 +138,12 @@ export default {
126
138
  creevey: {
127
139
  // You could skip some browsers/stories or even specific tests
128
140
  skip: [
129
- { in: 'ie11', reason: '`MyComponent` do not support IE11' },
130
- { in: 'firefox', stories: 'Loading' },
141
+ { in: 'ie11', reason: "`MyComponent` doesn't support ie11" },
142
+ { in: 'firefox', stories: 'Loading', reason: "Loading stories are flaky in firefox" },
131
143
  {
132
144
  in: ['firefox', 'chrome'],
133
145
  tests: /.*hover$/,
134
- reason: 'For some reason `MyComponent` hovering do not work correctly',
146
+ reason: "For some reason `MyComponent` hovering doesn't work correctly",
135
147
  },
136
148
  ],
137
149
  },
@@ -155,6 +167,18 @@ Basic.parameters = {
155
167
 
156
168
  ### `skip` option examples:
157
169
 
170
+ ```ts
171
+ interface SkipOption {
172
+ reason?: string;
173
+ in?: string | string[] | RegExp;
174
+ kinds?: string | string[] | RegExp;
175
+ stories?: string | string[] | RegExp;
176
+ tests?: string | string[] | RegExp;
177
+ }
178
+
179
+ type SkipOptions = SkipOption | SkipOption[] | Record<string, SkipOption | SkipOption[]>;
180
+ ```
181
+
158
182
  - Skip all stories for all browsers:
159
183
  - `skip: true`
160
184
  - `skip: 'Skip reason message'`
@@ -175,6 +199,14 @@ Basic.parameters = {
175
199
  - `skip: { tests: 'click' }`
176
200
  - `skip: { tests: ['hover', 'click'] }`
177
201
  - `skip: { tests: /^press.*$/ }`
178
- - Multiple skip options: `skip: [{ /* ... */ }]`
202
+ - Multiple skip options:
203
+ - as an array `skip: [{ /* ... */ }]`
204
+ - as an object
205
+ ```
206
+ skip: {
207
+ foo: { /* ... */ },
208
+ bar: { /* ... */ },
209
+ }
210
+ ```
179
211
 
180
212
  NOTE: If you try to skip stories by story name, the storybook name format will be used (For more info see [storybook-export-vs-name-handling](https://storybook.js.org/docs/formats/component-story-format/#storybook-export-vs-name-handling))
package/docs/grid.md CHANGED
@@ -1,7 +1,8 @@
1
1
  ## Use your Selenium Grid (BrowserStack/SauceLabs/etc)
2
2
 
3
- Sometimes you already have Selenium Grid on one of many different e2e testing services, like BrowserStack or SauceLabs , or use self-hosted one. You could use these services. If your Selenium Grid located in same network where you going to start Creevey, you will need to define `gridUrl` parameter in Creevey config. Overwise you need to start tunneling tool depends of what Grid you use:
3
+ Sometimes you already have Selenium Grid on one of many different e2e testing services, like LambdaTest, BrowserStack, or SauceLabs , or use a self-hosted one. You could use these services. If your Selenium Grid is located in the same network where you going to start Creevey, you will need to define `gridUrl` parameter in Creevey config. Overwise you need to start tunneling tool depending on what Grid you use:
4
4
 
5
+ - [LambdaTest] (https://www.npmjs.com/package/@lambdatest/node-tunnel)
5
6
  - [browserstack-local](https://www.npmjs.com/package/browserstack-local)
6
7
  - [sauce-connect-launcher](https://www.npmjs.com/package/sauce-connect-launcher)
7
8
  - [open-ssh-tunnel](https://www.npmjs.com/package/open-ssh-tunnel)
package/jest.config.js ADDED
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ moduleNameMapper: {
3
+ '#(.*)': '<rootDir>/node_modules/$1',
4
+ },
5
+ transformIgnorePatterns: [],
6
+ };