@nrwl/storybook:configuration
Add Storybook configuration to a UI library or an application.
Add Storybook configuration to a UI library or an application.
This is a framework-agnostic generator for setting up Storybook configuration for a project.
nx g @nrwl/storybook:configuration
When running this generator, you will be prompted to provide the following:
name of the project you want to generate the configuration for.uiFramework you want to use. Supported values are: "@storybook/angular", "@storybook/react", "@storybook/react-native", "@storybook/html", "@storybook/web-components", "@storybook/vue", "@storybook/vue3" and "@storybook/svelte".configureCypress. If you choose yes, a Cypress e2e app will be created (or configured) to run against the project's Storybook instance.configureTestRunner. If you choose yes, a test-storybook target will be generated in your project's project.json, with a command to invoke the Storybook test-runner.You must provide a name and a uiFramework for the generator to work.
You can read more about how this generator works, in the Storybook package overview page.
If you are using Angular, React, React Native or Next.js in your project, it's best to use the framework specific generator:
React Storybook Configuration Generator (React and Next.js projects)
nx g @nrwl/storybook:configuration ui --uiFramework=@storybook/web-components --tsConfiguration=true
This will generate a Storybook configuration for the ui project using TypeScript for the Storybook configuration files (the files inside the .storybook directory).
nx g @nrwl/storybook:configuration ui --uiFramework=@storybook/react --storybook7Configuration=true
OR
nx g @nrwl/storybook:configuration ui --storybook7UiFramework=@storybook/react-vite --storybook7Configuration=true
The flag is called storybook7betaConfiguration for Nx versions <15.9.
This will generate a Storybook configuration for the ui project using Storybook version 7. It will install the Storybook version 7 dependencies and configure the Storybook configuration files (the files inside the .storybook directory) to use Storybook version 7. You can read more about Storybook 7 Nx support in the Storybook 7 setup guide.
nx generate configuration ...
By default, Nx will search for configuration in the default collection provisioned in workspace.json.
You can specify the collection explicitly as follows:
nx g @nrwl/storybook:configuration ...
Show what will be generated without writing to disk:
nx g configuration ... --dry-run
Project for which to generate Storybook configuration.
webpackvite, webpackThe Storybook builder to use.
Run the cypress-configure generator.
@storybook/angular, @storybook/html-webpack5, @storybook/nextjs, @storybook/preact-webpack5, @storybook/react-webpack5, @storybook/react-vite, @storybook/server-webpack5, @storybook/svelte-webpack5, @storybook/svelte-vite, @storybook/sveltekit, @storybook/vue-webpack5, @storybook/vue-vite, @storybook/vue3-webpack5, @storybook/vue3-vite, @storybook/web-components-webpack5, @storybook/web-components-viteStorybook UI Framework to use, for Storybook version 7.
falseConfigure your project with TypeScript. Generate main.ts and preview.ts files, instead of main.js and preview.js.
A directory where the Cypress project will be placed. Added at root by default.
falseAdd a static-storybook to serve the static storybook built files.
Add a Storybook Test-Runner target.
falseGenerate JavaScript story files rather than TypeScript story files.
eslinteslint, noneThe tool to use for running lint checks.
trueConfigure your workspace using Storybook version 7. Defaults to true.
@storybook/angular, @storybook/react, @storybook/react-native, @storybook/html, @storybook/web-components, @storybook/vue, @storybook/vue3, @storybook/svelteStorybook UI Framework to use.
falseSkip formatting files.
trueSplit the project configuration into <projectRoot>/project.json rather than including it inside workspace.json.
Nx only supports standaloneConfig