cli
cli copied to clipboard
The Percy CLI is used to interact with, and upload snapshots to, percy.io via the command line.
Percy CLI
The Percy CLI is used to interact with, and upload snapshots to, percy.io via the command line.
- Installation
- Command Topics
- Advanced
- Issues
- Developing
Installation
$ npm install --save-dev @percy/cli
Command Topics
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
Advanced
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
Issues
For problems directly related to the CLI, add an issue on GitHub.
For other issues, open a support request.
Developing
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 test
How to update Chromium revision?
check in Core Package's readme here.