The config is obtained by merging multiple configurations by this order of importance:
- CLI arguments via
--config - Environment variables
- Local .bowerrc located in the current working directory
- All .bowerrc files upwards the directory tree
.bowerrcfile located in user’s home folder (~).bowerrcfile located in the global folder (/)
Example of CLI arguments:
--config.endpoint-parser=<parser>--config.storage.cache=<cache>
Example of valid environment variables:
bower_https_proxyis evaluated ashttps-proxybower_storage__cacheis evaluated asstorage.cache
Available configuration variables, in .bowerrc. format:
{
"analytics": true,
"cwd": "~/.my-project",
"directory": "bower_components",
"registry": "https://bower.herokuapp.com",
"shorthand-resolver": "git://github.com/{{owner}}/{{package}}.git",
"proxy": "http://proxy.local",
"https-proxy": "https://proxy.local",
"ca": "/var/certificate.pem",
"color": true,
"timeout": 60000,
"storage": {
"packages" : "~/.bower/packages",
"registry" : "~/.bower/registry",
"links" : "~/.bower/links"
},
"interactive": true,
"resolvers": [
"mercurial-bower-resolver"
],
"shallowCloneHosts": [
"myGitHost.example.com"
]
}Boolean
Bower can collect anonymous usage statistics. This allows the community to improve Bower and publicly display insights into CLI usage and packages at bower.io/stats.
Data is tracked using Google Analytics and instrumented via Insight. It is made available to all Bower team members. Tracking is opt-in upon initial usage. If you'd prefer to disable analytics altogether, set "analytics": false in your .bowerrc file. Details on exactly what's tracked is available here.
"analytics": trueString
Current working directory - the directory from which bower should run. All relative paths will be calculated according to this setting. It should be used only via programmatic API or CLI arguments. Do no put it into .bowerrc.
"cwd": "~/my-project"String
The path in which installed components should be saved. If not specified this defaults to bower_components.
"directory": "bower_components"Object or String
The registry config. Can be an object or a string. If a string is used, all the property values below will have its value. Defaults to the bower registry URL.
If your organization wishes to maintain a private registry, you may change the values below.
"registry": "https://bower.herokuapp.com"Array or String
An array of URLs pointing to read-only Bower registries. A string means only one. When looking into the registry for an endpoint, Bower will query these registries by the specified order.
"registry": {
"search": [
"http://localhost:8000",
"https://bower.herokuapp.com"
]
}String
The URL to use when registering packages.
"registry": {
"register": "http://localhost:8000"
}String
The URL to use when publishing packages.
"registry": {
"publish": "http://localhost:8000"
}String
Define a custom template for shorthand package names.
Defaults to {% raw %}git://github.com/{{owner}}/{{package}}.git{% endraw %}
The shorthand-resolver key provides support for defining a custom template
which Bower uses when constructing a URL for a given shorthand. For example, if
a shorthand of twitter/flight or twitter/flight#v1.0.0 is specified in the
package's manifest dependencies, the following data can be referenced from
within the shorthand-resolver template:
owner: "twitter"
package: "flight"
shorthand: "twitter/flight"
"shorthand-resolver": "git://example.com/{{owner}}/components/{{package}}.git""shorthand-resolver": "git://example.com/{{shorthand}}.git"String
The proxy to use for http requests.
"proxy":"http://<host>:<port>"String
The proxy to use for https requests.
"https-proxy":"http://<host>:<port>"String
Sets the User-Agent for each request made.
Defaults to: node/<process.version> <process.platform> <process.arch>
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"Number
The timeout to be used when making requests in milliseconds, defaults to
60000 ms.
"timeout": 40000Boolean
Whether or not to do SSL key validation when making requests via https.
"strict-ssl": falseObject or String
The CA certificates to be used, defaults to null. This is similar to the registry key, specifying each CA to use for each registry endpoint.
The Certificate Authority signing certificate that is trusted for SSL connections to the registry. Set to null to only allow "known" registrars, or to a specific CA cert to trust only that specific signing authority.
"ca": "/etc/ssl/cert.pem"Boolean
Enable or disable use of colors in the CLI output. Defaults to true.
"color": trueObject
Where to store persistent data, such as cache, needed by bower. Defaults to
paths that suit the OS/platform. Valid keys are packages, registry, links.
"storage": {
"packages" : "~/.bower/packages",
"registry" : "~/.bower/registry",
"links" : "~/.bower/links"
}String
Where to store temporary files and folders. Defaults to the system temporary directory suffixed with /bower.
"tmp": "~/.bower/tmp"Boolean
Makes bower interactive, prompting whenever necessary. Defaults to null which
means auto.
"interactive": trueArray
List of Pluggable Resolvers to use for locating and fetching packages.
"resolvers": [
"mercurial-bower-resolver"
]Array
Bower's default behavior is to not use shallow cloning, since some Git hosts (e.g. older versions of GitHub Enterprise) fail to provide a response when asked to do a shallow clone (with --depth 1). This list allows to whitelist hosts that are known to support shallow cloning.
"shallowCloneHosts": [
"myGitHost.example.com"
]