@percy/config
Handles loading and adding options to Percy configuration files. Uses
cosmiconfig to load configuration files and JSON
schema with AJV to validate those
configuration files.
Loading config files
The .load() method will load and validate a configuration file, optionally merging it with any
provided overrides. If no path is provided, will search for the first supported config found
from the current directory up to the home directory. Configuration files are cached and reused unless
reload is true.
import PercyConfig from '@percy/config'
const config = PercyConfig.load(options)
Options
path — Config file path or directory containing a config file
overrides — Config option overrides
reload — Do not use cached config (default false)
bail — Return undefined when failing validation (default false)
print — Print info and error logs (default false)
Supported files
"percy" entry in package.json
.percyrc YAML or JSON file
.percy.json JSON file
.percy.yaml or .percy.yml YAML file
.percy.js or percy.config.js file that exports an object
Extending config options
The .addSchema() function will add a sub-schema to the Percy configuration file which will be
parsed and validated when PercyConfig.load() is called. See JSON
schema for possible schema options.
import PercyConfig from '@percy/config'
PercyConfig.addSchema({
propertyName: JSONSchema
})