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
- ``` session
- $ npm install --save-dev @percy/cli
- ```
Command Topics
percy exec - capture and upload snapshots
percy snapshot - snapshot a static directory or a list of pages
percy upload - upload a static directory of images
percy config - manage configuration files
percy 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 onGitHub.
For other issues, open a supportrequest.
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 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.
yarn global:unlink - unlinks all packages globally
Individual package scripts can be invoked using yarn's workspace command. For example:
- ``` session
- $ yarn workspace @percy/core test
- ```
How to update Chromium revision?
check in Core Package's readme here.