The Percy CLI is used to interact with, and upload snapshots to, percy.io via the command line.
$ npm install --save-dev @percy/clipercy 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 serialization, asset discovery, etc.
@percy/core- performs snapshot asset discovery and uploading@percy/client- handles communicating with the Percy API@percy/dom- serializes DOM snapshots@percy/env- captures CI build environment variables@percy/config- loads Percy configuration files@percy/logger- common logger used throughout the CLI@percy/sdk-utils- shared helpers for JavaScript SDKs@percy/cli-command- Percy CLI command framework
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 packages -
yarn build:watch- build and watch all packages in parallel -
yarn clean- clean up build and coverage output -
yarn lint- lint all packages -
yarn readme- generate cli commands readme usage -
yarn test- run all tests, one package after another -
yarn test:coverage- run all tests with coverage, one package after another -
yarn global:link- links all packages being developed as global.- requires
yarn buildto be run before consuming. - we can then consume this package using
yarn link @percy/[core|cli..] - Note: linking is only required once, subsequent changes for development requires running build command.
- requires
-
yarn global:unlink- unlinks all packages globally
Individual package scripts can be invoked using yarn's workspace command. For example:
$ yarn workspace @percy/core testcheck in Core Package's readme here.