What is renovate?
Renovate is a powerful tool for automating dependency updates in your projects. It helps keep your dependencies up-to-date, ensuring that your project remains secure and compatible with the latest versions of libraries and tools.
What are renovate's main functionalities?
Automated Dependency Updates
Renovate can automatically update your dependencies by creating pull requests for new versions. The configuration above extends the base configuration, which includes sensible defaults for most projects.
{
"extends": ["config:base"]
}
Customizable Configuration
You can customize Renovate's behavior using a configuration file. In this example, packages that match the pattern '^@my-org/' are grouped together in a single pull request.
{
"extends": ["config:base"],
"packageRules": [
{
"packagePatterns": ["^@my-org/"],
"groupName": "my-org packages"
}
]
}
Scheduling Updates
Renovate allows you to schedule when updates should be created. The configuration above schedules updates to be created before 5 AM on Mondays.
{
"extends": ["config:base"],
"schedule": ["before 5am on monday"]
}
Other packages similar to renovate
dependabot
Dependabot is a GitHub-native tool for automating dependency updates. It is similar to Renovate in that it creates pull requests for new versions of dependencies. However, Dependabot is more tightly integrated with GitHub and may be easier to set up for users already using GitHub.
greenkeeper
Greenkeeper is another tool for automating dependency updates. It was one of the first tools in this space and offers similar functionality to Renovate. However, Greenkeeper has been deprecated in favor of Snyk, which now includes similar features.
snyk
Snyk is a comprehensive security tool that includes features for automating dependency updates. While it offers similar functionality to Renovate, Snyk also provides additional security features such as vulnerability scanning and remediation.
renovate
Keep npm dependencies up-to-date.
Before you Start
To run this script, you will need to select a GitHub account for it to use. The account will need read/write access to push and update upgrade branches to GitHub, as well as raise Pull Requests.
We recommend using a "bot" account so that it's clear to other users of the repository that these are automated actions and not a team member performing them all manually.
The script will need a GitHub "access token" for authenticating API access. You can find instructions for generating it here: https://help.github.com/articles/creating-an-access-token-for-command-line-use/
This token needs to be exposed via the environment variable RENOVATE_TOKEN
.
Running the Script
To run the script from the command line, you will need Node.js version 6 or greater.
First, install dependencies for this script by running npm install
.
The script can then be run like this:
node src <username>/<repo> <path to package.json>
The <path to package.json>
argument is optional, and is only needed if your package.json
is located somewhere other than the root of the repository.
Example of running with default package.json
location:
node src singapore/renovate
Example of running with a custom package.json
location:
node src singapore/renovate containers/build/package.json
Note: as mentioned above, you need to expose the environment variable RENOVATE_TOKEN
. One way of doing it is like this:
RENOVATE_TOKEN=JDSUW284HSJDSFKSUS22942H2H15KK node src singapore/renovate