Skip to content

Commit

Permalink
React: Fix StorybookConfig typescript types
Browse files Browse the repository at this point in the history
  • Loading branch information
shilman committed May 4, 2022
1 parent 59267e2 commit 3f0d8a8
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 17 deletions.
16 changes: 1 addition & 15 deletions app/react/src/types.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import type ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
import type { PluginOptions as ReactDocgenTypescriptOptions } from '@storybook/react-docgen-typescript-plugin';
import type { Configuration } from 'webpack';

import type { StorybookConfig as BaseStorybookConfig } from '@storybook/preset-react-webpack';
Expand All @@ -13,20 +12,7 @@ export type TypescriptOptions = BaseStorybookConfig['typescript'] & {
/**
* Configures `fork-ts-checker-webpack-plugin`
*/
checkOptions?: ForkTsCheckerWebpackPlugin['options'];
/**
* Sets the type of Docgen when working with React and TypeScript
*
* @default `'react-docgen-typescript'`
*/
reactDocgen: 'react-docgen-typescript' | 'react-docgen' | false;
/**
* Configures `react-docgen-typescript-plugin`
*
* @default
* @see https://github.com/storybookjs/storybook/blob/next/lib/builder-webpack5/src/config/defaults.js#L4-L6
*/
reactDocgenTypescriptOptions: ReactDocgenTypescriptOptions;
checkOptions: ForkTsCheckerWebpackPlugin['options'];
};

export interface StorybookTypescriptConfig {
Expand Down
16 changes: 14 additions & 2 deletions presets/react-webpack/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import type {
StorybookConfig as BaseStorybookConfig,
TypescriptOptions as BaseTypescriptOptions,
} from '@storybook/webpack-tools';
import type { PluginOptions as ReactDocgenTypescriptOptions } from '@storybook/react-docgen-typescript-plugin';

export type { BuilderResult } from '@storybook/webpack-tools';

Expand Down Expand Up @@ -32,12 +33,23 @@ export interface ReactConfig {
}

export type TypescriptOptions = BaseTypescriptOptions & {
/**
* Sets the type of Docgen when working with React and TypeScript
*
* @default `'react-docgen-typescript'`
*/
reactDocgen: 'react-docgen-typescript' | 'react-docgen' | false;
reactDocgenTypescriptOptions: any;
/**
* Configures `react-docgen-typescript-plugin`
*
* @default
* @see https://github.com/storybookjs/storybook/blob/next/lib/builder-webpack5/src/config/defaults.js#L4-L6
*/
reactDocgenTypescriptOptions: ReactDocgenTypescriptOptions;
};

export type StorybookConfig<TWebpackConfiguration = CommonWebpackConfiguration> =
BaseStorybookConfig<TWebpackConfiguration> &
ReactConfig & {
typescript?: TypescriptOptions;
typescript?: Partial<TypescriptOptions>;
};

0 comments on commit 3f0d8a8

Please sign in to comment.