2016-12-17 16:26:06 +00:00
# renovate
2017-01-15 17:59:32 +00:00
> Keep npm dependencies up-to-date
2016-12-18 11:00:41 +00:00
2017-01-15 17:59:32 +00:00
## Why
2017-01-12 19:56:46 +00:00
2017-01-15 17:59:32 +00:00
- Creates or updates Pull Requests for each dependency that needs updating
2017-01-17 08:11:42 +00:00
- Discovers and processes all `package.json` files in repository (supports monorepo architecture)
2017-01-15 17:59:32 +00:00
- Supports multiple major versions per-dependency at once
- Configurable via file, environment, CLI, and `package.json`
- Self-hosted
2017-01-12 19:56:46 +00:00
2017-01-15 17:59:32 +00:00
## Install
2016-12-18 11:00:41 +00:00
2017-01-15 17:59:32 +00:00
```
$ npm install -g renovate
```
2016-12-18 11:00:41 +00:00
2017-01-15 17:59:32 +00:00
## Authentication
2016-12-18 11:00:41 +00:00
2017-01-15 17:59:32 +00:00
You need to select a GitHub user for `renovate` to assume the identity of. It's recommended that you use a dedicated "bot" account for this to avoid user confusion.
2016-12-18 11:00:41 +00:00
2017-01-15 17:59:32 +00:00
The script will need a GitHub Personal Access Token with "repo" permissions. You can find instructions for generating it here: https://help.github.com/articles/creating-an-access-token-for-command-line-use/
2016-12-18 11:00:41 +00:00
2017-01-15 17:59:32 +00:00
This token needs to be configured via file, environment variable, or CLI. See [docs/configuration.md ](docs/configuration.md ) for details.
2017-01-17 08:11:42 +00:00
The simplest way is to expose it as `GITHUB_TOKEN` .
2016-12-18 11:00:41 +00:00
2017-01-20 13:03:18 +00:00
## Usage
2016-12-18 11:00:41 +00:00
```
2017-01-17 13:27:48 +00:00
$ node renovate --help
Usage: renovate [options] [repositories...]
Options:
2017-01-29 20:53:12 +00:00
-h, --help output usage information
--enabled [boolean] Enable or disable renovate
2017-01-30 06:37:43 +00:00
--onboarding [boolean] Require a Configuration PR first
2017-01-31 17:16:33 +00:00
--platform < string > Platform type of repository
--token < string > Repository Auth Token
2017-01-29 20:53:12 +00:00
--package-files < list > Package file paths
--dep-types < list > Dependency types
--ignore-deps < list > Dependencies to ignore
--ignore-future [boolean] Ignore versions tagged as "future"
--ignore-unstable [boolean] Ignore versions with unstable semver
--respect-latest [boolean] Ignore versions newer than npm "latest" version
--recreate-closed [boolean] Recreate PRs even if same ones were closed previously
--labels < list > Labels to add to Pull Request
--assignees < list > Assignees for Pull Request
2017-01-31 13:54:16 +00:00
--reviewers < list > Requested reviewers for Pull Requests
2017-01-29 20:53:12 +00:00
--log-level < string > Logging level
2017-01-17 13:27:48 +00:00
Examples:
$ renovate --token abc123 singapore/lint-condo
2017-01-20 13:03:18 +00:00
$ renovate --ignore-unstable=false --log-level verbose singapore/lint-condo
2017-01-17 13:27:48 +00:00
$ renovate singapore/lint-condo singapore/package-test
2016-12-18 11:00:41 +00:00
```
2017-01-15 18:57:20 +00:00
2017-01-30 06:37:43 +00:00
Note: The first time you run `renovate` on a repository, it will not upgrade any dependencies. Instead, it will create a PR called 'Configure Renovate' and commit a default `renovate.json` file to the repository. This PR can be close unmerged if the default settings are fine for you. Also, this behaviour can be disabled if you first disable the `onboarding` setting before running.
2017-01-15 18:57:20 +00:00
## Deployment
2017-01-30 06:37:43 +00:00
See [deployment docs ](docs/deployment.md ) for details.
2017-01-15 18:57:20 +00:00
2017-01-16 09:55:02 +00:00
## Design Decisions
2017-01-15 18:57:20 +00:00
2017-01-16 09:55:02 +00:00
See [design decisions doc ](docs/design-decisions.md ) for details.