creevey 0.8.0-beta.0 → 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.
- package/CHANGELOG.md +25 -8
- package/README.md +8 -0
- package/addon/README.md +3 -0
- package/addon/package.json +4 -0
- package/jest.config.js +6 -0
- package/lib/cjs/client/addon/Manager.js +122 -271
- package/lib/cjs/client/addon/components/Addon.js +17 -38
- package/lib/cjs/client/addon/components/Icons.js +11 -7
- package/lib/cjs/client/addon/components/Panel.js +17 -13
- package/lib/cjs/client/addon/components/TestSelect.js +11 -9
- package/lib/cjs/client/addon/components/Tools.js +21 -40
- package/lib/cjs/client/addon/decorator.js +1 -1
- package/lib/cjs/client/addon/index.js +31 -0
- package/lib/cjs/client/addon/preset.ie11.js +74 -0
- package/lib/cjs/client/addon/preset.js +13 -31
- package/lib/cjs/client/addon/readyForCapture.js +12 -0
- package/lib/cjs/client/addon/register.js +46 -70
- package/lib/cjs/client/addon/utils.js +6 -2
- package/lib/cjs/client/addon/withCreevey.js +221 -155
- package/lib/cjs/client/shared/components/ImagesView/BlendView.js +26 -24
- package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +22 -18
- package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +44 -66
- package/lib/cjs/client/shared/components/ImagesView/SlideView.js +38 -50
- package/lib/cjs/client/shared/components/ImagesView/SwapView.js +26 -45
- package/lib/cjs/client/shared/components/ImagesView/index.js +9 -9
- package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +12 -8
- package/lib/cjs/client/shared/components/PageFooter/Paging.js +14 -18
- package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +22 -18
- package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +42 -67
- package/lib/cjs/client/shared/components/ResultsPage.js +39 -69
- package/lib/cjs/client/shared/creeveyClientApi.js +55 -82
- package/lib/cjs/client/shared/helpers.js +140 -211
- package/lib/cjs/client/shared/viewMode.js +5 -5
- package/lib/cjs/client/web/142.js +2 -0
- package/lib/cjs/client/web/142.js.LICENSE.txt +12 -0
- package/lib/cjs/client/web/32.js +1 -0
- package/lib/cjs/client/web/551.js +1 -0
- package/lib/cjs/client/web/566.js +2 -0
- package/lib/cjs/client/web/566.js.LICENSE.txt +31 -0
- package/lib/cjs/client/web/691.js +2 -0
- package/lib/cjs/client/web/691.js.LICENSE.txt +8 -0
- package/lib/cjs/client/web/725.js +1 -0
- package/lib/cjs/client/web/main.js +2 -38
- package/lib/cjs/client/web/main.js.LICENSE.txt +49 -0
- package/lib/cjs/creevey.js +3 -5
- package/lib/cjs/index.js +10 -15
- package/lib/cjs/server/config.js +5 -4
- package/lib/cjs/server/docker.js +3 -7
- package/lib/cjs/server/extract.js +7 -4
- package/lib/cjs/server/index.js +3 -5
- package/lib/cjs/server/loaders/babel/creevey-plugin.js +1 -3
- package/lib/cjs/server/loaders/babel/helpers.js +13 -23
- package/lib/cjs/server/loaders/babel/register.js +2 -4
- package/lib/cjs/server/loaders/webpack/compile.js +33 -50
- package/lib/cjs/server/loaders/webpack/creevey-loader.js +20 -22
- package/lib/cjs/server/loaders/webpack/dummy-hmr.js +2 -7
- package/lib/cjs/server/loaders/webpack/mdx-loader.js +2 -2
- package/lib/cjs/server/loaders/webpack/start.js +1 -1
- package/lib/cjs/server/logger.js +2 -1
- package/lib/cjs/server/master/index.js +4 -4
- package/lib/cjs/server/master/master.js +1 -0
- package/lib/cjs/server/master/pool.js +38 -47
- package/lib/cjs/server/master/runner.js +53 -66
- package/lib/cjs/server/master/server.js +78 -4
- package/lib/cjs/server/messages.js +128 -18
- package/lib/cjs/server/selenium/browser.js +129 -55
- package/lib/cjs/server/selenium/selenoid.js +5 -7
- package/lib/cjs/server/stories.js +58 -72
- package/lib/cjs/server/storybook/entry.js +7 -22
- package/lib/cjs/server/storybook/helpers.js +18 -25
- package/lib/cjs/server/storybook/providers/browser.js +74 -0
- package/lib/cjs/server/storybook/{nodejs-provider.js → providers/nodejs.js} +37 -20
- package/lib/cjs/server/update.js +1 -5
- package/lib/cjs/server/utils.js +12 -14
- package/lib/cjs/server/worker/helpers.js +2 -6
- package/lib/cjs/server/worker/reporter.js +8 -20
- package/lib/cjs/server/worker/worker.js +21 -19
- package/lib/cjs/shared/index.js +101 -0
- package/lib/cjs/shared/serializeRegExp.js +42 -0
- package/lib/cjs/types.js +11 -6
- package/lib/esm/client/addon/Manager.js +122 -271
- package/lib/esm/client/addon/components/Addon.js +15 -34
- package/lib/esm/client/addon/components/Icons.js +10 -6
- package/lib/esm/client/addon/components/Panel.js +17 -13
- package/lib/esm/client/addon/components/TestSelect.js +11 -9
- package/lib/esm/client/addon/components/Tools.js +19 -36
- package/lib/esm/client/addon/decorator.js +1 -1
- package/lib/esm/client/addon/index.js +2 -0
- package/lib/esm/client/addon/preset.ie11.js +59 -0
- package/lib/esm/client/addon/preset.js +12 -26
- package/lib/esm/client/addon/readyForCapture.js +5 -0
- package/lib/esm/client/addon/register.js +42 -66
- package/lib/esm/client/addon/utils.js +3 -2
- package/lib/esm/client/addon/withCreevey.js +209 -156
- package/lib/esm/client/shared/components/ImagesView/BlendView.js +23 -20
- package/lib/esm/client/shared/components/ImagesView/ImagesView.js +21 -17
- package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +42 -63
- package/lib/esm/client/shared/components/ImagesView/SlideView.js +36 -47
- package/lib/esm/client/shared/components/ImagesView/SwapView.js +24 -42
- package/lib/esm/client/shared/components/PageFooter/PageFooter.js +12 -8
- package/lib/esm/client/shared/components/PageFooter/Paging.js +14 -18
- package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +22 -18
- package/lib/esm/client/shared/components/PageHeader/PageHeader.js +37 -60
- package/lib/esm/client/shared/components/ResultsPage.js +36 -64
- package/lib/esm/client/shared/creeveyClientApi.js +57 -84
- package/lib/esm/client/shared/helpers.js +124 -195
- package/lib/esm/client/shared/viewMode.js +4 -4
- package/lib/esm/creevey.js +3 -5
- package/lib/esm/index.js +2 -3
- package/lib/esm/server/config.js +4 -5
- package/lib/esm/server/docker.js +2 -2
- package/lib/esm/server/extract.js +6 -4
- package/lib/esm/server/index.js +3 -4
- package/lib/esm/server/loaders/babel/creevey-plugin.js +1 -3
- package/lib/esm/server/loaders/babel/helpers.js +12 -22
- package/lib/esm/server/loaders/babel/register.js +3 -5
- package/lib/esm/server/loaders/webpack/compile.js +34 -51
- package/lib/esm/server/loaders/webpack/creevey-loader.js +9 -10
- package/lib/esm/server/loaders/webpack/dummy-hmr.js +2 -6
- package/lib/esm/server/loaders/webpack/mdx-loader.js +2 -2
- package/lib/esm/server/loaders/webpack/start.js +1 -1
- package/lib/esm/server/master/index.js +4 -4
- package/lib/esm/server/master/master.js +1 -0
- package/lib/esm/server/master/pool.js +38 -49
- package/lib/esm/server/master/runner.js +53 -66
- package/lib/esm/server/master/server.js +76 -6
- package/lib/esm/server/messages.js +118 -14
- package/lib/esm/server/selenium/browser.js +126 -57
- package/lib/esm/server/selenium/selenoid.js +4 -6
- package/lib/esm/server/stories.js +58 -70
- package/lib/esm/server/storybook/entry.js +5 -22
- package/lib/esm/server/storybook/helpers.js +10 -19
- package/lib/esm/server/storybook/providers/browser.js +60 -0
- package/lib/esm/server/storybook/{nodejs-provider.js → providers/nodejs.js} +35 -19
- package/lib/esm/server/update.js +1 -5
- package/lib/esm/server/utils.js +5 -9
- package/lib/esm/server/worker/helpers.js +2 -6
- package/lib/esm/server/worker/reporter.js +8 -20
- package/lib/esm/server/worker/worker.js +22 -20
- package/lib/esm/shared/index.js +78 -0
- package/lib/esm/shared/serializeRegExp.js +24 -0
- package/lib/esm/types.js +3 -0
- package/lib/types/client/addon/Manager.d.ts +2 -2
- package/lib/types/client/addon/components/TestSelect.d.ts +0 -1
- package/lib/types/client/addon/index.d.ts +2 -0
- package/lib/types/client/addon/preset.d.ts +2 -1
- package/lib/types/client/addon/preset.ie11.d.ts +10 -0
- package/lib/types/client/addon/readyForCapture.d.ts +6 -0
- package/lib/types/client/addon/utils.d.ts +1 -0
- package/lib/types/client/addon/withCreevey.d.ts +13 -2
- package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +1 -1
- package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +0 -1
- package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +1 -1
- package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +1 -1
- package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +1 -1
- package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +0 -1
- package/lib/types/client/shared/components/PageFooter/Paging.d.ts +0 -1
- package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +1 -1
- package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +0 -1
- package/lib/types/client/shared/components/ResultsPage.d.ts +1 -1
- package/lib/types/client/web/CreeveyApp.d.ts +0 -1
- package/lib/types/client/web/CreeveyLoader.d.ts +1 -2
- package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +1 -1
- package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +0 -1
- package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +6 -6
- package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +0 -1
- package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +1 -1
- package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/server/loaders/babel/register.d.ts +1 -1
- package/lib/types/server/loaders/webpack/creevey-loader.d.ts +4 -2
- package/lib/types/server/logger.d.ts +6 -2
- package/lib/types/server/master/master.d.ts +1 -0
- package/lib/types/server/master/pool.d.ts +1 -0
- package/lib/types/server/master/server.d.ts +1 -1
- package/lib/types/server/messages.d.ts +17 -6
- package/lib/types/server/selenium/browser.d.ts +5 -2
- package/lib/types/server/stories.d.ts +2 -2
- package/lib/types/server/storybook/entry.d.ts +1 -2
- package/lib/types/server/storybook/providers/browser.d.ts +4 -0
- package/lib/types/server/storybook/providers/nodejs.d.ts +9 -0
- package/lib/types/server/worker/helpers.d.ts +2 -1
- package/lib/types/shared/index.d.ts +7 -0
- package/lib/types/shared/serializeRegExp.d.ts +9 -0
- package/lib/types/types.d.ts +31 -3
- package/package.json +121 -103
- package/preset/ie11.js +5 -0
- package/{preset.js → preset/index.js} +2 -2
- package/types/mdx.d.ts +3 -2
- package/types/mocha.d.ts +1 -0
- package/lib/cjs/client/web/1.js +0 -13
- package/lib/cjs/client/web/2.js +0 -1
- package/lib/cjs/shared.js +0 -35
- package/lib/esm/shared.js +0 -22
- package/lib/types/server/storybook/nodejs-provider.d.ts +0 -5
- package/lib/types/shared.d.ts +0 -4
@@ -1,14 +1,15 @@
|
|
1
|
-
/// <reference types="webpack-dev-server" />
|
2
1
|
import { Configuration } from 'webpack';
|
3
2
|
export declare function config(entry?: string[]): string[];
|
4
3
|
export declare function managerEntries(entry?: string[]): string[];
|
5
4
|
declare global {
|
5
|
+
const __CREEVEY_SERVER_HOST__: string;
|
6
6
|
const __CREEVEY_SERVER_PORT__: number;
|
7
7
|
const __CREEVEY_CLIENT_PORT__: number | null;
|
8
8
|
}
|
9
9
|
export interface CreeveyAddonOptions {
|
10
10
|
creeveyConfigPath?: string;
|
11
11
|
creeveyPreExtract?: string;
|
12
|
+
creeveyHost?: string;
|
12
13
|
creeveyPort?: number;
|
13
14
|
clientPort?: number;
|
14
15
|
configType: string;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import type { Configuration } from 'webpack';
|
2
|
+
import { PluginItem } from '@babel/core';
|
3
|
+
interface BabelOptions {
|
4
|
+
extends: string | null;
|
5
|
+
presets: PluginItem[] | null;
|
6
|
+
}
|
7
|
+
export declare const babel: (config: BabelOptions) => BabelOptions;
|
8
|
+
export declare const managerWebpack: (webpackConfig?: Configuration) => Configuration;
|
9
|
+
export declare const webpack: (webpackConfig?: Configuration) => Configuration;
|
10
|
+
export {};
|
@@ -1,13 +1,24 @@
|
|
1
|
+
import type { PreviewWeb } from '@storybook/preview-web';
|
2
|
+
import type { AnyFramework } from '@storybook/csf';
|
3
|
+
import type { StoryStore } from '@storybook/client-api';
|
1
4
|
import { MakeDecoratorResult, Channel } from '@storybook/addons';
|
2
|
-
import { StorybookGlobals } from '../../types';
|
5
|
+
import { CaptureOptions, StoriesRaw, StorybookGlobals } from '../../types';
|
3
6
|
declare global {
|
4
7
|
interface Window {
|
5
|
-
|
8
|
+
__CREEVEY_SERVER_HOST__: string;
|
9
|
+
__CREEVEY_SERVER_PORT__: number;
|
10
|
+
__CREEVEY_WORKER_ID__: number;
|
11
|
+
__CREEVEY_GET_STORIES__: () => Promise<StoriesRaw | void>;
|
12
|
+
__CREEVEY_SELECT_STORY__: (storyId: string, kind: string, name: string, shouldWaitForReady: boolean, callback: (response: [error?: string | null, isCaptureCalled?: boolean]) => void) => Promise<void>;
|
6
13
|
__CREEVEY_UPDATE_GLOBALS__: (globals: StorybookGlobals) => void;
|
7
14
|
__CREEVEY_INSERT_IGNORE_STYLES__: (ignoreElements: string[]) => HTMLStyleElement;
|
8
15
|
__CREEVEY_REMOVE_IGNORE_STYLES__: (ignoreStyles: HTMLStyleElement) => void;
|
16
|
+
__CREEVEY_HAS_PLAY_COMPLETED_YET__: (callback: (isPlayCompleted: boolean) => void) => void;
|
9
17
|
__CREEVEY_SET_READY_FOR_CAPTURE__?: () => void;
|
10
18
|
__STORYBOOK_ADDONS_CHANNEL__: Channel;
|
19
|
+
__STORYBOOK_STORY_STORE__: StoryStore<AnyFramework>;
|
20
|
+
__STORYBOOK_PREVIEW__: PreviewWeb<AnyFramework>;
|
11
21
|
}
|
12
22
|
}
|
13
23
|
export declare function withCreevey(): MakeDecoratorResult;
|
24
|
+
export declare function capture(options?: CaptureOptions): Promise<void>;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { ViewPropsWithTheme } from './ImagesView';
|
3
|
-
export declare const BlendView: React.
|
3
|
+
export declare const BlendView: React.FC<import("@storybook/theming").AddOptionalTo<ViewPropsWithTheme, "theme">>;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { ViewPropsWithTheme } from './ImagesView';
|
3
|
-
export declare const SideBySideView: React.
|
3
|
+
export declare const SideBySideView: React.FC<import("@storybook/theming").AddOptionalTo<ViewPropsWithTheme, "theme">>;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { ViewPropsWithTheme } from './ImagesView';
|
3
|
-
export declare const SlideView: React.
|
3
|
+
export declare const SlideView: React.FC<import("@storybook/theming").AddOptionalTo<ViewPropsWithTheme, "theme">>;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { ViewPropsWithTheme } from './ImagesView';
|
3
|
-
export declare const SwapView: React.
|
3
|
+
export declare const SwapView: React.FC<import("@storybook/theming").AddOptionalTo<ViewPropsWithTheme, "theme">>;
|
@@ -8,5 +8,5 @@ interface ImageSwapProps {
|
|
8
8
|
theme: Theme;
|
9
9
|
error?: boolean;
|
10
10
|
}
|
11
|
-
export declare const ImagePreview: React.
|
11
|
+
export declare const ImagePreview: React.FC<import("@storybook/theming").AddOptionalTo<ImageSwapProps, "theme">>;
|
12
12
|
export {};
|
@@ -14,5 +14,5 @@ interface TestResultsProps {
|
|
14
14
|
height?: string;
|
15
15
|
}
|
16
16
|
export declare function ResultsPageInternal({ id, path, results, approved, theme, onImageApprove, showTitle, height, }: TestResultsProps): JSX.Element;
|
17
|
-
export declare const ResultsPage: React.
|
17
|
+
export declare const ResultsPage: React.FC<import("@storybook/theming").AddOptionalTo<TestResultsProps, "theme">>;
|
18
18
|
export {};
|
@@ -8,7 +8,7 @@ interface BooleanProps {
|
|
8
8
|
interface CheckboxState {
|
9
9
|
indeterminate: boolean;
|
10
10
|
}
|
11
|
-
export declare const CheckboxContainer: import("@
|
11
|
+
export declare const CheckboxContainer: import("@storybook/theming").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement>>, Theme>;
|
12
12
|
export declare class Checkbox extends React.Component<BooleanProps, CheckboxState> {
|
13
13
|
state: CheckboxState;
|
14
14
|
handleIndeterminateChange: (value: boolean) => void;
|
@@ -4,9 +4,9 @@ import { Theme } from '@storybook/theming';
|
|
4
4
|
export interface SuiteLinkProps {
|
5
5
|
title: string;
|
6
6
|
suite: CreeveySuite;
|
7
|
-
'data-
|
7
|
+
'data-testid'?: string;
|
8
8
|
}
|
9
|
-
export declare const Container: React.
|
9
|
+
export declare const Container: React.FC<import("@storybook/theming").AddOptionalTo<Pick<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & Pick<{
|
10
10
|
theme: Theme;
|
11
11
|
disabled?: boolean | undefined;
|
12
12
|
}, "disabled"> & {
|
@@ -16,7 +16,7 @@ export declare const Container: React.SFC<import("emotion-theming/types/helper")
|
|
16
16
|
}, "key" | "theme" | keyof React.HTMLAttributes<HTMLDivElement> | "disabled"> & {
|
17
17
|
ref?: React.RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
|
18
18
|
}, "theme">>;
|
19
|
-
export declare const Button: React.
|
19
|
+
export declare const Button: React.FC<import("@storybook/theming").AddOptionalTo<Pick<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & Pick<{
|
20
20
|
theme: Theme;
|
21
21
|
active?: boolean | undefined;
|
22
22
|
focused?: boolean | undefined;
|
@@ -24,10 +24,10 @@ export declare const Button: React.SFC<import("emotion-theming/types/helper").Ad
|
|
24
24
|
theme?: Theme | undefined;
|
25
25
|
} & {
|
26
26
|
children?: React.ReactNode;
|
27
|
-
}, "key" | "theme" |
|
27
|
+
}, "key" | "theme" | keyof React.ButtonHTMLAttributes<HTMLButtonElement> | "active" | "focused"> & {
|
28
28
|
ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
|
29
29
|
}, "theme">>;
|
30
|
-
export declare const SuiteContainer: import("@
|
30
|
+
export declare const SuiteContainer: import("@storybook/theming").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {
|
31
31
|
padding: number;
|
32
32
|
}, Theme>;
|
33
|
-
export declare function SuiteLink({ title, suite, 'data-
|
33
|
+
export declare function SuiteLink({ title, suite, 'data-testid': dataTid }: SuiteLinkProps): JSX.Element;
|
@@ -7,4 +7,4 @@ export interface TestStatusIconProps {
|
|
7
7
|
skip?: string | boolean;
|
8
8
|
theme: Theme;
|
9
9
|
}
|
10
|
-
export declare const TestStatusIcon: React.
|
10
|
+
export declare const TestStatusIcon: React.FC<import("@storybook/theming").AddOptionalTo<TestStatusIconProps, "theme">>;
|
@@ -6,4 +6,4 @@ export interface TestsStatusProps extends CreeveyTestsStatus {
|
|
6
6
|
onClickByStatus: (value: TestStatus) => void;
|
7
7
|
theme?: Theme;
|
8
8
|
}
|
9
|
-
export declare const TestsStatus: React.
|
9
|
+
export declare const TestsStatus: React.FC<import("@storybook/theming").AddOptionalTo<TestsStatusProps, "theme">>;
|
package/lib/types/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/// <reference types="webpack-env" />
|
2
2
|
import { Config } from '../../../types';
|
3
|
-
declare function getRequireContext(rootDir: string): (rootPath: string, deep?: boolean
|
3
|
+
declare function getRequireContext(rootDir: string): (rootPath: string, deep?: boolean, filter?: RegExp) => __WebpackModuleApi.RequireContext;
|
4
4
|
export default function register(config: Config, debug?: boolean): Promise<ReturnType<typeof getRequireContext>>;
|
5
5
|
export {};
|
@@ -1,2 +1,4 @@
|
|
1
|
-
import {
|
2
|
-
|
1
|
+
import { getOptions } from 'loader-utils';
|
2
|
+
declare type LoaderContext = Parameters<typeof getOptions>[0];
|
3
|
+
export default function loader(this: LoaderContext | void, source: string): string;
|
4
|
+
export {};
|
@@ -1,6 +1,10 @@
|
|
1
|
-
import
|
1
|
+
import chalk from 'chalk';
|
2
2
|
export { getLogger } from 'loglevel';
|
3
3
|
export declare const colors: {
|
4
|
-
|
4
|
+
TRACE: chalk.Chalk;
|
5
|
+
DEBUG: chalk.Chalk;
|
6
|
+
INFO: chalk.Chalk;
|
7
|
+
WARN: chalk.Chalk;
|
8
|
+
ERROR: chalk.Chalk;
|
5
9
|
};
|
6
10
|
export declare const logger: import("loglevel").Logger;
|
@@ -1,2 +1,2 @@
|
|
1
1
|
import { CreeveyApi } from './api';
|
2
|
-
export default function server(reportDir: string, port: number): (api: CreeveyApi) => void;
|
2
|
+
export default function server(reportDir: string, port: number, ui: boolean): (api: CreeveyApi) => void;
|
@@ -1,18 +1,29 @@
|
|
1
1
|
/// <reference types="webpack-env" />
|
2
2
|
/// <reference types="node" />
|
3
|
-
|
4
|
-
import {
|
3
|
+
/// <reference types="node" />
|
4
|
+
import { Worker } from 'cluster';
|
5
|
+
import { WorkerMessage, StoriesMessage, TestMessage, WebpackMessage, DockerMessage, WorkerHandler, StoriesHandler, TestHandler, WebpackHandler, DockerHandler, ShutdownHandler } from '../types';
|
5
6
|
export declare function emitWorkerMessage(message: WorkerMessage): boolean;
|
7
|
+
export declare function emitStoriesMessage(message: StoriesMessage): boolean;
|
6
8
|
export declare function emitTestMessage(message: TestMessage): boolean;
|
7
9
|
export declare function emitWebpackMessage(message: WebpackMessage): boolean;
|
8
10
|
export declare function emitDockerMessage(message: DockerMessage): boolean;
|
9
11
|
export declare function emitShutdownMessage(): boolean;
|
10
|
-
export declare function
|
11
|
-
export declare function
|
12
|
-
export declare function
|
12
|
+
export declare function sendStoriesMessage(target: NodeJS.Process | Worker, message: StoriesMessage): void;
|
13
|
+
export declare function sendTestMessage(target: NodeJS.Process | Worker, message: TestMessage): void;
|
14
|
+
export declare function sendDockerMessage(target: NodeJS.Process | Worker, message: DockerMessage): void;
|
15
|
+
export declare function sendShutdownMessage(target: NodeJS.Process | Worker): void;
|
13
16
|
export declare function subscribeOn(scope: 'worker', handler: WorkerHandler): () => void;
|
17
|
+
export declare function subscribeOn(scope: 'stories', handler: StoriesHandler): () => void;
|
14
18
|
export declare function subscribeOn(scope: 'test', handler: TestHandler): () => void;
|
15
19
|
export declare function subscribeOn(scope: 'webpack', handler: WebpackHandler): () => void;
|
16
20
|
export declare function subscribeOn(scope: 'docker', handler: DockerHandler): () => void;
|
17
21
|
export declare function subscribeOn(scope: 'shutdown', handler: ShutdownHandler): () => void;
|
18
|
-
export declare function subscribeOn(scope: 'worker' | 'test' | 'webpack' | 'docker' | 'shutdown', handler: WorkerHandler | TestHandler | WebpackHandler | DockerHandler | ShutdownHandler): () => void;
|
22
|
+
export declare function subscribeOn(scope: 'worker' | 'stories' | 'test' | 'webpack' | 'docker' | 'shutdown', handler: WorkerHandler | StoriesHandler | TestHandler | WebpackHandler | DockerHandler | ShutdownHandler): () => void;
|
23
|
+
export declare function subscribeOnWorker(worker: Worker, scope: 'worker', handler: WorkerHandler): () => void;
|
24
|
+
export declare function subscribeOnWorker(worker: Worker, scope: 'stories', handler: StoriesHandler): () => void;
|
25
|
+
export declare function subscribeOnWorker(worker: Worker, scope: 'test', handler: TestHandler): () => void;
|
26
|
+
export declare function subscribeOnWorker(worker: Worker, scope: 'webpack', handler: WebpackHandler): () => void;
|
27
|
+
export declare function subscribeOnWorker(worker: Worker, scope: 'docker', handler: DockerHandler): () => void;
|
28
|
+
export declare function subscribeOnWorker(worker: Worker, scope: 'shutdown', handler: ShutdownHandler): () => void;
|
29
|
+
export declare function subscribeOnWorker(worker: Worker, scope: 'worker' | 'stories' | 'test' | 'webpack' | 'docker' | 'shutdown', handler: WorkerHandler | StoriesHandler | TestHandler | WebpackHandler | DockerHandler | ShutdownHandler): () => void;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Context } from 'mocha';
|
2
2
|
import { WebDriver } from 'selenium-webdriver';
|
3
|
-
import {
|
3
|
+
import { Config, StorybookGlobals, StoriesRaw } from '../../types';
|
4
4
|
declare global {
|
5
5
|
interface Window {
|
6
6
|
__CREEVEY_RESTORE_SCROLL__?: () => void;
|
@@ -9,6 +9,9 @@ declare global {
|
|
9
9
|
__CREEVEY_REMOVE_IGNORE_STYLES__: (ignoreStyles: HTMLStyleElement) => void;
|
10
10
|
}
|
11
11
|
}
|
12
|
+
export declare function takeScreenshot(browser: WebDriver, captureElement?: string | null, ignoreElements?: string | string[] | null): Promise<string>;
|
12
13
|
export declare function updateStorybookGlobals(browser: WebDriver, globals: StorybookGlobals): Promise<void>;
|
13
|
-
export declare function
|
14
|
+
export declare function loadStoriesFromBrowser(port: number): Promise<StoriesRaw>;
|
15
|
+
export declare function getBrowser(config: Config, name: string): Promise<WebDriver | null>;
|
16
|
+
export declare function closeBrowser(): Promise<void>;
|
14
17
|
export declare function switchStory(this: Context): Promise<void>;
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { ServerTest, StoryInput, SetStoriesData } from '../types';
|
2
|
-
export declare function loadTestsFromStories(browsers: string[], provider: (storiesListener: (stories: Map<string, StoryInput[]>) => void) => Promise<
|
1
|
+
import type { StoriesRaw, ServerTest, StoryInput, SetStoriesData } from '../types';
|
2
|
+
export declare function loadTestsFromStories(browsers: string[], provider: (storiesListener: (stories: Map<string, StoryInput[]>) => void) => Promise<StoriesRaw>, update?: (testsDiff: Partial<{
|
3
3
|
[id: string]: ServerTest;
|
4
4
|
}>) => void): Promise<Partial<{
|
5
5
|
[id: string]: ServerTest;
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/// <reference types="node" />
|
2
2
|
/// <reference types="webpack-env" />
|
3
3
|
import type { StoryApi } from '@storybook/addons';
|
4
|
-
import type { Channel } from '@storybook/channels';
|
5
4
|
declare const start: typeof import("@storybook/core").start;
|
6
|
-
export declare const channel: Channel;
|
5
|
+
export declare const channel: import("@storybook/channels").Channel;
|
7
6
|
declare type ClientApi = ReturnType<typeof start>['clientApi'];
|
8
7
|
export declare const clientApi: ClientApi;
|
9
8
|
export declare const forceReRender: (() => never) | (() => void);
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { StoryInput, SetStoriesData, Config, StoriesRaw } from '../../../types';
|
2
|
+
export declare function loadStories(config: Config, { watch, debug }: {
|
3
|
+
watch: boolean;
|
4
|
+
debug: boolean;
|
5
|
+
}, storiesListener: (stories: Map<string, StoryInput[]>) => void): Promise<StoriesRaw>;
|
6
|
+
export declare function extractStoriesData(config: Config, { watch, debug }: {
|
7
|
+
watch: boolean;
|
8
|
+
debug: boolean;
|
9
|
+
}): Promise<SetStoriesData>;
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { Suite } from 'mocha';
|
2
2
|
import { Config } from '../../types';
|
3
|
-
export declare function addTestsFromStories(rootSuite: Suite, config: Config, { browser,
|
3
|
+
export declare function addTestsFromStories(rootSuite: Suite, config: Config, { browser, ...options }: {
|
4
4
|
browser: string;
|
5
5
|
watch: boolean;
|
6
6
|
debug: boolean;
|
7
|
+
port: number;
|
7
8
|
}): Promise<void>;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { Parameters } from '@storybook/api';
|
2
|
+
import { SetStoriesData, StoriesRaw, StoryInput } from '../types';
|
3
|
+
export declare const combineParameters: (...parameterSets: Parameters[]) => Parameters;
|
4
|
+
export declare const denormalizeStoryParameters: ({ globalParameters, kindParameters, stories, }: SetStoriesData) => StoriesRaw;
|
5
|
+
export declare const serializeRawStories: (stories: StoriesRaw) => StoriesRaw;
|
6
|
+
export declare const deserializeRawStories: (stories: StoriesRaw) => StoriesRaw;
|
7
|
+
export declare const deserializeStory: (story: StoryInput) => StoryInput;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export interface SerializedRegExp {
|
2
|
+
__regexp: true;
|
3
|
+
source: string;
|
4
|
+
flags: string;
|
5
|
+
}
|
6
|
+
export declare const isRegExp: (exp: unknown) => exp is RegExp;
|
7
|
+
export declare const isSerializedRegExp: (exp: unknown) => exp is SerializedRegExp;
|
8
|
+
export declare const serializeRegExp: (exp: RegExp) => SerializedRegExp;
|
9
|
+
export declare const deserializeRegExp: ({ source, flags }: SerializedRegExp) => RegExp;
|
package/lib/types/types.d.ts
CHANGED
@@ -9,6 +9,7 @@ import type Pixelmatch from 'pixelmatch';
|
|
9
9
|
import type { Context } from 'mocha';
|
10
10
|
export declare type DiffOptions = typeof Pixelmatch extends (x1: any, x2: any, x3: any, x4: any, x5: any, options?: infer T) => void ? T : never;
|
11
11
|
export declare type SetStoriesData = {
|
12
|
+
v?: number;
|
12
13
|
globalParameters: {
|
13
14
|
creevey?: CreeveyStoryParams;
|
14
15
|
};
|
@@ -206,11 +207,13 @@ export interface Config {
|
|
206
207
|
* module.exports = {
|
207
208
|
* storiesProvider: provider
|
208
209
|
* }
|
210
|
+
* ```
|
209
211
|
*/
|
210
|
-
storiesProvider: (config: Config,
|
212
|
+
storiesProvider: (config: Config, options: {
|
211
213
|
watch: boolean;
|
212
214
|
debug: boolean;
|
213
|
-
|
215
|
+
port: number;
|
216
|
+
}, storiesListener: (stories: Map<string, StoryInput[]>) => void) => Promise<StoriesRaw>;
|
214
217
|
/**
|
215
218
|
* Define custom babel options for load stories transformation
|
216
219
|
*/
|
@@ -271,6 +274,22 @@ export declare type WorkerMessage = {
|
|
271
274
|
error: string;
|
272
275
|
};
|
273
276
|
};
|
277
|
+
export declare type StoriesMessage = {
|
278
|
+
type: 'get';
|
279
|
+
payload?: never;
|
280
|
+
} | {
|
281
|
+
type: 'set';
|
282
|
+
payload: {
|
283
|
+
stories: StoriesRaw;
|
284
|
+
oldTests: string[];
|
285
|
+
};
|
286
|
+
} | {
|
287
|
+
type: 'update';
|
288
|
+
payload: [string, StoryInput[]][];
|
289
|
+
} | {
|
290
|
+
type: 'capture';
|
291
|
+
payload?: CaptureOptions;
|
292
|
+
};
|
274
293
|
export declare type TestMessage = {
|
275
294
|
type: 'start';
|
276
295
|
payload: {
|
@@ -307,6 +326,8 @@ export declare type DockerMessage = {
|
|
307
326
|
export declare type ShutdownMessage = unknown;
|
308
327
|
export declare type ProcessMessage = (WorkerMessage & {
|
309
328
|
scope: 'worker';
|
329
|
+
}) | (StoriesMessage & {
|
330
|
+
scope: 'stories';
|
310
331
|
}) | (TestMessage & {
|
311
332
|
scope: 'test';
|
312
333
|
}) | (WebpackMessage & {
|
@@ -317,6 +338,7 @@ export declare type ProcessMessage = (WorkerMessage & {
|
|
317
338
|
scope: 'shutdown';
|
318
339
|
});
|
319
340
|
export declare type WorkerHandler = (message: WorkerMessage) => void;
|
341
|
+
export declare type StoriesHandler = (message: StoriesMessage) => void;
|
320
342
|
export declare type TestHandler = (message: TestMessage) => void;
|
321
343
|
export declare type WebpackHandler = (message: WebpackMessage) => void;
|
322
344
|
export declare type DockerHandler = (message: DockerMessage) => void;
|
@@ -394,9 +416,12 @@ export declare type CreeveyTestFunction = (this: {
|
|
394
416
|
updateStoryArgs: <Args extends Record<string, unknown>>(updatedArgs: Args) => Promise<void>;
|
395
417
|
readonly captureElement?: WebElementPromise;
|
396
418
|
}) => Promise<void>;
|
397
|
-
export interface
|
419
|
+
export interface CaptureOptions {
|
420
|
+
imageName?: string;
|
398
421
|
captureElement?: string | null;
|
399
422
|
ignoreElements?: string | string[] | null;
|
423
|
+
}
|
424
|
+
export interface CreeveyStoryParams extends CaptureOptions {
|
400
425
|
waitForReady?: boolean;
|
401
426
|
delay?: number | {
|
402
427
|
for: string[];
|
@@ -429,6 +454,8 @@ export declare type Response = {
|
|
429
454
|
} | {
|
430
455
|
type: 'update';
|
431
456
|
payload: CreeveyUpdate;
|
457
|
+
} | {
|
458
|
+
type: 'capture';
|
432
459
|
};
|
433
460
|
export interface CreeveyTest extends TestData {
|
434
461
|
checked: boolean;
|
@@ -454,6 +481,7 @@ export declare function isFunction(x: unknown): x is (...args: any[]) => any;
|
|
454
481
|
export declare function isImageError(error: unknown): error is ImagesError;
|
455
482
|
export declare function isProcessMessage(message: unknown): message is ProcessMessage;
|
456
483
|
export declare function isWorkerMessage(message: unknown): message is WorkerMessage;
|
484
|
+
export declare function isStoriesMessage(message: unknown): message is StoriesMessage;
|
457
485
|
export declare function isTestMessage(message: unknown): message is TestMessage;
|
458
486
|
export declare function isWebpackMessage(message: unknown): message is WebpackMessage;
|
459
487
|
export declare function isDockerMessage(message: unknown): message is DockerMessage;
|