Skip to content

Documentation: Migration note on removal addon-essentials #30995

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 16, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 37 additions & 26 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<h1>Migration</h1>

- [From version 8.x to 9.0.0](#from-version-8x-to-900)
- [Addon essentials has been removed](#addon-essentials-has-been-removed)
- [Package Manager Support](#package-manager-support)
- [A11y addon: Removed deprecated manual parameter](#a11y-addon-removed-deprecated-manual-parameter)
- [Button Component API Changes](#button-component-api-changes)
Expand All @@ -19,7 +20,6 @@
- [React-Native config dir renamed](#react-native-config-dir-renamed)
- [Addon viewport and addon backgrounds synchronized configuration and use globals](#addon-viewport-and-addon-backgrounds-synchronized-configuration-and-use-globals)
- [Manager builder removed alias for `util`, `assert` and `process`](#manager-builder-removed-alias-for-util-assert-and-process)
- [Docs addon moved out of addon-essentials](#docs-addon-moved-out-of-addon-essentials)
- [Interactions addon moved to core](#interactions-addon-moved-to-core)
- [Dropped support for legacy packages](#dropped-support-for-legacy-packages)
- [Dropped support for TypeScript \< 4.9](#dropped-support-for-typescript--49)
Expand Down Expand Up @@ -114,17 +114,17 @@
- [Tab addons cannot manually route, Tool addons can filter their visibility via tabId](#tab-addons-cannot-manually-route-tool-addons-can-filter-their-visibility-via-tabid)
- [Removed `config` preset](#removed-config-preset-1)
- [From version 7.5.0 to 7.6.0](#from-version-750-to-760)
- [CommonJS with Vite is deprecated](#commonjs-with-vite-is-deprecated)
- [Using implicit actions during rendering is deprecated](#using-implicit-actions-during-rendering-is-deprecated)
- [typescript.skipBabel deprecated](#typescriptskipbabel-deprecated)
- [Primary doc block accepts of prop](#primary-doc-block-accepts-of-prop)
- [Addons no longer need a peer dependency on React](#addons-no-longer-need-a-peer-dependency-on-react)
- [CommonJS with Vite is deprecated](#commonjs-with-vite-is-deprecated)
- [Using implicit actions during rendering is deprecated](#using-implicit-actions-during-rendering-is-deprecated)
- [typescript.skipBabel deprecated](#typescriptskipbabel-deprecated)
- [Primary doc block accepts of prop](#primary-doc-block-accepts-of-prop)
- [Addons no longer need a peer dependency on React](#addons-no-longer-need-a-peer-dependency-on-react)
- [From version 7.4.0 to 7.5.0](#from-version-740-to-750)
- [`storyStoreV6` and `storiesOf` is deprecated](#storystorev6-and-storiesof-is-deprecated)
- [`storyIndexers` is replaced with `experimental_indexers`](#storyindexers-is-replaced-with-experimental_indexers)
- [`storyStoreV6` and `storiesOf` is deprecated](#storystorev6-and-storiesof-is-deprecated)
- [`storyIndexers` is replaced with `experimental_indexers`](#storyindexers-is-replaced-with-experimental_indexers)
- [From version 7.0.0 to 7.2.0](#from-version-700-to-720)
- [Addon API is more type-strict](#addon-api-is-more-type-strict)
- [Addon-controls hideNoControlsWarning parameter is deprecated](#addon-controls-hidenocontrolswarning-parameter-is-deprecated)
- [Addon API is more type-strict](#addon-api-is-more-type-strict)
- [Addon-controls hideNoControlsWarning parameter is deprecated](#addon-controls-hidenocontrolswarning-parameter-is-deprecated)
- [From version 6.5.x to 7.0.0](#from-version-65x-to-700)
- [7.0 breaking changes](#70-breaking-changes)
- [Dropped support for Node 15 and below](#dropped-support-for-node-15-and-below)
Expand All @@ -150,7 +150,7 @@
- [Deploying build artifacts](#deploying-build-artifacts)
- [Dropped support for file URLs](#dropped-support-for-file-urls)
- [Serving with nginx](#serving-with-nginx)
- [Ignore story files from node\_modules](#ignore-story-files-from-node_modules)
- [Ignore story files from node_modules](#ignore-story-files-from-node_modules)
- [7.0 Core changes](#70-core-changes)
- [7.0 feature flags removed](#70-feature-flags-removed)
- [Story context is prepared before for supporting fine grained updates](#story-context-is-prepared-before-for-supporting-fine-grained-updates)
Expand All @@ -164,7 +164,7 @@
- [Addon-interactions: Interactions debugger is now default](#addon-interactions-interactions-debugger-is-now-default)
- [7.0 Vite changes](#70-vite-changes)
- [Vite builder uses Vite config automatically](#vite-builder-uses-vite-config-automatically)
- [Vite cache moved to node\_modules/.cache/.vite-storybook](#vite-cache-moved-to-node_modulescachevite-storybook)
- [Vite cache moved to node_modules/.cache/.vite-storybook](#vite-cache-moved-to-node_modulescachevite-storybook)
- [7.0 Webpack changes](#70-webpack-changes)
- [Webpack4 support discontinued](#webpack4-support-discontinued)
- [Babel mode v7 exclusively](#babel-mode-v7-exclusively)
Expand Down Expand Up @@ -215,7 +215,7 @@
- [Dropped addon-docs manual babel configuration](#dropped-addon-docs-manual-babel-configuration)
- [Dropped addon-docs manual configuration](#dropped-addon-docs-manual-configuration)
- [Autoplay in docs](#autoplay-in-docs)
- [Removed STORYBOOK\_REACT\_CLASSES global](#removed-storybook_react_classes-global)
- [Removed STORYBOOK_REACT_CLASSES global](#removed-storybook_react_classes-global)
- [7.0 Deprecations and default changes](#70-deprecations-and-default-changes)
- [storyStoreV7 enabled by default](#storystorev7-enabled-by-default)
- [`Story` type deprecated](#story-type-deprecated)
Expand Down Expand Up @@ -430,23 +430,32 @@

## From version 8.x to 9.0.0

### Addon essentials has been removed

We have removed `@storybook/addon-essentials`. Most features/addons encapsulated have been moved to the core, except for `@storybook/addon-docs`.

This has been done, to reduce the installation size of storybook.

Please uninstall `@storybook/addon-essentials` and remove it from your `addons`-array in your `.storybook/main.ts` file.

If you are using addon-docs via addon-essentials, you will need to add addon-docs to your project, by installing it and adding it to your `.storybook/main.ts`'s `addons` field; or run this command: `npx storybook add @storybook/addon-docs`.

### Package Manager Support

Storybook 9.0 drops official support and maintenance for older package manager versions:

- npm v8 and v9 are no longer supported
- yarn v3 is no longer supported
- yarn v3 is no longer supported
- pnpm v7 and v8 are no longer supported

The minimum supported versions are now:

- npm v10+
- yarn v4+
- yarn v4+
- pnpm v9+

While Storybook may still work with older versions, we recommend upgrading to the latest supported versions for the best experience and to ensure compatibility.


### A11y addon: Removed deprecated manual parameter

The deprecated `manual` parameter from the A11y addon's parameters has been removed. Instead, use the `globals.a11y.manual` setting to control manual mode. For example:
Expand Down Expand Up @@ -486,6 +495,7 @@ export const initialGlobals = {
### Button Component API Changes

The Button component has been updated to use a more modern props API. The following props have been removed:

- `isLink`
- `primary`
- `secondary`
Expand Down Expand Up @@ -557,6 +567,7 @@ export default {
### Icon System Updates

Several icon-related exports have been removed:

- `IconButtonSkeleton`
- `Icons`
- `Symbols`
Expand Down Expand Up @@ -588,11 +599,13 @@ The `TESTING_MODULE_RUN_ALL_REQUEST` event has been removed:
### Type System Updates

The following types have been removed:

- `Addon_SidebarBottomType`
- `Addon_SidebarTopType`
- `DeprecatedState`

Import paths have been updated:

```diff
- import { SupportedRenderers } from './project_types';
+ import { SupportedRenderers } from 'storybook/internal/types';
Expand All @@ -601,6 +614,7 @@ Import paths have been updated:
### Story Store API Changes

Several deprecated methods have been removed from the StoryStore:

- `getSetStoriesPayload`
- `getStoriesJsonData`
- `raw`
Expand All @@ -609,6 +623,7 @@ Several deprecated methods have been removed from the StoryStore:
### CSF File Changes

Deprecated getters have been removed from the CsfFile class:

- `_fileName`
- `_makeTitle`

Expand Down Expand Up @@ -657,12 +672,6 @@ Adding these aliases meant storybook core, had to depend on these packages, whic

If you addon fails to load after this change, we recommend looking at implementing the alias at compile time of your addon, or alternatively look at other bundling config to ensure the correct entries/packages/dependencies are used.

### Docs addon moved out of addon-essentials

Addon docs is now no longer part of `@storybook/addon-essentials`, because Storybook is moving towards a more customizable & personally optimized approach.

If you are using addon-docs via addon-essentials, you will need to add addon-docs to your project, by installing it and adding it to your `.storybook/main.ts`'s `addons` field; or run this command: `npx storybook add @storybook/addon-docs`.

### Interactions addon moved to core

The interactions addon has been moved from `@storybook/addon-interactions` to Storybook core. You no longer need to install it separately or include it in your addons list. If you manually migrate to Storybook 9, please ensure to uninstall the addon as a dependency and to remove its registration in your `.storybook/main.ts` file.
Expand Down Expand Up @@ -790,10 +799,11 @@ To upgrade:
export default {
// ... your other config
// Make sure you're using Vite 5 compatible plugins
}
};
```

If you're using framework-specific Vite plugins, ensure they are compatible with Vite 5:

- `@vitejs/plugin-react`
- `@vitejs/plugin-vue`
- `@sveltejs/vite-plugin-svelte`
Expand All @@ -810,6 +820,7 @@ Storybook has dropped support for Angular versions 15-17. The minimum supported
If you're using an older version of Angular, you'll need to upgrade to Angular 18 or newer to use the latest version of Storybook.

Key changes:

- All Angular packages in peerDependencies now require `>=18.0.0 < 20.0.0`
- Removed legacy code supporting Angular < 18
- Standalone components are now the default (can be opted out by explicitly setting `standalone: false` in component decorators)
Expand All @@ -831,7 +842,7 @@ Then update your `.storybook/main.js|ts`:
```js
export default {
framework: {
name: '@storybook/preact-vite',
name: "@storybook/preact-vite",
options: {},
},
// ... other configurations
Expand All @@ -852,7 +863,7 @@ Then update your `.storybook/main.js|ts`:
```js
export default {
framework: {
name: '@storybook/vue3-vite',
name: "@storybook/vue3-vite",
options: {},
},
// ... other configurations
Expand Down Expand Up @@ -886,7 +897,7 @@ Also update your `.storybook/main.<js|ts>` file accordingly:
export default {
addons: [
- "@storybook/experimental-nextjs-vite",
+ "@storybook/nextjs-vite"
+ "@storybook/nextjs-vite"
]
}
```
Expand Down