node package manager

santari

Santari

Build Status npm version david.dm

NPM

About

Santari (a.k.a sentry. Refer: http://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.

What it does

  1. Gets your package.json file from your project and runs npm-check-updates in background.
  2. If there are dependencies to be updated. It creates a new branch with updated dependencies package.json.
  3. If a branch exists with the updated dependencies, branch and PR creation is avoided.
  4. If you have locked version for deps, they are not overrided.

image

Usage

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.

Options

You can pass the following options:

  1. --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

  1. --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

Automatic Checking

Please note that this example uses travis CI.

  1. Add GITHUB_KEY with your access token as ENV variable.
  2. Add npm i -g santari to before_install
  3. Add santari --repo <author>/<name_of_repo> to after_success
  4. 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.

image

The setup is the same, if your CI supports cron jobs.

Feedback/contributions

  1. Open a issue tracker/PR for contributions.
  2. Send an email jeremyrajan[at]gmail[dot]com.

Thanks to Tomas Junnonen for npm-check-updates.