You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This RFC proposes renaming the npm package storybook-addon-pseudo-states to @storybook/addon-pseudo-states. The addon was absorbed into the Storybook organization, and renaming it to use the @storybook/ scope will make it consistent with all other first-party Storybook addons (e.g., @storybook/addon-essentials, @storybook/addon-interactions, etc.).
Problem Statement
The storybook-addon-pseudo-states addon was originally a community-created package. It has since been absorbed by the Storybook organization and is now maintained under the storybookjs GitHub org. However, its npm package name still uses the old unscoped storybook-addon-pseudo-states name rather than the @storybook/ scope used by all official Storybook packages. This inconsistency creates confusion for users who expect official Storybook addons to be published under the @storybook/ npm scope.
Non-goals
This RFC does not propose any changes to the addon's functionality, API, or behavior — it is purely a rename/republish.
This RFC does not cover migrating the repository itself (it already lives in storybookjs/storybook-addon-pseudo-states or the monorepo).
This RFC does not cover deprecating or removing existing functionality.
Implementation
Publish @storybook/addon-pseudo-states on npm — Publish the package under the new scoped name @storybook/addon-pseudo-states. The package contents (source code, exports, peer dependencies) remain identical.
Deprecate the old package — Mark storybook-addon-pseudo-states as deprecated on npm with a message pointing users to @storybook/addon-pseudo-states. The old package should re-export from the new package for a transitional period to avoid breaking existing users.
Update documentation — Update all references in the official Storybook docs, README, and integration guides from storybook-addon-pseudo-states to @storybook/addon-pseudo-states.
Update internal references — Update any references within the Storybook monorepo, CI configs, and related tooling.
Migration guide — Provide a short migration guide so existing users know to update their package.json and (if applicable) .storybook/main.js addon registration from storybook-addon-pseudo-states to @storybook/addon-pseudo-states.
Prior Art
This pattern has been followed before within the Storybook ecosystem. Several addons that were originally community packages have been absorbed and republished under the @storybook/ scope, such as @storybook/addon-interactions (formerly community-maintained) and @storybook/addon-a11y. The npm deprecation + re-export pattern is a well-established approach for package renames in the JavaScript ecosystem.
Deliverables
Publish @storybook/addon-pseudo-states on npm with the existing source code
Deprecate storybook-addon-pseudo-states on npm with a redirect message and add a re-export shim for backwards compatibility
Update Storybook documentation and README to reference the new package name
Publish migration guide and announce the rename to users via release notes / changelog
Risks
Breaking change for existing users: Users who do not update their package.json will continue to use the old deprecated package. Mitigation: keep the old package published (but deprecated) and add a re-export shim so it continues to work for at least one major version cycle.
SEO / discoverability confusion: Both package names may appear in search results for a period. Mitigation: clear deprecation notice on the old npm package pointing to the new name.
CI/CD pipeline references: Any internal or community tooling that references the old package name by string will need updating. Mitigation: document all known references in the migration guide.
Unresolved Questions
Should the old storybook-addon-pseudo-states package be kept as a re-export shim for one major version, or for a fixed time period (e.g., 6 months)?
Is there any tooling (e.g., storybook automigrate) that should be updated to handle this rename automatically for users?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
This RFC proposes renaming the npm package
storybook-addon-pseudo-statesto@storybook/addon-pseudo-states. The addon was absorbed into the Storybook organization, and renaming it to use the@storybook/scope will make it consistent with all other first-party Storybook addons (e.g.,@storybook/addon-essentials,@storybook/addon-interactions, etc.).Problem Statement
The
storybook-addon-pseudo-statesaddon was originally a community-created package. It has since been absorbed by the Storybook organization and is now maintained under thestorybookjsGitHub org. However, its npm package name still uses the old unscopedstorybook-addon-pseudo-statesname rather than the@storybook/scope used by all official Storybook packages. This inconsistency creates confusion for users who expect official Storybook addons to be published under the@storybook/npm scope.Non-goals
storybookjs/storybook-addon-pseudo-statesor the monorepo).Implementation
Publish
@storybook/addon-pseudo-stateson npm — Publish the package under the new scoped name@storybook/addon-pseudo-states. The package contents (source code, exports, peer dependencies) remain identical.Deprecate the old package — Mark
storybook-addon-pseudo-statesas deprecated on npm with a message pointing users to@storybook/addon-pseudo-states. The old package should re-export from the new package for a transitional period to avoid breaking existing users.Update documentation — Update all references in the official Storybook docs, README, and integration guides from
storybook-addon-pseudo-statesto@storybook/addon-pseudo-states.Update internal references — Update any references within the Storybook monorepo, CI configs, and related tooling.
Migration guide — Provide a short migration guide so existing users know to update their
package.jsonand (if applicable).storybook/main.jsaddon registration fromstorybook-addon-pseudo-statesto@storybook/addon-pseudo-states.Prior Art
This pattern has been followed before within the Storybook ecosystem. Several addons that were originally community packages have been absorbed and republished under the
@storybook/scope, such as@storybook/addon-interactions(formerly community-maintained) and@storybook/addon-a11y. The npm deprecation + re-export pattern is a well-established approach for package renames in the JavaScript ecosystem.Deliverables
@storybook/addon-pseudo-stateson npm with the existing source codestorybook-addon-pseudo-stateson npm with a redirect message and add a re-export shim for backwards compatibilityRisks
package.jsonwill continue to use the old deprecated package. Mitigation: keep the old package published (but deprecated) and add a re-export shim so it continues to work for at least one major version cycle.Unresolved Questions
storybook-addon-pseudo-statespackage be kept as a re-export shim for one major version, or for a fixed time period (e.g., 6 months)?storybook automigrate) that should be updated to handle this rename automatically for users?Alternatives considered / Abandoned Ideas
No response
Beta Was this translation helpful? Give feedback.
All reactions