creevey 0.9.0-non-webpack.2.fix-capture-element → 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.
- package/.yarnrc.yml +1 -0
- package/CHANGELOG.md +51 -0
- package/README.md +4 -3
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +5 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/addon/components/Addon.d.ts +8 -0
- package/dist/client/addon/components/Addon.js +57 -0
- package/dist/client/addon/components/Addon.js.map +1 -0
- package/{lib/types → dist}/client/addon/components/Icons.d.ts +7 -7
- package/dist/client/addon/components/Icons.js +18 -0
- package/dist/client/addon/components/Icons.js.map +1 -0
- package/{lib/types → dist}/client/addon/components/Panel.d.ts +9 -9
- package/dist/client/addon/components/Panel.js +32 -0
- package/dist/client/addon/components/Panel.js.map +1 -0
- package/{lib/types → dist}/client/addon/components/TestSelect.d.ts +8 -8
- package/dist/client/addon/components/TestSelect.js +33 -0
- package/dist/client/addon/components/TestSelect.js.map +1 -0
- package/dist/client/addon/components/Tools.d.ts +6 -0
- package/dist/client/addon/components/Tools.js +89 -0
- package/dist/client/addon/components/Tools.js.map +1 -0
- package/{lib/types/client/addon/Manager.d.ts → dist/client/addon/controller.d.ts} +38 -37
- package/dist/client/addon/controller.js +208 -0
- package/dist/client/addon/controller.js.map +1 -0
- package/dist/client/addon/decorator.d.ts +1 -0
- package/dist/client/addon/decorator.js +6 -0
- package/dist/client/addon/decorator.js.map +1 -0
- package/dist/client/addon/index.d.ts +2 -0
- package/dist/client/addon/index.js +19 -0
- package/dist/client/addon/index.js.map +1 -0
- package/dist/client/addon/manager.d.ts +1 -0
- package/dist/client/addon/manager.js +41 -0
- package/dist/client/addon/manager.js.map +1 -0
- package/dist/client/addon/preset.d.ts +2 -0
- package/dist/client/addon/preset.js +6 -0
- package/dist/client/addon/preset.js.map +1 -0
- package/dist/client/addon/preview.d.ts +4 -0
- package/dist/client/addon/preview.js +8 -0
- package/dist/client/addon/preview.js.map +1 -0
- package/{lib/types → dist}/client/addon/readyForCapture.d.ts +6 -6
- package/dist/client/addon/readyForCapture.js +7 -0
- package/dist/client/addon/readyForCapture.js.map +1 -0
- package/{lib/types → dist}/client/addon/utils.d.ts +3 -2
- package/dist/client/addon/utils.js +27 -0
- package/dist/client/addon/utils.js.map +1 -0
- package/{lib/types → dist}/client/addon/withCreevey.d.ts +25 -24
- package/dist/client/addon/withCreevey.js +286 -0
- package/dist/client/addon/withCreevey.js.map +1 -0
- package/dist/client/shared/components/ImagesView/BlendView.d.ts +5 -0
- package/dist/client/shared/components/ImagesView/BlendView.js +74 -0
- package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -0
- package/dist/client/shared/components/ImagesView/ImagesView.d.ts +9 -0
- package/dist/client/shared/components/ImagesView/ImagesView.js +46 -0
- package/dist/client/shared/components/ImagesView/ImagesView.js.map +1 -0
- package/dist/client/shared/components/ImagesView/SideBySideView.d.ts +5 -0
- package/dist/client/shared/components/ImagesView/SideBySideView.js +121 -0
- package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -0
- package/dist/client/shared/components/ImagesView/SlideView.d.ts +5 -0
- package/dist/client/shared/components/ImagesView/SlideView.js +136 -0
- package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -0
- package/dist/client/shared/components/ImagesView/SwapView.d.ts +5 -0
- package/dist/client/shared/components/ImagesView/SwapView.js +72 -0
- package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -0
- package/{lib/types/client/shared/components/ImagesView/ImagesView.d.ts → dist/client/shared/components/ImagesView/common.d.ts} +15 -24
- package/dist/client/shared/components/ImagesView/common.js +14 -0
- package/dist/client/shared/components/ImagesView/common.js.map +1 -0
- package/dist/client/shared/components/ImagesView/index.d.ts +5 -0
- package/dist/client/shared/components/ImagesView/index.js +14 -0
- package/dist/client/shared/components/ImagesView/index.js.map +1 -0
- package/{lib/types → dist}/client/shared/components/PageFooter/PageFooter.d.ts +8 -8
- package/dist/client/shared/components/PageFooter/PageFooter.js +25 -0
- package/dist/client/shared/components/PageFooter/PageFooter.js.map +1 -0
- package/{lib/types → dist}/client/shared/components/PageFooter/Paging.d.ts +7 -7
- package/dist/client/shared/components/PageFooter/Paging.js +68 -0
- package/dist/client/shared/components/PageFooter/Paging.js.map +1 -0
- package/{lib/types → dist}/client/shared/components/PageHeader/ImagePreview.d.ts +14 -12
- package/dist/client/shared/components/PageHeader/ImagePreview.js +61 -0
- package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -0
- package/{lib/types → dist}/client/shared/components/PageHeader/PageHeader.d.ts +14 -16
- package/dist/client/shared/components/PageHeader/PageHeader.js +86 -0
- package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -0
- package/{lib/types → dist}/client/shared/components/ResultsPage.d.ts +18 -18
- package/dist/client/shared/components/ResultsPage.js +95 -0
- package/dist/client/shared/components/ResultsPage.js.map +1 -0
- package/{lib/types → dist}/client/shared/creeveyClientApi.d.ts +9 -9
- package/dist/client/shared/creeveyClientApi.js +53 -0
- package/dist/client/shared/creeveyClientApi.js.map +1 -0
- package/{lib/types → dist}/client/shared/helpers.d.ts +46 -46
- package/dist/client/shared/helpers.js +381 -0
- package/dist/client/shared/helpers.js.map +1 -0
- package/{lib/types → dist}/client/shared/viewMode.d.ts +4 -4
- package/dist/client/shared/viewMode.js +11 -0
- package/dist/client/shared/viewMode.js.map +1 -0
- package/dist/client/web/202.js +1 -0
- package/dist/client/web/270.js +43 -0
- package/dist/client/web/752.js +1 -0
- package/{lib/types → dist}/client/web/CreeveyApp.d.ts +11 -11
- package/dist/client/web/CreeveyApp.js +130 -0
- package/dist/client/web/CreeveyApp.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyContext.d.ts +11 -11
- package/dist/client/web/CreeveyContext.js +17 -0
- package/dist/client/web/CreeveyContext.js.map +1 -0
- package/dist/client/web/CreeveyLoader.d.ts +3 -0
- package/dist/client/web/CreeveyLoader.js +52 -0
- package/dist/client/web/CreeveyLoader.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyView/SideBar/Checkbox.d.ts +22 -19
- package/dist/client/web/CreeveyView/SideBar/Checkbox.js +86 -0
- package/dist/client/web/CreeveyView/SideBar/Checkbox.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
- package/dist/client/web/CreeveyView/SideBar/Search.js +125 -0
- package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
- package/dist/client/web/CreeveyView/SideBar/SideBar.js +101 -0
- package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +12 -12
- package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +113 -0
- package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -0
- package/dist/client/web/CreeveyView/SideBar/SuiteLink.d.ts +38 -0
- package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +108 -0
- package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestLink.d.ts +7 -7
- package/dist/client/web/CreeveyView/SideBar/TestLink.js +63 -0
- package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +12 -10
- package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js +52 -0
- package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js.map +1 -0
- package/dist/client/web/CreeveyView/SideBar/TestsStatus.d.ts +11 -0
- package/dist/client/web/CreeveyView/SideBar/TestsStatus.js +74 -0
- package/dist/client/web/CreeveyView/SideBar/TestsStatus.js.map +1 -0
- package/{lib/types → dist}/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
- package/dist/client/web/CreeveyView/SideBar/Toggle.js +69 -0
- package/dist/client/web/CreeveyView/SideBar/Toggle.js.map +1 -0
- package/dist/client/web/CreeveyView/SideBar/index.d.ts +1 -0
- package/dist/client/web/CreeveyView/SideBar/index.js +6 -0
- package/dist/client/web/CreeveyView/SideBar/index.js.map +1 -0
- package/{lib/types → dist}/client/web/KeyboardEventsContext.d.ts +15 -13
- package/dist/client/web/KeyboardEventsContext.js +116 -0
- package/dist/client/web/KeyboardEventsContext.js.map +1 -0
- package/{lib/types → dist}/client/web/index.d.ts +4 -4
- package/{lib/cjs → dist}/client/web/index.html +12 -3
- package/dist/client/web/index.js +75 -0
- package/dist/client/web/index.js.map +1 -0
- package/dist/client/web/main.js +79 -0
- package/{lib/cjs → dist}/client/web/main.js.LICENSE.txt +0 -15
- package/{lib/types → dist}/creevey.d.ts +1 -1
- package/dist/creevey.js +52 -0
- package/dist/creevey.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/{lib/types → dist}/server/config.d.ts +4 -4
- package/dist/server/config.js +86 -0
- package/dist/server/config.js.map +1 -0
- package/{lib/types → dist}/server/docker.d.ts +7 -7
- package/dist/server/docker.js +122 -0
- package/dist/server/docker.js.map +1 -0
- package/{lib/types → dist}/server/index.d.ts +2 -2
- package/dist/server/index.js +47 -0
- package/dist/server/index.js.map +1 -0
- package/{lib/types → dist}/server/logger.d.ts +10 -10
- package/dist/server/logger.js +25 -0
- package/dist/server/logger.js.map +1 -0
- package/{lib/types → dist}/server/master/api.d.ts +7 -7
- package/dist/server/master/api.js +50 -0
- package/dist/server/master/api.js.map +1 -0
- package/dist/server/master/index.d.ts +3 -0
- package/dist/server/master/index.js +110 -0
- package/dist/server/master/index.js.map +1 -0
- package/{lib/types → dist}/server/master/master.d.ts +7 -7
- package/dist/server/master/master.js +40 -0
- package/dist/server/master/master.js.map +1 -0
- package/{lib/types → dist}/server/master/pool.d.ts +30 -31
- package/dist/server/master/pool.js +186 -0
- package/dist/server/master/pool.js.map +1 -0
- package/{lib/types → dist}/server/master/runner.d.ts +21 -26
- package/dist/server/master/runner.js +172 -0
- package/dist/server/master/runner.js.map +1 -0
- package/dist/server/master/server.d.ts +2 -0
- package/dist/server/master/server.js +114 -0
- package/dist/server/master/server.js.map +1 -0
- package/{lib/types → dist}/server/messages.d.ts +26 -27
- package/dist/server/messages.js +222 -0
- package/dist/server/messages.js.map +1 -0
- package/{lib/types → dist}/server/selenium/browser.d.ts +19 -17
- package/dist/server/selenium/browser.js +637 -0
- package/dist/server/selenium/browser.js.map +1 -0
- package/dist/server/selenium/index.d.ts +2 -0
- package/dist/server/selenium/index.js +19 -0
- package/dist/server/selenium/index.js.map +1 -0
- package/{lib/types → dist}/server/selenium/selenoid.d.ts +3 -3
- package/dist/server/selenium/selenoid.js +120 -0
- package/dist/server/selenium/selenoid.js.map +1 -0
- package/dist/server/stories.d.ts +3 -0
- package/dist/server/stories.js +92 -0
- package/dist/server/stories.js.map +1 -0
- package/dist/server/storybook/providers/browser.d.ts +2 -0
- package/dist/server/storybook/providers/browser.js +60 -0
- package/dist/server/storybook/providers/browser.js.map +1 -0
- package/dist/server/storybook/providers/hybrid.d.ts +2 -0
- package/dist/server/storybook/providers/hybrid.js +59 -0
- package/dist/server/storybook/providers/hybrid.js.map +1 -0
- package/dist/server/telemetry.d.ts +2 -0
- package/dist/server/telemetry.js +196 -0
- package/dist/server/telemetry.js.map +1 -0
- package/{lib/types → dist}/server/testsFiles/parser.d.ts +8 -12
- package/dist/server/testsFiles/parser.js +50 -0
- package/dist/server/testsFiles/parser.js.map +1 -0
- package/dist/server/update.d.ts +2 -0
- package/dist/server/update.js +53 -0
- package/dist/server/update.js.map +1 -0
- package/dist/server/utils.d.ts +25 -0
- package/dist/server/utils.js +157 -0
- package/dist/server/utils.js.map +1 -0
- package/{lib/types → dist}/server/worker/chai-image.d.ts +5 -6
- package/dist/server/worker/chai-image.js +113 -0
- package/dist/server/worker/chai-image.js.map +1 -0
- package/{lib/types → dist}/server/worker/helpers.d.ts +8 -8
- package/dist/server/worker/helpers.js +57 -0
- package/dist/server/worker/helpers.js.map +1 -0
- package/dist/server/worker/index.d.ts +1 -0
- package/dist/server/worker/index.js +6 -0
- package/dist/server/worker/index.js.map +1 -0
- package/{lib/types → dist}/server/worker/reporter.d.ts +8 -8
- package/dist/server/worker/reporter.js +130 -0
- package/dist/server/worker/reporter.js.map +1 -0
- package/dist/server/worker/worker.d.ts +4 -0
- package/dist/server/worker/worker.js +211 -0
- package/dist/server/worker/worker.js.map +1 -0
- package/{lib/types → dist}/shared/index.d.ts +7 -7
- package/dist/shared/index.js +77 -0
- package/dist/shared/index.js.map +1 -0
- package/{lib/types → dist}/shared/serializeRegExp.d.ts +9 -9
- package/dist/shared/serializeRegExp.js +25 -0
- package/dist/shared/serializeRegExp.js.map +1 -0
- package/{lib/types → dist}/types.d.ts +459 -490
- package/dist/types.js +61 -0
- package/dist/types.js.map +1 -0
- package/docs/config.md +30 -30
- package/docs/tests.md +3 -3
- package/manager/package.json +3 -0
- package/package.json +115 -156
- package/preset/README.md +3 -0
- package/preset/package.json +3 -0
- package/preview/README.md +3 -0
- package/preview/package.json +3 -0
- package/src/cli.ts +3 -0
- package/src/client/addon/components/Addon.tsx +53 -0
- package/src/client/addon/components/Icons.tsx +28 -0
- package/src/client/addon/components/Panel.tsx +53 -0
- package/src/client/addon/components/TestSelect.tsx +48 -0
- package/src/client/addon/components/Tools.tsx +93 -0
- package/src/client/addon/controller.ts +224 -0
- package/src/client/addon/decorator.ts +3 -0
- package/src/client/addon/index.ts +2 -0
- package/src/client/addon/manager.ts +44 -0
- package/src/client/addon/preset.ts +3 -0
- package/src/client/addon/preview.ts +7 -0
- package/src/client/addon/readyForCapture.ts +9 -0
- package/src/client/addon/utils.tsx +24 -0
- package/src/client/addon/withCreevey.ts +326 -0
- package/src/client/shared/components/ImagesView/BlendView.tsx +71 -0
- package/src/client/shared/components/ImagesView/ImagesView.tsx +70 -0
- package/src/client/shared/components/ImagesView/SideBySideView.tsx +139 -0
- package/src/client/shared/components/ImagesView/SlideView.tsx +146 -0
- package/src/client/shared/components/ImagesView/SwapView.tsx +81 -0
- package/src/client/shared/components/ImagesView/common.ts +23 -0
- package/src/client/shared/components/ImagesView/index.ts +5 -0
- package/src/client/shared/components/PageFooter/PageFooter.tsx +44 -0
- package/src/client/shared/components/PageFooter/Paging.tsx +105 -0
- package/src/client/shared/components/PageHeader/ImagePreview.tsx +82 -0
- package/src/client/shared/components/PageHeader/PageHeader.tsx +123 -0
- package/src/client/shared/components/ResultsPage.tsx +135 -0
- package/src/client/shared/creeveyClientApi.ts +64 -0
- package/src/client/shared/helpers.ts +422 -0
- package/src/client/shared/viewMode.ts +10 -0
- package/src/client/web/CreeveyApp.tsx +177 -0
- package/src/client/web/CreeveyContext.tsx +20 -0
- package/src/client/web/CreeveyLoader.tsx +56 -0
- package/src/client/web/CreeveyView/SideBar/Checkbox.tsx +118 -0
- package/src/client/web/CreeveyView/SideBar/Search.tsx +140 -0
- package/src/client/web/CreeveyView/SideBar/SideBar.tsx +125 -0
- package/src/client/web/CreeveyView/SideBar/SideBarHeader.tsx +138 -0
- package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +118 -0
- package/src/client/web/CreeveyView/SideBar/TestLink.tsx +67 -0
- package/src/client/web/CreeveyView/SideBar/TestStatusIcon.tsx +58 -0
- package/src/client/web/CreeveyView/SideBar/TestsStatus.tsx +105 -0
- package/src/client/web/CreeveyView/SideBar/Toggle.tsx +85 -0
- package/src/client/web/CreeveyView/SideBar/index.ts +1 -0
- package/src/client/web/KeyboardEventsContext.tsx +121 -0
- package/src/client/web/index.html +28 -0
- package/src/client/web/index.tsx +63 -0
- package/src/creevey.ts +47 -0
- package/src/index.ts +4 -0
- package/src/server/config.ts +83 -0
- package/src/server/docker.ts +136 -0
- package/src/server/index.ts +51 -0
- package/{lib/esm/server/logger.js → src/server/logger.ts} +8 -7
- package/src/server/master/api.ts +55 -0
- package/src/server/master/index.ts +111 -0
- package/src/server/master/master.ts +47 -0
- package/src/server/master/pool.ts +203 -0
- package/src/server/master/runner.ts +189 -0
- package/src/server/master/server.ts +124 -0
- package/src/server/messages.ts +273 -0
- package/src/server/selenium/browser.ts +837 -0
- package/src/server/selenium/index.ts +2 -0
- package/src/server/selenium/selenoid.ts +154 -0
- package/src/server/stories.ts +133 -0
- package/src/server/storybook/providers/browser.ts +58 -0
- package/src/server/storybook/providers/hybrid.ts +70 -0
- package/src/server/telemetry.ts +212 -0
- package/src/server/testsFiles/parser.ts +62 -0
- package/src/server/update.ts +74 -0
- package/src/server/utils.ts +206 -0
- package/src/server/worker/chai-image.ts +147 -0
- package/src/server/worker/helpers.ts +61 -0
- package/src/server/worker/index.ts +1 -0
- package/src/server/worker/reporter.ts +170 -0
- package/src/server/worker/worker.ts +239 -0
- package/src/shared/index.ts +76 -0
- package/src/shared/serializeRegExp.ts +26 -0
- package/src/types.ts +500 -0
- package/types/chai.d.ts +0 -1
- package/types/global.d.ts +5 -0
- package/types/mocha.d.ts +1 -1
- package/addon/package.json +0 -4
- package/jest.config.js +0 -6
- package/lib/cjs/cli.js +0 -5
- package/lib/cjs/client/addon/Manager.js +0 -264
- package/lib/cjs/client/addon/components/Addon.js +0 -55
- package/lib/cjs/client/addon/components/Icons.js +0 -46
- package/lib/cjs/client/addon/components/Panel.js +0 -72
- package/lib/cjs/client/addon/components/TestSelect.js +0 -65
- package/lib/cjs/client/addon/components/Tools.js +0 -95
- package/lib/cjs/client/addon/decorator.js +0 -11
- package/lib/cjs/client/addon/index.js +0 -31
- package/lib/cjs/client/addon/preset.js +0 -62
- package/lib/cjs/client/addon/readyForCapture.js +0 -12
- package/lib/cjs/client/addon/register.js +0 -72
- package/lib/cjs/client/addon/utils.js +0 -38
- package/lib/cjs/client/addon/withCreevey.js +0 -346
- package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -87
- package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -92
- package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -154
- package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -166
- package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -91
- package/lib/cjs/client/shared/components/ImagesView/index.js +0 -45
- package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -50
- package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -94
- package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -82
- package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -119
- package/lib/cjs/client/shared/components/ResultsPage.js +0 -143
- package/lib/cjs/client/shared/creeveyClientApi.js +0 -76
- package/lib/cjs/client/shared/helpers.js +0 -411
- package/lib/cjs/client/shared/viewMode.js +0 -17
- package/lib/cjs/client/web/142.js +0 -2
- package/lib/cjs/client/web/142.js.LICENSE.txt +0 -12
- package/lib/cjs/client/web/32.js +0 -1
- package/lib/cjs/client/web/551.js +0 -1
- package/lib/cjs/client/web/566.js +0 -2
- package/lib/cjs/client/web/566.js.LICENSE.txt +0 -31
- package/lib/cjs/client/web/691.js +0 -2
- package/lib/cjs/client/web/691.js.LICENSE.txt +0 -8
- package/lib/cjs/client/web/725.js +0 -1
- package/lib/cjs/client/web/main.js +0 -2
- package/lib/cjs/creevey.js +0 -69
- package/lib/cjs/index.js +0 -62
- package/lib/cjs/server/config.js +0 -96
- package/lib/cjs/server/docker.js +0 -146
- package/lib/cjs/server/extract.js +0 -50
- package/lib/cjs/server/index.js +0 -83
- package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -86
- package/lib/cjs/server/loaders/babel/helpers.js +0 -469
- package/lib/cjs/server/loaders/babel/register.js +0 -124
- package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
- package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
- package/lib/cjs/server/loaders/webpack/compile.js +0 -293
- package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -179
- package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -39
- package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
- package/lib/cjs/server/loaders/webpack/start.js +0 -41
- package/lib/cjs/server/logger.js +0 -48
- package/lib/cjs/server/master/api.js +0 -75
- package/lib/cjs/server/master/index.js +0 -146
- package/lib/cjs/server/master/master.js +0 -57
- package/lib/cjs/server/master/pool.js +0 -197
- package/lib/cjs/server/master/runner.js +0 -281
- package/lib/cjs/server/master/server.js +0 -129
- package/lib/cjs/server/messages.js +0 -264
- package/lib/cjs/server/selenium/browser.js +0 -672
- package/lib/cjs/server/selenium/index.js +0 -31
- package/lib/cjs/server/selenium/selenoid.js +0 -172
- package/lib/cjs/server/stories.js +0 -159
- package/lib/cjs/server/storybook/entry.js +0 -70
- package/lib/cjs/server/storybook/helpers.js +0 -159
- package/lib/cjs/server/storybook/providers/browser.js +0 -74
- package/lib/cjs/server/storybook/providers/hybrid.js +0 -84
- package/lib/cjs/server/storybook/providers/nodejs.js +0 -239
- package/lib/cjs/server/testsFiles/parser.js +0 -72
- package/lib/cjs/server/testsFiles/register.js +0 -48
- package/lib/cjs/server/update.js +0 -79
- package/lib/cjs/server/utils.js +0 -183
- package/lib/cjs/server/worker/chai-image.js +0 -142
- package/lib/cjs/server/worker/helpers.js +0 -69
- package/lib/cjs/server/worker/index.js +0 -15
- package/lib/cjs/server/worker/reporter.js +0 -108
- package/lib/cjs/server/worker/worker.js +0 -268
- package/lib/cjs/shared/index.js +0 -101
- package/lib/cjs/shared/serializeRegExp.js +0 -42
- package/lib/cjs/types.js +0 -74
- package/lib/esm/cli.js +0 -4
- package/lib/esm/client/addon/Manager.js +0 -248
- package/lib/esm/client/addon/components/Addon.js +0 -39
- package/lib/esm/client/addon/components/Icons.js +0 -31
- package/lib/esm/client/addon/components/Panel.js +0 -53
- package/lib/esm/client/addon/components/TestSelect.js +0 -51
- package/lib/esm/client/addon/components/Tools.js +0 -74
- package/lib/esm/client/addon/decorator.js +0 -2
- package/lib/esm/client/addon/index.js +0 -2
- package/lib/esm/client/addon/preset.js +0 -41
- package/lib/esm/client/addon/readyForCapture.js +0 -5
- package/lib/esm/client/addon/register.js +0 -51
- package/lib/esm/client/addon/utils.js +0 -31
- package/lib/esm/client/addon/withCreevey.js +0 -322
- package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -67
- package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -69
- package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -131
- package/lib/esm/client/shared/components/ImagesView/SlideView.js +0 -143
- package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -71
- package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
- package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -36
- package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -80
- package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -68
- package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -97
- package/lib/esm/client/shared/components/ResultsPage.js +0 -115
- package/lib/esm/client/shared/creeveyClientApi.js +0 -67
- package/lib/esm/client/shared/helpers.js +0 -353
- package/lib/esm/client/shared/viewMode.js +0 -6
- package/lib/esm/creevey.js +0 -54
- package/lib/esm/index.js +0 -5
- package/lib/esm/server/config.js +0 -73
- package/lib/esm/server/docker.js +0 -123
- package/lib/esm/server/extract.js +0 -34
- package/lib/esm/server/index.js +0 -64
- package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -72
- package/lib/esm/server/loaders/babel/helpers.js +0 -452
- package/lib/esm/server/loaders/babel/register.js +0 -103
- package/lib/esm/server/loaders/hooks/mdx.js +0 -15
- package/lib/esm/server/loaders/hooks/svelte.js +0 -49
- package/lib/esm/server/loaders/webpack/compile.js +0 -270
- package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -158
- package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -32
- package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
- package/lib/esm/server/loaders/webpack/start.js +0 -27
- package/lib/esm/server/master/api.js +0 -64
- package/lib/esm/server/master/index.js +0 -125
- package/lib/esm/server/master/master.js +0 -38
- package/lib/esm/server/master/pool.js +0 -176
- package/lib/esm/server/master/runner.js +0 -259
- package/lib/esm/server/master/server.js +0 -105
- package/lib/esm/server/messages.js +0 -232
- package/lib/esm/server/selenium/browser.js +0 -639
- package/lib/esm/server/selenium/index.js +0 -2
- package/lib/esm/server/selenium/selenoid.js +0 -149
- package/lib/esm/server/stories.js +0 -140
- package/lib/esm/server/storybook/entry.js +0 -46
- package/lib/esm/server/storybook/helpers.js +0 -98
- package/lib/esm/server/storybook/providers/browser.js +0 -60
- package/lib/esm/server/storybook/providers/hybrid.js +0 -64
- package/lib/esm/server/storybook/providers/nodejs.js +0 -217
- package/lib/esm/server/testsFiles/parser.js +0 -50
- package/lib/esm/server/testsFiles/register.js +0 -35
- package/lib/esm/server/update.js +0 -61
- package/lib/esm/server/utils.js +0 -142
- package/lib/esm/server/worker/chai-image.js +0 -130
- package/lib/esm/server/worker/helpers.js +0 -60
- package/lib/esm/server/worker/index.js +0 -1
- package/lib/esm/server/worker/reporter.js +0 -86
- package/lib/esm/server/worker/worker.js +0 -238
- package/lib/esm/shared/index.js +0 -78
- package/lib/esm/shared/serializeRegExp.js +0 -24
- package/lib/esm/types.js +0 -43
- package/lib/types/cli.d.ts +0 -1
- package/lib/types/client/addon/components/Addon.d.ts +0 -8
- package/lib/types/client/addon/components/Tools.d.ts +0 -6
- package/lib/types/client/addon/decorator.d.ts +0 -1
- package/lib/types/client/addon/index.d.ts +0 -2
- package/lib/types/client/addon/preset.d.ts +0 -23
- package/lib/types/client/addon/register.d.ts +0 -3
- package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +0 -3
- package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +0 -3
- package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +0 -3
- package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +0 -3
- package/lib/types/client/shared/components/ImagesView/index.d.ts +0 -5
- package/lib/types/client/web/CreeveyLoader.d.ts +0 -2
- package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +0 -33
- package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +0 -9
- package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +0 -1
- package/lib/types/index.d.ts +0 -2
- package/lib/types/server/extract.d.ts +0 -2
- package/lib/types/server/loaders/babel/creevey-plugin.d.ts +0 -1
- package/lib/types/server/loaders/babel/helpers.d.ts +0 -19
- package/lib/types/server/loaders/babel/register.d.ts +0 -5
- package/lib/types/server/loaders/hooks/mdx.d.ts +0 -1
- package/lib/types/server/loaders/hooks/svelte.d.ts +0 -1
- package/lib/types/server/loaders/webpack/compile.d.ts +0 -2
- package/lib/types/server/loaders/webpack/creevey-loader.d.ts +0 -4
- package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +0 -10
- package/lib/types/server/loaders/webpack/mdx-loader.d.ts +0 -6
- package/lib/types/server/loaders/webpack/start.d.ts +0 -1
- package/lib/types/server/master/index.d.ts +0 -3
- package/lib/types/server/master/server.d.ts +0 -2
- package/lib/types/server/selenium/index.d.ts +0 -2
- package/lib/types/server/stories.d.ts +0 -8
- package/lib/types/server/storybook/entry.d.ts +0 -18
- package/lib/types/server/storybook/helpers.d.ts +0 -24
- package/lib/types/server/storybook/providers/browser.d.ts +0 -4
- package/lib/types/server/storybook/providers/hybrid.d.ts +0 -4
- package/lib/types/server/storybook/providers/nodejs.d.ts +0 -9
- package/lib/types/server/testsFiles/register.d.ts +0 -2
- package/lib/types/server/update.d.ts +0 -2
- package/lib/types/server/utils.d.ts +0 -20
- package/lib/types/server/worker/index.d.ts +0 -1
- package/lib/types/server/worker/worker.d.ts +0 -4
- package/preset.js +0 -9
- package/types/babel__register.d.ts +0 -1
- package/types/event-source-polyfill.d.ts +0 -6
- package/types/mdx.d.ts +0 -7
- /package/{addon → manager}/README.md +0 -0
package/src/types.ts
ADDED
@@ -0,0 +1,500 @@
|
|
1
|
+
import type { StoryContextForEnhancers, DecoratorFunction } from '@storybook/csf';
|
2
|
+
import type { IKey } from 'selenium-webdriver/lib/input.js';
|
3
|
+
import type { Worker as ClusterWorker } from 'cluster';
|
4
|
+
import type { until, WebDriver, WebElementPromise } from 'selenium-webdriver';
|
5
|
+
import type Pixelmatch from 'pixelmatch';
|
6
|
+
import type { Context } from 'mocha';
|
7
|
+
import type { expect } from 'chai';
|
8
|
+
|
9
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
10
|
+
export type DiffOptions = typeof Pixelmatch extends (
|
11
|
+
x1: any,
|
12
|
+
x2: any,
|
13
|
+
x3: any,
|
14
|
+
x4: any,
|
15
|
+
x5: any,
|
16
|
+
options?: infer T,
|
17
|
+
) => void
|
18
|
+
? T
|
19
|
+
: never;
|
20
|
+
/* eslint-enable @typescript-eslint/no-explicit-any */
|
21
|
+
|
22
|
+
export interface SetStoriesData {
|
23
|
+
v?: number;
|
24
|
+
globalParameters: { creevey?: CreeveyStoryParams };
|
25
|
+
kindParameters: Partial<Record<string, { fileName: string; creevey?: CreeveyStoryParams }>>;
|
26
|
+
stories: StoriesRaw;
|
27
|
+
}
|
28
|
+
|
29
|
+
export type StoriesRaw = Record<string, StoryContextForEnhancers>;
|
30
|
+
|
31
|
+
export type StoryInput = StoriesRaw extends Record<string, infer S> ? S : never;
|
32
|
+
|
33
|
+
export interface StoryMeta {
|
34
|
+
title: string;
|
35
|
+
component?: unknown;
|
36
|
+
decorators?: DecoratorFunction[];
|
37
|
+
parameters?: {
|
38
|
+
creevey?: CreeveyStoryParams;
|
39
|
+
[name: string]: unknown;
|
40
|
+
};
|
41
|
+
}
|
42
|
+
|
43
|
+
export interface CreeveyMeta {
|
44
|
+
parameters?: {
|
45
|
+
creevey?: CreeveyStoryParams;
|
46
|
+
[name: string]: unknown;
|
47
|
+
};
|
48
|
+
}
|
49
|
+
|
50
|
+
export interface CSFStory<StoryFnReturnType = unknown> {
|
51
|
+
(): StoryFnReturnType;
|
52
|
+
/**
|
53
|
+
* @deprecated
|
54
|
+
* CSF .story annotations deprecated; annotate story functions directly:
|
55
|
+
* - StoryFn.story.name => StoryFn.storyName
|
56
|
+
* - StoryFn.story.(parameters|decorators) => StoryFn.(parameters|decorators)
|
57
|
+
* See https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#hoisted-csf-annotations for details and codemod.
|
58
|
+
*/
|
59
|
+
story?: {
|
60
|
+
name?: string;
|
61
|
+
decorators?: DecoratorFunction[];
|
62
|
+
parameters?: {
|
63
|
+
creevey?: CreeveyStoryParams;
|
64
|
+
[name: string]: unknown;
|
65
|
+
};
|
66
|
+
};
|
67
|
+
|
68
|
+
storyName?: string;
|
69
|
+
decorators?: DecoratorFunction[];
|
70
|
+
parameters?: {
|
71
|
+
creevey?: CreeveyStoryParams;
|
72
|
+
[name: string]: unknown;
|
73
|
+
};
|
74
|
+
}
|
75
|
+
|
76
|
+
export interface CreeveyStory {
|
77
|
+
parameters?: {
|
78
|
+
creevey?: CreeveyStoryParams;
|
79
|
+
[name: string]: unknown;
|
80
|
+
};
|
81
|
+
}
|
82
|
+
|
83
|
+
export interface Capabilities {
|
84
|
+
browserName: string;
|
85
|
+
browserVersion?: string;
|
86
|
+
platformName?: string;
|
87
|
+
/**
|
88
|
+
* @deprecated use `browserVersion` instead
|
89
|
+
*/
|
90
|
+
version?: string;
|
91
|
+
[prop: string]: unknown;
|
92
|
+
}
|
93
|
+
|
94
|
+
export type BrowserConfig = Capabilities & {
|
95
|
+
limit?: number;
|
96
|
+
gridUrl?: string;
|
97
|
+
storybookUrl?: string;
|
98
|
+
/**
|
99
|
+
* Storybook's globals to set in a specific browser
|
100
|
+
* @see https://github.com/storybookjs/storybook/blob/v6.0.0/docs/essentials/toolbars-and-globals.md
|
101
|
+
*/
|
102
|
+
_storybookGlobals?: StorybookGlobals;
|
103
|
+
/**
|
104
|
+
* Specify custom docker image. Used only with `useDocker == true`
|
105
|
+
* @default `selenoid/${browserName}:${browserVersion ?? 'latest'}`
|
106
|
+
*/
|
107
|
+
dockerImage?: string;
|
108
|
+
/**
|
109
|
+
* Command to start standalone webdriver
|
110
|
+
* Used only with `useDocker == false`
|
111
|
+
*/
|
112
|
+
webdriverCommand?: string[];
|
113
|
+
viewport?: { width: number; height: number };
|
114
|
+
};
|
115
|
+
|
116
|
+
export type StorybookGlobals = Record<string, unknown>;
|
117
|
+
|
118
|
+
export type Browser = boolean | string | BrowserConfig;
|
119
|
+
|
120
|
+
export interface HookConfig {
|
121
|
+
before?: () => unknown;
|
122
|
+
after?: () => unknown;
|
123
|
+
}
|
124
|
+
|
125
|
+
export interface DockerAuth {
|
126
|
+
key?: string;
|
127
|
+
username?: string;
|
128
|
+
password?: string;
|
129
|
+
auth?: string;
|
130
|
+
email?: string;
|
131
|
+
serveraddress?: string;
|
132
|
+
}
|
133
|
+
|
134
|
+
export interface Config {
|
135
|
+
/**
|
136
|
+
* Url to Selenium grid hub or standalone selenium.
|
137
|
+
* By default creevey will use docker containers
|
138
|
+
*/
|
139
|
+
gridUrl: string;
|
140
|
+
/**
|
141
|
+
* Url where storybook hosted on
|
142
|
+
* @default 'http://localhost:6006'
|
143
|
+
*/
|
144
|
+
storybookUrl: string;
|
145
|
+
/**
|
146
|
+
* Url where storybook hosted on
|
147
|
+
*/
|
148
|
+
resolveStorybookUrl?: () => Promise<string>;
|
149
|
+
/**
|
150
|
+
* Absolute path to directory with reference images
|
151
|
+
* @default path.join(process.cwd(), './images')
|
152
|
+
*/
|
153
|
+
screenDir: string;
|
154
|
+
/**
|
155
|
+
* Absolute path where test reports and diff images would be saved
|
156
|
+
* @default path.join(process.cwd(), './report')
|
157
|
+
*/
|
158
|
+
reportDir: string;
|
159
|
+
/**
|
160
|
+
* How much test would be retried
|
161
|
+
* @default 0
|
162
|
+
*/
|
163
|
+
maxRetries: number;
|
164
|
+
/**
|
165
|
+
* Define pixelmatch diff options
|
166
|
+
* @default { threshold: 0, includeAA: true }
|
167
|
+
*/
|
168
|
+
diffOptions: DiffOptions;
|
169
|
+
/**
|
170
|
+
* Browser capabilities
|
171
|
+
* @default { chrome: true }
|
172
|
+
*/
|
173
|
+
browsers: Record<string, Browser>;
|
174
|
+
/**
|
175
|
+
* Hooks that allow run custom script before and after creevey start
|
176
|
+
*/
|
177
|
+
hooks: HookConfig;
|
178
|
+
/**
|
179
|
+
* Creevey automatically download latest selenoid binary. You can define path to different verison.
|
180
|
+
* Works only with `useDocker == false`
|
181
|
+
*/
|
182
|
+
selenoidPath?: string;
|
183
|
+
/**
|
184
|
+
* Creevey has two built-in stories providers.
|
185
|
+
*
|
186
|
+
* `nodejsStoriesProvider` - The first one is used by default except if CSFv3 is enabled in Storybook.
|
187
|
+
* This provider builds and runs storybook in nodejs env, that allows write interaction tests by using Selenium API.
|
188
|
+
* The downside is it depends from project build specific and slightly increases init time.
|
189
|
+
*
|
190
|
+
* `browserStoriesProvider` - The second one is used by default with CSFv3 storybook feature.
|
191
|
+
* It load stories from storybook which is running in browser, like storyshots or loki do it.
|
192
|
+
* The downside of this, you can't use interaction tests in Creevey, unless you use CSFv3.
|
193
|
+
* Where you can define `play` method for each story
|
194
|
+
*
|
195
|
+
* Usage
|
196
|
+
* ``` typescript
|
197
|
+
* import { nodejsStoriesProvider as provider } from 'creevey'
|
198
|
+
* // or
|
199
|
+
* import { browserStoriesProvider as provider } from 'creevey'
|
200
|
+
*
|
201
|
+
* // Creevey config
|
202
|
+
* module.exports = {
|
203
|
+
* storiesProvider: provider
|
204
|
+
* }
|
205
|
+
* ```
|
206
|
+
*/
|
207
|
+
storiesProvider: StoriesProvider;
|
208
|
+
/**
|
209
|
+
* Define custom babel options for load stories transformation
|
210
|
+
*/
|
211
|
+
babelOptions: (options: Record<string, unknown>) => Record<string, unknown>;
|
212
|
+
/**
|
213
|
+
* Allows you to start selenoid without docker
|
214
|
+
* and use standalone browsers
|
215
|
+
* @default true
|
216
|
+
*/
|
217
|
+
useDocker: boolean;
|
218
|
+
/**
|
219
|
+
* Custom selenoid docker image
|
220
|
+
* @default 'aerokube/selenoid:latest-release'
|
221
|
+
*/
|
222
|
+
dockerImage: string;
|
223
|
+
/**
|
224
|
+
* Should Creevey pull docker images or use local ones
|
225
|
+
* @default true
|
226
|
+
*/
|
227
|
+
pullImages: boolean;
|
228
|
+
/**
|
229
|
+
* Define auth config for private docker registry
|
230
|
+
*/
|
231
|
+
dockerAuth?: DockerAuth;
|
232
|
+
/**
|
233
|
+
* Enable to stop tests running right after the first failed test.
|
234
|
+
* The `--ui` CLI option ignores this option
|
235
|
+
*/
|
236
|
+
failFast: boolean;
|
237
|
+
/**
|
238
|
+
* Specify platform for docker images
|
239
|
+
*/
|
240
|
+
dockerImagePlatform: string;
|
241
|
+
testsRegex?: RegExp;
|
242
|
+
testsDir?: string;
|
243
|
+
tsConfig?: string;
|
244
|
+
/**
|
245
|
+
* Telemetry contains information about Creevey and Storybook versions, used Creevey config, browsers and tests meta.
|
246
|
+
* It's being sent only for projects from git.skbkontur.ru
|
247
|
+
* @default false
|
248
|
+
*/
|
249
|
+
disableTelemetry?: boolean;
|
250
|
+
}
|
251
|
+
|
252
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
253
|
+
export interface StoriesProvider<T = any> {
|
254
|
+
(config: Config, options: T, storiesListener: (stories: Map<string, StoryInput[]>) => void): Promise<StoriesRaw>;
|
255
|
+
providerName?: string;
|
256
|
+
}
|
257
|
+
|
258
|
+
export type CreeveyConfig = Partial<Config>;
|
259
|
+
|
260
|
+
export interface Options {
|
261
|
+
_: string[];
|
262
|
+
config?: string;
|
263
|
+
port: number;
|
264
|
+
ui: boolean;
|
265
|
+
update: boolean | string;
|
266
|
+
debug: boolean;
|
267
|
+
trace: boolean;
|
268
|
+
tests: boolean;
|
269
|
+
browser?: string;
|
270
|
+
reporter?: string;
|
271
|
+
screenDir?: string;
|
272
|
+
reportDir?: string;
|
273
|
+
storybookUrl?: string;
|
274
|
+
saveReport: boolean;
|
275
|
+
failFast?: boolean;
|
276
|
+
}
|
277
|
+
|
278
|
+
export type WorkerMessage = { type: 'ready'; payload?: never } | { type: 'error'; payload: { error: string } };
|
279
|
+
|
280
|
+
export type StoriesMessage =
|
281
|
+
| { type: 'get'; payload?: never }
|
282
|
+
| { type: 'set'; payload: { stories: StoriesRaw; oldTests: string[] } }
|
283
|
+
| { type: 'update'; payload: [string, StoryInput[]][] }
|
284
|
+
| { type: 'capture'; payload?: CaptureOptions };
|
285
|
+
|
286
|
+
export type TestMessage =
|
287
|
+
| { type: 'start'; payload: { id: string; path: string[]; retries: number } }
|
288
|
+
| { type: 'end'; payload: TestResult };
|
289
|
+
|
290
|
+
export type WebpackMessage =
|
291
|
+
| { type: 'success'; payload?: never }
|
292
|
+
| { type: 'fail'; payload?: never }
|
293
|
+
| { type: 'rebuild succeeded'; payload?: never }
|
294
|
+
| { type: 'rebuild failed'; payload?: never };
|
295
|
+
|
296
|
+
export type DockerMessage = { type: 'start'; payload?: never } | { type: 'success'; payload: { gridUrl: string } };
|
297
|
+
|
298
|
+
export type ShutdownMessage = object;
|
299
|
+
|
300
|
+
export type ProcessMessage =
|
301
|
+
| (WorkerMessage & { scope: 'worker' })
|
302
|
+
| (StoriesMessage & { scope: 'stories' })
|
303
|
+
| (TestMessage & { scope: 'test' })
|
304
|
+
| (WebpackMessage & { scope: 'webpack' })
|
305
|
+
| (DockerMessage & { scope: 'docker' })
|
306
|
+
| (ShutdownMessage & { scope: 'shutdown' });
|
307
|
+
|
308
|
+
export type WorkerHandler = (message: WorkerMessage) => void;
|
309
|
+
export type StoriesHandler = (message: StoriesMessage) => void;
|
310
|
+
export type TestHandler = (message: TestMessage) => void;
|
311
|
+
export type WebpackHandler = (message: WebpackMessage) => void;
|
312
|
+
export type DockerHandler = (message: DockerMessage) => void;
|
313
|
+
export type ShutdownHandler = (message: ShutdownMessage) => void;
|
314
|
+
|
315
|
+
export interface Worker extends ClusterWorker {
|
316
|
+
isRunning?: boolean;
|
317
|
+
}
|
318
|
+
|
319
|
+
export interface Images {
|
320
|
+
actual: string;
|
321
|
+
expect?: string;
|
322
|
+
diff?: string;
|
323
|
+
error?: string;
|
324
|
+
}
|
325
|
+
|
326
|
+
export type TestStatus = 'unknown' | 'pending' | 'running' | 'failed' | 'success' | 'retrying';
|
327
|
+
|
328
|
+
export interface TestResult {
|
329
|
+
status: 'failed' | 'success';
|
330
|
+
// TODO Remove checks `name == browser` in TestResultsView
|
331
|
+
// images?: Partial<{ [name: string]: Images }> | Images;
|
332
|
+
images?: Partial<Record<string, Images>>;
|
333
|
+
error?: string;
|
334
|
+
}
|
335
|
+
|
336
|
+
export interface ImagesError extends Error {
|
337
|
+
images: string | Partial<Record<string, string>>;
|
338
|
+
}
|
339
|
+
|
340
|
+
export interface TestMeta {
|
341
|
+
id: string;
|
342
|
+
storyPath: string[];
|
343
|
+
browser: string;
|
344
|
+
testName?: string;
|
345
|
+
storyId: string;
|
346
|
+
}
|
347
|
+
|
348
|
+
export interface TestData extends TestMeta {
|
349
|
+
skip?: boolean | string;
|
350
|
+
retries?: number;
|
351
|
+
status?: TestStatus;
|
352
|
+
results?: TestResult[];
|
353
|
+
approved?: Partial<Record<string, number>>;
|
354
|
+
}
|
355
|
+
|
356
|
+
export interface ServerTest extends TestData {
|
357
|
+
story: StoryInput;
|
358
|
+
fn: (this: Context) => Promise<void>;
|
359
|
+
}
|
360
|
+
|
361
|
+
export interface CreeveyStatus {
|
362
|
+
isRunning: boolean;
|
363
|
+
tests: Partial<Record<string, TestData>>;
|
364
|
+
browsers: string[];
|
365
|
+
}
|
366
|
+
|
367
|
+
export interface CreeveyUpdate {
|
368
|
+
isRunning?: boolean;
|
369
|
+
// TODO Use Map instead
|
370
|
+
tests?: Partial<Record<string, TestData>>;
|
371
|
+
removedTests?: TestMeta[];
|
372
|
+
}
|
373
|
+
|
374
|
+
export interface SkipOption {
|
375
|
+
in?: string | string[] | RegExp;
|
376
|
+
kinds?: string | string[] | RegExp;
|
377
|
+
stories?: string | string[] | RegExp;
|
378
|
+
tests?: string | string[] | RegExp;
|
379
|
+
}
|
380
|
+
|
381
|
+
export type SkipOptions = boolean | string | Record<string, SkipOption | SkipOption[]>;
|
382
|
+
|
383
|
+
export interface CreeveyTestController {
|
384
|
+
browser: WebDriver;
|
385
|
+
until: typeof until;
|
386
|
+
keys: IKey;
|
387
|
+
expect: typeof expect;
|
388
|
+
takeScreenshot: () => Promise<string>;
|
389
|
+
updateStoryArgs: (updatedArgs: Record<string, unknown>) => Promise<void>;
|
390
|
+
readonly captureElement?: WebElementPromise;
|
391
|
+
}
|
392
|
+
|
393
|
+
export type CreeveyTestFunction = (this: CreeveyTestController) => Promise<void>;
|
394
|
+
|
395
|
+
export interface CaptureOptions {
|
396
|
+
imageName?: string;
|
397
|
+
captureElement?: string | null;
|
398
|
+
ignoreElements?: string | string[] | null;
|
399
|
+
}
|
400
|
+
|
401
|
+
export interface CreeveyStoryParams extends CaptureOptions {
|
402
|
+
waitForReady?: boolean;
|
403
|
+
delay?: number | { for: string[]; ms: number };
|
404
|
+
skip?: SkipOptions;
|
405
|
+
tests?: Record<string, CreeveyTestFunction>;
|
406
|
+
}
|
407
|
+
|
408
|
+
export interface ApprovePayload {
|
409
|
+
id: string;
|
410
|
+
retry: number;
|
411
|
+
image: string;
|
412
|
+
}
|
413
|
+
|
414
|
+
export type Request =
|
415
|
+
| { type: 'status' }
|
416
|
+
| { type: 'start'; payload: string[] }
|
417
|
+
| { type: 'stop' }
|
418
|
+
| { type: 'approve'; payload: ApprovePayload };
|
419
|
+
|
420
|
+
export type Response =
|
421
|
+
| { type: 'status'; payload: CreeveyStatus }
|
422
|
+
| { type: 'update'; payload: CreeveyUpdate }
|
423
|
+
| { type: 'capture' };
|
424
|
+
|
425
|
+
export interface CreeveyTest extends TestData {
|
426
|
+
checked: boolean;
|
427
|
+
}
|
428
|
+
|
429
|
+
export interface CreeveySuite {
|
430
|
+
path: string[];
|
431
|
+
skip: boolean;
|
432
|
+
status?: TestStatus;
|
433
|
+
opened: boolean;
|
434
|
+
checked: boolean;
|
435
|
+
indeterminate: boolean;
|
436
|
+
// TODO Use Map instead
|
437
|
+
children: Partial<Record<string, CreeveySuite | CreeveyTest>>;
|
438
|
+
}
|
439
|
+
|
440
|
+
export type ImagesViewMode = 'side-by-side' | 'swap' | 'slide' | 'blend';
|
441
|
+
|
442
|
+
export function noop(): void {
|
443
|
+
/* noop */
|
444
|
+
}
|
445
|
+
|
446
|
+
export function isDefined<T>(value: T | null | undefined): value is T {
|
447
|
+
return value !== null && value !== undefined;
|
448
|
+
}
|
449
|
+
|
450
|
+
export function isTest(x?: CreeveySuite | CreeveyTest): x is CreeveyTest {
|
451
|
+
return (
|
452
|
+
isDefined(x) &&
|
453
|
+
isObject(x) &&
|
454
|
+
'id' in x &&
|
455
|
+
'storyId' in x &&
|
456
|
+
typeof x.id == 'string' &&
|
457
|
+
typeof x.storyId == 'string'
|
458
|
+
);
|
459
|
+
}
|
460
|
+
|
461
|
+
export function isObject(x: unknown): x is Record<string, unknown> {
|
462
|
+
return typeof x == 'object' && x != null;
|
463
|
+
}
|
464
|
+
|
465
|
+
export function isString(x: unknown): x is string {
|
466
|
+
return typeof x == 'string';
|
467
|
+
}
|
468
|
+
|
469
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
470
|
+
export function isFunction(x: unknown): x is (...args: any[]) => any {
|
471
|
+
return typeof x == 'function';
|
472
|
+
}
|
473
|
+
|
474
|
+
export function isImageError(error: unknown): error is ImagesError {
|
475
|
+
return error instanceof Error && 'images' in error;
|
476
|
+
}
|
477
|
+
|
478
|
+
export function isProcessMessage(message: unknown): message is ProcessMessage {
|
479
|
+
return isObject(message) && 'scope' in message;
|
480
|
+
}
|
481
|
+
|
482
|
+
export function isWorkerMessage(message: unknown): message is WorkerMessage {
|
483
|
+
return isProcessMessage(message) && message.scope == 'worker';
|
484
|
+
}
|
485
|
+
|
486
|
+
export function isStoriesMessage(message: unknown): message is StoriesMessage {
|
487
|
+
return isProcessMessage(message) && message.scope == 'stories';
|
488
|
+
}
|
489
|
+
|
490
|
+
export function isTestMessage(message: unknown): message is TestMessage {
|
491
|
+
return isProcessMessage(message) && message.scope == 'test';
|
492
|
+
}
|
493
|
+
|
494
|
+
export function isWebpackMessage(message: unknown): message is WebpackMessage {
|
495
|
+
return isProcessMessage(message) && message.scope == 'webpack';
|
496
|
+
}
|
497
|
+
|
498
|
+
export function isDockerMessage(message: unknown): message is DockerMessage {
|
499
|
+
return isProcessMessage(message) && message.scope == 'docker';
|
500
|
+
}
|
package/types/chai.d.ts
CHANGED
package/types/mocha.d.ts
CHANGED
@@ -7,7 +7,7 @@ declare namespace Mocha {
|
|
7
7
|
keys: import('selenium-webdriver/lib/input').IKey;
|
8
8
|
expect: Chai.ExpectStatic;
|
9
9
|
takeScreenshot: () => Promise<string>;
|
10
|
-
updateStoryArgs:
|
10
|
+
updateStoryArgs: (updatedArgs: Record<string, unknown>) => Promise<void>;
|
11
11
|
readonly captureElement?: import('selenium-webdriver').WebElementPromise;
|
12
12
|
browserName: string;
|
13
13
|
testScope: string[];
|
package/addon/package.json
DELETED
package/jest.config.js
DELETED