Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/csymapp/automatic-updates
Tools to automatically update nodejs programs installed as modules from npm/github.
https://github.com/csymapp/automatic-updates
Last synced: about 2 months ago
JSON representation
Tools to automatically update nodejs programs installed as modules from npm/github.
- Host: GitHub
- URL: https://github.com/csymapp/automatic-updates
- Owner: csymapp
- License: apache-2.0
- Created: 2020-10-07T11:14:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-03T09:25:45.000Z (almost 4 years ago)
- Last Synced: 2024-11-28T20:17:11.522Z (about 2 months ago)
- Language: JavaScript
- Size: 406 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# automatic-updates
Tools to automatically update nodejs programs installed as modules from npm/github.[![Build Status](https://travis-ci.com/csymapp/automatic-updates.svg?branch=master)](https://travis-ci.com/csymapp/automatic-updates)
## npm
Check the version of the installed module and compares with the lastest module in npm to check whether to install new module using `npm install -g`
Only public npm packages are supported. If you'd like your application to be private, you can consider using [github](#github)
## github
Runs `git pull` and gets github cli handle the rest.
This allows the program to freely reside in private github repos and still be able to auto-update. This requires an ssh key to be supplied.
For using github, you will create a file in `~/etc/${yourprojectname}/system.yaml` with the contents:
```yaml
sshKey: path to ssh key```
Project name is the name in `package.json`. The active branch is master. So ensure you use that as your default branch instead of main.
## usage
```javascript
const automaticUpdates = require('automatic-updates');
automaticUpdates.on('updated', ()=>{
process.exit() // what to do restart the service in case of an update
});
automaticUpdates.init()
```## api
## automaticUpdates
Automatic Updates**Kind**: global class
* [automaticUpdates](#automaticUpdates)
* [.interval](#automaticUpdates+interval)
* [.source](#automaticUpdates+source)
* [.init(options)](#automaticUpdates+init)
* [.updateFromGithub()](#automaticUpdates+updateFromGithub)
* [.updateFromnpm()](#automaticUpdates+updateFromnpm)
* [.updateModules()](#automaticUpdates+updateModules)### automaticUpdates.interval
Update Interval**Kind**: instance property of [
automaticUpdates
](#automaticUpdates)### automaticUpdates.source
Source from which to update**Kind**: instance property of [
automaticUpdates
](#automaticUpdates)### automaticUpdates.init(options)
Initialize automatic updates**Kind**: instance method of [
automaticUpdates
](#automaticUpdates)| Param | Type | Default | Description |
| --- | --- | --- | --- |
| options |object
| | Options |
| [options.interval] |number
|3600
| Interval over which to check for updates. |
| [options.source] |string
|"npm"
| The source from which to check for updates. |### automaticUpdates.updateFromGithub()
Update using git pull from github repo**Kind**: instance method of [
automaticUpdates
](#automaticUpdates)### automaticUpdates.updateFromnpm()
update from npm**Kind**: instance method of [
automaticUpdates
](#automaticUpdates)### automaticUpdates.updateModules()
update node modules for current project**Kind**: instance method of [
automaticUpdates
](#automaticUpdates)