docs/developer_docs/testing/storybook.md
Superset uses Storybook for developing and testing UI components in isolation. Storybook provides a sandbox to build components independently, outside of the main application.
A public Storybook with components from the master branch is available at:
apache-superset.github.io/superset-ui
To run the main Superset Storybook locally:
cd superset-frontend
# Start Storybook (opens at http://localhost:6006)
npm run storybook
# Build static Storybook
npm run build-storybook
The @superset-ui packages have a separate Storybook for component library development:
cd superset-frontend
# Install dependencies and bootstrap packages
npm ci && npm run bootstrap
# Start the @superset-ui Storybook (opens at http://localhost:9001)
cd packages/superset-ui-demo
npm run storybook
If stories already exist for the package, extend the examples array in the package's story file:
storybook/stories/<package>/index.js
Add package dependencies:
npm install <package>
Create a story folder matching the package name:
mkdir storybook/stories/superset-ui-<package>/
Create an index.js file with the story configuration:
export default {
examples: [
{
storyPath: '@superset-ui/package',
storyName: 'My Story',
renderStory: () => <MyComponent />,
},
],
};
Use the | separator for nested stories:
storyPath: '@superset-ui/package|Category|Subcategory'