https://github.com/jeremyrajan/santari
NPM Dependency checker & Updater
https://github.com/jeremyrajan/santari
cron cron-jobs dependency-manager npm package-json package-tracker travis travis-ci
Last synced: 5 days ago
JSON representation
NPM Dependency checker & Updater
- Host: GitHub
- URL: https://github.com/jeremyrajan/santari
- Owner: jeremyrajan
- License: mit
- Created: 2016-10-29T09:45:40.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-09-10T04:04:28.000Z (about 5 years ago)
- Last Synced: 2025-08-25T02:27:16.928Z (about 2 months ago)
- Topics: cron, cron-jobs, dependency-manager, npm, package-json, package-tracker, travis, travis-ci
- Language: JavaScript
- Homepage:
- Size: 1.51 MB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Santari
[](https://app.codacy.com/app/jeremyrajan/santari?utm_source=github.com&utm_medium=referral&utm_content=remicass/santari&utm_campaign=Badge_Grade_Settings)
[](https://travis-ci.org/remicass/santari)
[](https://badge.fury.io/js/santari)
[](https://david-dm.org/jeremyrajan/santari)[](https://nodei.co/npm/santari/)
## 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.
## 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 santarisantari --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 / --dry`
2. `--c`: From version > 2.5.0 you can pass a config file option wherein you can set PR details. Check [`.santari.json`](.santari.json) in
this repo.ex: `santari --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`](https://github.com/jeremyrajan/santari/blob/master/.travis.yml#L12)
3. Add `santari --repo /` to [`after_success`](https://github.com/jeremyrajan/santari/blob/master/.travis.yml#L13)
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](https://github.com/jeremyrajan/santari/blob/master/.travis.yml). For more details on cron jobs for travis, please refer [here](https://docs.travis-ci.com/user/cron-jobs/).

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][1] for [npm-check-updates][2].
[1]: https://github.com/tjunnone
[2]: https://github.com/tjunnone/npm-check-updates