storybook-chromatic
Visual Testing for Storybook
Last updated 5 years ago by ndelangen .
MIT · Original npm · Tarball · package.json
$ npm install storybook-chromatic 
SYNC missed versions from official npm registry.

Storybook Chromatic & Storybook Chroma

A CLI to connect your Storybook with Chromatic or Chroma.

Install

yarn add storybook-chromatic

Usage

You can use this package normally, which means installing it and adding a script called chromatic to your package.json

  "chromatic": "chromatic",

But alternatively (and this is useful for testing) you can use npx:

Use a git branch:

npx -p chromaui/chromatic-cli#master chromatic --dev

Use a debug version on npm:

npx -p storybook-chromatic chromatic

Using npx has pros and cons:

  • ๐Ÿ‘ You'll never be out of date, you'll use the latest version every time, never have to worry about upgrading this.
  • ๐Ÿ‘ You don't need this package as a dependency, and don't need to install it during local development
  • ๐Ÿ‘Ž This will add a delay when you actually do want to run this, like in your CI, delaying feedback.

Main options

--app-code="<your app code>"

You can also use the environment variable: CHROMATIC_APP_CODE

Storybook options

--build-script-name [name], -b  The npm script that builds your Storybook [build-storybook]
--script-name [name], -s  The npm script that starts your Storybook [storybook]
--exec <command>, -e  Alternatively, a full command to run to start your storybook
--do-not-start, -S  Don't attempt to start or build; use if your Storybook is already running

--storybook-port <port>, -p  What port is your Storybook running on (auto detected from -s, if set)
--storybook-url <url>, -u  Storybook is already running at (external) url (implies -S)'
--storybook-build-dir, -d     <dirname>  Provide a directory with your built storybook; use if you've already built your storybook
--storybook-https  Use if Storybook is running on https (auto detected from -s, if set)
--storybook-cert <path>  Use if Storybook is running on https (auto detected from -s, if set)
--storybook-key <path>  Use if Storybook is running on https (auto detected from -s, if set)
--storybook-ca <ca>  Use if Storybook is running on https (auto detected from -s, if set)    

These options are not required, this CLI is 0-config if you have a build-storybook script in your package.json.

Chromatic options

--auto-accept-changes [branch]  Accept any (non-error) changes or new stories for this build [only for <branch> if specified]'
--exit-zero-on-changes [branch]  Use a 0 exit code if changes are detected (i.e. don't stop the build) [only for <branch> if specified]
--ignore-last-build-on-branch [branch]  Do not use the last build on this branch as a baseline if it is no longer in history (i.e. branch was rebased) [only for <branch> if specified]'
--preserve-missing  Treat missing stories as unchanged (as opposed to deleted) when comparing to the baseline'
--no-interactive  Do not prompt for package.json changes
--only <component:story>  Only run a single story or a glob-style subset of stories (for debugging purposes

Debug options

--skip  Skip chromatic tests (mark as passing)
--list  List available stories (for debugging purposes)
--ci  This build is running on CI, non-interactively (alternatively, pass CI=true)
--debug  Output more debugging information

Environment variables

This package will load any variables from a .env file if present

Contributing

Because of the nature of this package: it being a connector between Storybook and a web service, you may need an app code to test this locally. Just send us a message at opensource@hichroma.com or sign up for an account!

All contributions are welcome!

Future plans:

  • We'd like to unify this so there's just a single package on npm.
  • Migrate to Typescript
  • Deprecate all the storybook options in favor of a sane --config flag

Publishing

We publish with a script:

./scripts/publish.js

You can pass any flags to this you'd normally be able to pass to npm publish, such as --dry-run or --tag="alpha".

Before publishing we check if the current user has permissions and if the version isn't already on npm

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 master 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 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. Plus a grace period so users have upgraded

Current Tags

  • 3.5.1-alpha.1                                ...           alpha (5 years ago)
  • 1.0.3-beta.0                                ...           beta (6 years ago)
  • 3.0.3-debug.0                                ...           debug (5 years ago)
  • 4.0.2                                ...           latest (5 years ago)
  • 3.0.0-rc.0                                ...           rc (5 years ago)

63 Versions

  • 4.0.2 [deprecated]           ...           5 years ago
  • 3.5.5                                ...           5 years ago
  • 3.5.4                                ...           5 years ago
  • 3.5.3                                ...           5 years ago
  • 3.5.2                                ...           5 years ago
  • 3.5.1                                ...           5 years ago
  • 3.5.1-alpha.1                                ...           5 years ago
  • 3.5.1-alpha.0                                ...           5 years ago
  • 3.5.0                                ...           5 years ago
  • 3.4.1                                ...           5 years ago
  • 3.4.0                                ...           5 years ago
  • 3.3.0                                ...           5 years ago
  • 3.1.0                                ...           5 years ago
  • 3.0.3                                ...           5 years ago
  • 3.0.3-debug.0                                ...           5 years ago
  • 3.0.2                                ...           5 years ago
  • 3.0.1                                ...           5 years ago
  • 3.0.0                                ...           5 years ago
  • 3.0.0-rc.0                                ...           5 years ago
  • 3.0.0-debug.2                                ...           5 years ago
  • 3.0.0-debug.1                                ...           5 years ago
  • 3.0.0-debug.0                                ...           5 years ago
  • 1.0.0-debug.3                                ...           5 years ago
  • 1.0.0-debug.2                                ...           5 years ago
  • 1.0.0-debug.1                                ...           5 years ago
  • 2.2.2                                ...           5 years ago
  • 2.2.1                                ...           5 years ago
  • 2.2.0                                ...           5 years ago
  • 2.1.1                                ...           5 years ago
  • 2.1.0                                ...           5 years ago
  • 2.0.0                                ...           5 years ago
  • 1.4.0                                ...           5 years ago
  • 1.3.3                                ...           6 years ago
  • 1.3.2                                ...           6 years ago
  • 1.3.1                                ...           6 years ago
  • 1.3.0                                ...           6 years ago
  • 1.2.6                                ...           6 years ago
  • 1.2.5                                ...           6 years ago
  • 1.2.4                                ...           6 years ago
  • 1.2.3                                ...           6 years ago
  • 1.2.2                                ...           6 years ago
  • 1.2.1                                ...           6 years ago
  • 1.2.0                                ...           6 years ago
  • 1.1.0                                ...           6 years ago
  • 1.0.3-beta.2                                ...           6 years ago
  • 1.0.3-beta.1                                ...           6 years ago
  • 1.0.3-beta.0                                ...           6 years ago
  • 1.0.2                                ...           6 years ago
  • 1.0.1                                ...           6 years ago
  • 1.0.0                                ...           6 years ago
  • 0.10.0-beta.11                                ...           6 years ago
  • 0.10.0-beta.10                                ...           6 years ago
  • 0.10.0-beta.9                                ...           6 years ago
  • 0.10.0-beta.8                                ...           6 years ago
  • 0.10.0-beta.7                                ...           6 years ago
  • 0.10.0-beta.6                                ...           6 years ago
  • 0.10.0-beta.5                                ...           6 years ago
  • 0.10.0-beta.4                                ...           6 years ago
  • 0.10.0-beta.5-dev                                ...           6 years ago
  • 0.10.0-beta.3                                ...           6 years ago
  • 0.10.0-beta.2                                ...           7 years ago
  • 0.10.0-beta.1                                ...           7 years ago
  • 0.10.0-beta.0                                ...           7 years ago
Maintainers (2)
Downloads
Total 1
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (38)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE