Santari (a.k.a sentry. Refer: https://www.dictionary4edu.com/santari-english-meaning.html) stands for guardsman/watchman in hindi. Santari looks for dependencies in your project and creates a PR with the latest dependency changes.
- Gets your package.json file from your project and runs
npm-check-updates
in background. - If there are dependencies to be updated. It creates a new branch with updated dependencies package.json.
- If a branch exists with the updated dependencies, branch and PR creation is avoided.
- If you have locked version for deps, they are not overrided.
Create an environment variable GITHUB_KEY
with your github access token. For more
details visit https://github.com/blog/1509-personal-api-tokens.
Please make sure, you have read-write access to the repo(s).
[sudo] npm i -g santari
santari --repo jeremyrajan/santari
Replace the repo option with username/repo-name
.
You can pass the following options:
--dry
: If you pass this as argument then, santari will not create PR/branches and will only display the latest packages to be updated.
ex: santari --repo <author>/<repo> --dry
--c
: From version > 2.5.0 you can pass a config file option wherein you can set PR details. Check.santari.json
in this repo.
ex: santari --repo <author>/<repo> --c .santari.json
Please note that this example uses travis CI.
- Add
GITHUB_KEY
with your access token asENV
variable. - Add
npm i -g santari
tobefore_install
- Add
santari --repo <author>/<name_of_repo>
toafter_success
- Configure cron in travis CI for the repo. You have a choice between daily, weekly or monthly.
This repo, is configured for automatic updates on a daily basis, .travis.yml. For more details on cron jobs for travis, please refer here.
The setup is the same, if your CI supports cron jobs.
- Open a issue tracker/PR for contributions.
- Send an email jeremyrajan[at]gmail[dot]com.
Thanks to Tomas Junnonen for npm-check-updates.