@pos-360/auto-git-update
v1.1.3
Published
Update node app from git repo.
Downloads
30
Readme
Auto Git Update
a node.js module used for automatically updating projects from a git repository.
Notes
- This module comes in two flavors. ECMAScript & Commonjs.
- The default install will be an ECMAScript module which requires use of an import statement.
- Optionally, install the commonjs module to make use of the more popular require statement.
- This module uses simple-logger (https://github.com/chegele/Logger).
- To update from private repositories a personal access token needs to be provided.
- During updates a backup of the old version is taken and stored in the configured tempLocation.
- The remote package.json is compared to the local package.json to determine if a different version is available.
Config Options
- repository String - The url to the root of a git repository to update from.
- tempLocation String - The local dir to save temporary information for Auto Git Update.
- fromReleases Boolean - [optional] Updated based off of latest published GitHub release instead of branch package.json.
- branch String - [optional] The branch to update from. Defaults to master.
- token String - [optional] A personal access token used for accessions private repositories.
- ignoreFiles Array[String] - [optional] An array of files to not install when updating. Useful for config files.
- executeOnComplete String - [optional] A command to execute after an update completes. Good for restarting the app.
- exitOnComplete Boolean - [optional] Use process exit to stop the app after a successful update.
- logConfig Object - [optional] An object with the logging configuration, see https://github.com/chegele/Logger
Functions
- autoUpdate() - Updates if local package.json version is different than remote.
- compareVersions() - Compares package.json versions without updating.
- Returns an object with the properties upToDate, currentVersion, & remoteVersion.
- forceUpdate() - Updates without comparing package versions.
- setLogConfig(logConfig) - Updates logging configuration. https://github.com/chegele/Logger
ECMAScript Example (default)
npm i auto-git-update
import AutoGitUpdate from 'auto-git-update';
const config = {
repository: 'https://github.com/chegele/BackupPurger',
fromReleases: true,
tempLocation: 'C:/Users/scheg/Desktop/tmp/',
ignoreFiles: ['util/config.js'],
executeOnComplete: 'C:/Users/scheg/Desktop/worksapce/AutoGitUpdate/startTest.bat',
exitOnComplete: true
}
const updater = new AutoGitUpdate(config);
updater.autoUpdate();
CommonJS Example
npm i auto-git-update@commonjs
const AutoGitUpdate = require('auto-git-update');
const config = {
repository: 'https://github.com/chegele/BackupPurger',
fromReleases: true,
tempLocation: 'C:/Users/scheg/Desktop/tmp/',
ignoreFiles: ['util/config.js'],
executeOnComplete: 'C:/Users/scheg/Desktop/worksapce/AutoGitUpdate/startTest.bat',
exitOnComplete: true
}
const updater = new AutoGitUpdate(config);
updater.autoUpdate();