@percy/cli
v1.30.6
Published
[![Test](https://github.com/percy/cli/workflows/Test/badge.svg)](https://github.com/percy/cli/actions)
Downloads
1,025,013
Readme
Percy CLI
The Percy CLI is used to interact with, and upload snapshots to, percy.io via the command line.
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 packagesyarn build:watch
- build and watch all packages in parallelyarn clean
- clean up build and coverage outputyarn lint
- lint all packagesyarn readme
- generate cli commands readme usageyarn test
- run all tests, one package after anotheryarn test:coverage
- run all tests with coverage, one package after anotheryarn global:link
- links all packages being developed as global.- requires
yarn build
to 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.