npm install chromatic
Publishes your Storybook to Chromatic and kicks off tests if they're enabled.
👉 Read the Chromatic CLI docs
📝 View the Changelog
Contributions of any kind are welcome! We're available to chat via the Intercom widget on the documentation site.
Compatibility & versioning
Compatibility is guaranteed between this package and Chromatic like so:
- Production Chromatic ensures it’s compatible with what’s on npm
- What's on the main branch is equal to what's published on npm
- This package ensures it’s compatible with production Chromatic
To facilitate upgrading in the future, removing and adding features, this is the process:
- Any new features will have to be on Chromatic production before they could be used in this package
- We can add feature flags to be able to test new functionality
- Chromatic production can not remove any features this package depends on until after the usage has been removed from this package in addition to a grace period to allow users to upgrade
Publishing a new version to npm
Before publishing, make sure you've done the following:
- Updated CHANGELOG.md
- Committed and pushed everything
- Decide on the proper semver bump (major/minor/patch)
We have two types of pre-releases:
canary releases are intended for development purposes and should not be used in production, as they may only work against a staging or dev environment.
next releases should be valid, working releases that can potentially be used by early adopters of new features, for example to handle a support request.
As a consumer, you should not specify a tag (e.g.
chromatic@next) in your package dependencies, but rather a specific version number (e.g.
email@example.com). Otherwise you'll end up with a broken build when we remove or update the tag.
For the first
next) release, bump the version like so (depending on the semver bump):
npm version <premajor|preminor|prepatch> --preid canary
canary releases on the same version:
npm version prerelease --preid=canary
Then push and publish:
git push --follow-tags npm publish --tag canary
Make sure to replace
next if appropriate.
A final release is automatically tagged
latest by npm.
npm version <major|minor|patch> git push --follow-tags npm publish
And finally, remove the
next tag, if any:
npm dist-tag rm chromatic canary
This ensures we can safely do a new
next release later, without anyone getting an unexpected update.