The Percy CLI is used to capture and upload snapshots to percy.io from the command line.
Using yarn:
$ yarn add @percy/cli --dev
Using npm:
$ npm install @percy/cli --save-dev
percy exec
- capture and upload snapshotspercy snapshot
- snapshot a static directory or a list of pagespercy upload
- upload a static directory of imagespercy config
- manage configuration filespercy build
- interact with Percy builds
In addition to the CLI packages, this repo contains core libraries responsible for Percy's CI/CD integrations, Percy API communication, DOM snapshotting, and asset discovery.
@percy/core
- performs snapshot asset discovery and uploading@percy/config
- loads Percy configuration files@percy/dom
- serializes DOM snapshots@percy/env
- captures CI build environment variables@percy/client
- handles communicating with the Percy API@percy/logger
- common logger used throughout the CLI
For problems directly related to the CLI, add an issue on GitHub.
For other issues, open a support request.
This project is built with lerna. The core libaries and CLI plugins are
located in ./packages. Run yarn
to install dependencies after cloning the repo and use
the following scripts for various development tasks:
yarn build
- build all packagesyarn build:watch
- build and watch all packages in parallelyarn clean
- clean up build and coverage outputyarn lint
- lint all packagesyarn readme
- generate oclif readme usageyarn test
- run all tests, one package after anotheryarn test:coverage
- run all tests with coverage, one package after another
Individual package scripts can be invoked using yarn's workspace command. For example:
$ yarn workspace @percy/core test
- Run
yarn bump:version
and choose an appropriate version. - Commit updated versions with a matching commit (e.g.
π· v1.0.0
). - Push updated versions to GitHub and wait for CI to pass.
- Create a new GitHub release which will in-turn automate an NPM release.