Parent: main.js|ts configuration
Type:
{
check ?: boolean ;
checkOptions ?: CheckOptions ;
reactDocgen ?: 'react-docgen' | 'react-docgen-typescript' | false ;
reactDocgenTypescriptOptions ?: ReactDocgenTypescriptOptions ;
skipCompiler ?: boolean ;
}
Configures how Storybook handles TypeScript files .
Type: boolean
Optionally run fork-ts-checker-webpack-plugin . Note that because this uses a Webpack plugin, it is only available when using the Webpack builder .
// Replace your-framework with the framework you are using (e.g., react-webpack5, vue3-webpack5)
import type { StorybookConfig } from '@storybook/your-framework' ;
const config : StorybookConfig = {
framework : '@storybook/your-framework' ,
stories : [ '../src/**/*.mdx' , '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)' ] ,
typescript : {
check : true ,
} ,
} ;
export default config ;
Type: CheckOptions
Options to pass to fork-ts-checker-webpack-plugin
, if enabled . See docs for available options .
// Replace your-framework with the framework you are using (e.g., react-webpack5, vue3-webpack5)
import type { StorybookConfig } from '@storybook/your-framework' ;
const config : StorybookConfig = {
framework : '@storybook/your-framework' ,
stories : [ '../src/**/*.mdx' , '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)' ] ,
typescript : {
check : true ,
checkOptions : {
eslint : true ,
} ,
} ,
} ;
export default config ;
Type: 'react-docgen' | 'react-docgen-typescript' | false
Default:
false
: if @storybook/react
is not installed
'react-docgen'
: if @storybook/react
is installed
Configures which library, if any, Storybook uses to parse React components, react-docgen or react-docgen-typescript . Set to false
to disable parsing React components. react-docgen-typescript
invokes the TypeScript compiler, which makes it slow but generally accurate. react-docgen
performs its own analysis, which is much faster but incomplete.
// Replace your-framework with the framework you are using (e.g., react-webpack5, react-vite)
import type { StorybookConfig } from '@storybook/your-framework' ;
const config : StorybookConfig = {
framework : '@storybook/your-framework' ,
stories : [ '../src/**/*.mdx' , '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)' ] ,
typescript : {
reactDocgen : 'react-docgen' ,
} ,
} ;
export default config ;
Type: ReactDocgenTypescriptOptions
Configures the options to pass to react-docgen-typescript-plugin
if react-docgen-typescript
is enabled. See docs for available options .
// Replace your-framework with the framework you are using (e.g., react-webpack5, react-vite)
import type { StorybookConfig } from '@storybook/your-framework' ;
const config : StorybookConfig = {
framework : '@storybook/your-framework' ,
stories : [ '../src/**/*.mdx' , '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)' ] ,
typescript : {
reactDocgen : 'react-docgen-typescript' ,
reactDocgenTypescriptOptions : {
shouldExtractLiteralValuesFromEnum : true ,
// 👇 Default prop filter, which excludes props from node_modules
propFilter : ( prop ) => ( prop . parent ? ! /node_modules/ . test ( prop . parent . fileName ) : true ) ,
} ,
} ,
} ;
export default config ;
Type: boolean
Disable parsing of TypeScript files through the compiler, which is used for Webpack5.
// Replace your-framework with the framework you are using (e.g., react-webpack5)
import type { StorybookConfig } from '@storybook/your-framework' ;
const config : StorybookConfig = {
framework : '@storybook/your-framework' ,
stories : [ '../src/**/*.mdx' , '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)' ] ,
typescript : {
skipCompiler : true ,
} ,
} ;
export default config ;