Skip to content

Latest commit

 

History

History
173 lines (106 loc) · 3.9 KB

main-config-core.mdx

File metadata and controls

173 lines (106 loc) · 3.9 KB
title sidebar
core
order title
8
core

Parent: main.js|ts configuration

Type:

{
  builder?: string | { name: string; options?: BuilderOptions };
  channelOptions?: ChannelOptions;
  crossOriginIsolated?: boolean;
  disableProjectJson?: boolean;
  disableTelemetry?: boolean;
  disableWebpackDefaults?: boolean;
  disableWhatsNewNotifications?: boolean;
  enableCrashReports?: boolean;
  renderer?: RendererName;
}

Configures Storybook's internal features.

builder

Type:

| '@storybook/builder-vite' | '@storybook/builder-webpack5'
| {
    name: '@storybook/builder-vite' | '@storybook/builder-webpack5';
    options?: BuilderOptions;
  }

Configures Storybook's builder, Vite or Webpack.

With the new [Framework API](../new-frameworks.mdx), [`framework.options.builder`](./main-config-framework.mdx#optionsbuilder) is now the preferred way to configure the builder.

You should only use core.builder.options if you need to configure a builder that is not part of a framework.

{/* prettier-ignore-start */}

{/* prettier-ignore-end */}

channelOptions

Type: ChannelOptions

{
  allowClass: boolean;
  allowDate: boolean;
  allowFunction: boolean;
  allowRegExp: boolean;
  allowSymbol: boolean;
  allowUndefined: boolean;
  lazyEval: boolean;
  maxDepth: number;
  space: number | undefined;
}

Configures the channel used by Storybook to communicate between the manager and preview.

Only two properties are likely to be used:

channelOptions.allowFunction

Type: boolean

Default: false

Enables serializing functions across the channel, which can be a security risk.

channelOptions.maxDepth

Type: number

Default: 3

The maximum depth of nested objects to serialize across the channel. Larger values will be slower.

crossOriginIsolated

Type: boolean

Enable CORS headings to run document in a "secure context". See SharedArrayBuffer security requirements

This enables these headers in development-mode:

  • Cross-Origin-Opener-Policy: same-origin
  • Cross-Origin-Embedder-Policy: require-corp

{/* prettier-ignore-start */}

{/* prettier-ignore-end */}

disableProjectJson

Type: boolean

Disables the generation of project.json, a file containing Storybook metadata

{/* prettier-ignore-start */}

{/* prettier-ignore-end */}

disableTelemetry

Type: boolean

Disables Storybook's telemetry collection.

{/* prettier-ignore-start */}

{/* prettier-ignore-end */}

disableWebpackDefaults

Type: boolean

Disables Storybook's default Webpack configuration.

{/* prettier-ignore-start */}

{/* prettier-ignore-end */}

disableWhatsNewNotifications

Type: boolean

Disables the "What's New" notifications in the UI for new Storybook versions and ecosystem updates (e.g., addons, content, etc.).

{/* prettier-ignore-start */}

{/* prettier-ignore-end */}

enableCrashReports

Type: boolean

Enable crash reports to be sent to Storybook telemetry.

{/* prettier-ignore-start */}

{/* prettier-ignore-end */}

renderer

Type: RendererName

{/* TODO: Is this used? Should it be documented? */}