Storybook 6.4 introduces a whole new core architecture to enable performance optimization. The "on-demand store" makes it possible to code-split Storybook, which leads to smaller bundle sizes, and will enable incremental compilation and granular file-system caching when used with Webpack5.
Storybook 6.4-alpha.35 introduces this massive change to the codebase via PR #15871. Now we're in stabilization mode, trying to get it ready for release.
Our primary QA objective is to make sure that we have not broken any existing functionality in Storybook. To test this, please upgrade your Storybook to the latest prerelease:
npx sb@next upgrade --prerelease
That's it! If your storybook, its addons, and your CI all behave as before, that's frankly a miracle given the scope of the change.
If something looks wrong, please let us know by filing an issue. If you're upgrading from a stable version, perhaps try downgrading to 6.4-alpha.34
to see if the bug was due to the on-demand PR or something else in the alpha.
There are no-known limitations to the back-compat mode.
The on-demand store is the next-generation architecture, designed for code splitting and improved performance. You can read all about it in the blog post Storybook on-demand architecture.
To try it out, upgrade an existing project:
npx sb upgrade --prerelease
Or add Storybook to a project:
npx sb@next init
Then enable the feature flag:
// .storybook/main.js
module.exports = {
features: {
storyStoreV7: true,
}
};
The on-demand store has a few limitations by design:
storiesOf
stories are not supported- It breaks if you use dynamic story names or component titles
- The signature for
parameters.storySort
has changed
You can read more about these in MIGRATION.md
We're also tracking bugs with the label on-demand store.
How long does it typically take for a new release to be made official?