renovate/readme.md
Rhys Arkins 701aaef972 Support yarn.lock maintenance (#105)
Closes #96 

* Improve yarn logs

* Add processYarnLock

* Update worker.js

* Update worker.js

* Fix and update docs

* Make Yarn Maintenance strings into templates
2017-04-13 22:39:46 +02:00

77 lines
3.4 KiB
Markdown

# renovate
> Keep npm dependencies up-to-date
## Why
- Creates or updates Pull Requests for each dependency that needs updating
- Discovers and processes all `package.json` files in repository (supports monorepo architecture)
- Supports multiple major versions per-dependency at once
- Configurable via file, environment, CLI, and `package.json`
- Supports `yarn.lock` files
- Supports GitHub and GitLab
- Self-hosted
## Install
```
$ npm install -g renovate
```
## Authentication
You need to select a repository user for `renovate` to assume the identity of, and generate a Personal Access Token. It's recommended that you use a dedicated "bot" account for this to avoid user confusion.
You can find instructions for GitHub here (select "repo" permissions): https://help.github.com/articles/creating-an-access-token-for-command-line-use/
You can find instructions for GitLab here: https://docs.gitlab.com/ee/api/README.html#personal-access-tokens
This token needs to be configured via file, environment variable, or CLI. See [docs/configuration.md](docs/configuration.md) for details.
The simplest way is to expose it as `GITHUB_TOKEN` or `GITLAB_TOKEN`.
## Usage
```
$ node renovate --help
Usage: renovate [options] [repositories...]
Options:
-h, --help output usage information
--enabled [boolean] Enable or disable renovate
--onboarding [boolean] Require a Configuration PR first
--platform <string> Platform type of repository
--endpoint <string> Custom endpoint to use
--token <string> Repository Auth Token
--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
--rebase-stale-prs [boolean] Rebase stale PRs (GitHub only)
--maintain-yarn-lock [boolean] Keep yarn.lock updated in base branch (no monorepo support)
--labels <list> Labels to add to Pull Request
--assignees <list> Assignees for Pull Request
--reviewers <list> Requested reviewers for Pull Requests (GitHub only)
--pin-versions [boolean] Convert ranged versions in package.json to pinned versions
--log-level <string> Logging level
Examples:
$ renovate --token abc123 singapore/lint-condo
$ renovate --ignore-unstable=false --log-level verbose singapore/lint-condo
$ renovate singapore/lint-condo singapore/package-test
```
Note: The first time you run `renovate` on a repository, it will not upgrade any dependencies. Instead, it will create a Pull Request (Merge Request if GitLab) 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 set the `onboarding` configuration option to `false` before running.
## Deployment
See [deployment docs](docs/deployment.md) for details.
## Design Decisions
See [design decisions doc](docs/design-decisions.md) for details.