zixia / git-scripts

Git hooks integration for Node.js projects
https://npmjs.com/package/git-scripts
MIT License
48 stars 16 forks source link

git-scripts NPM Version

NPM

Manage git hooks with the "git.scripts" field of the package.json like npm-scripts.

{
  "name": "your-project",
  "version": "0.0.0",
  "description": "",
  "devDependencies": {
    "git-scripts": "*"
  },
  "git": {
    "scripts": {
      "pre-commit": "npm test",
      "post-merge": "npm install"
    }
  }
}

See also this module's package.json as an example.

Installation

$ npm install git-scripts

NOTE: .git/hooks of your project is replaced when installed. You can restore it by uninstalling the module.

Description

git-scripts supports all hooks including the following:

CLI

$ npm install -g git-scripts
Usage: git-scripts <command> [options]

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

  Commands:

    install [path]           install git-scripts
    uninstall [path]         uninstall git-scripts
    run <name> [args ...]    run arbitrary scripts

NOTE: Usually, you don't need CLI. Hooks are enabled automatically when you install the module locally.

Using Programmatically

If you would like to use git-scripts programmatically, you can do that.

var scripts = require('git-scripts');
var project = scripts('somewhere/yourproject');

project.install(function(err) {
  if (err) throw err;
  console.log('git-scripts was installed.');

  project.run('pre-commit', function(err) {
    if (err) throw err;
    console.log('pre-commit script succeeded.');
  });
});

Documentation

var scripts = require('git-scripts');
var project = scripts('somewhere/yourproject');

scripts([path])

Create a git-scripts instance for path.

project.install([callback])

Install git-scripts.

project.uninstall([callback])

Uninstall git-scripts.

project.run(name, [args ...], [callback])

Run an arbitrary command of name.

Author

Naoyuki Kanezawa naoyuki.kanezawa@gmail.com

Maintainer

Huan LI (李卓桓) zixia@zixia.net

License

MIT