Home of the Renovate CLI: Cross-platform Dependency Automation by Mend.io
Find a file
2017-06-01 09:30:43 +02:00
bin Update dependency prettier to version 1.3.1 (#199) 2017-05-10 09:26:08 +02:00
docs Enable templates via env and update design decision doc (#192) 2017-04-29 04:42:17 +02:00
lib Update dependency prettier to version 1.3.1 (#199) 2017-05-10 09:26:08 +02:00
test Fix caret zero dot zero dot logic (#191) 2017-04-28 21:55:14 +02:00
.editorconfig Add editorconfig 2017-01-15 17:23:34 +01:00
.eslintrc.js Use es5 trailing commas (#183) 2017-04-21 10:25:49 +02:00
.gitattributes Add .gitattributes 2017-01-15 17:25:51 +01:00
.gitignore Use async await (#78) 2017-01-31 12:19:06 +01:00
.npmignore Ignore bin 2017-01-20 14:09:57 +01:00
circle.yml Use yarn for renovate repository (#68) 2017-02-10 12:45:16 +01:00
contributing.md Use Prettier (#181) 2017-04-21 10:12:41 +02:00
license Add license file 2017-01-15 17:27:41 +01:00
package.json Update dependency eslint-config-airbnb-base to version 11.2.0 2017-06-01 09:30:43 +02:00
Procfile Replace npm run/test with yarn run/test (#182) 2017-04-21 09:46:41 +02:00
readme.md Note GitLab API v3 requirement 2017-05-27 05:50:42 +02:00
yarn.lock Update dependency eslint-config-airbnb-base to version 11.2.0 2017-06-01 09:30:43 +02:00

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 (v3 API)
  • 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 Please note that currently only GitLab API v3 is supported and not v4.

This token needs to be configured via file, environment variable, or CLI. See 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
    --autodiscover [boolean]             Autodiscover all repositories
    --package-files <list>               Package file paths
    --dep-types <list>                   Dependency types
    --separate-major-releases [boolean]  If set to false, it will upgrade dependencies to latest release only, and not separate major/minor branches
    --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)
    --pr-creation <string>               When to create the PR for a branch. Values: immediate, not-pending, status-success.
    --automerge <string>                 What types of upgrades to merge to base branch automatically. Values: none, minor or any
    --maintain-yarn-lock [boolean]       Keep yarn.lock files updated in base branch
    --group-name <string>                Human understandable name for the dependency group
    --group-slug <string>                Slug to use for group (e.g. in branch name). Will be calculated from groupName if null
    --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 --labels=renovate,dependency --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 for details.

Design Decisions

See design decisions doc for details.