1.1.3 • Published 12 months ago

@pos-360/auto-git-update v1.1.3

Weekly downloads
-
License
ISC
Repository
github
Last release
12 months ago

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 ArrayString - 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();