npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

git-hooks-manager

v0.0.0

Published

hook manager for git

Downloads

8

Readme

Git Hooks Manager

This package helps you to setup quickly some useful scripts as hook for all your project managed by git. Somes are already bundles with this app, but you can add yours. It takes place in git hooks directory (.git/hooks or hooks/ for bare repositories).

Setup

Installation is very simple :

$ cd your-project/.git/            # or simply your-project.git for a bare repository
$ mv hooks hooks_                  # backup existing hooks
$ git clone git://github.com/tdebarochez/git-hooks-manager.git hooks
$ cd hooks && npm install          # initialization

Usage

There is two ways to use it :

  • clone this repo and use one of provided hooks
  • clone localy this repo, add your own scripts and clone your copy on every of your project

During intialization, this application create, for each hook type, one symbolic link to itself and a directory where each symbolic link will be added when you will decide to setup a hook. IE :

-rwxr-xr-x@ 1 tdebarochez  staff    10K 24 jui 11:02 index.js
lrwxr-xr-x  1 tdebarochez  staff    53B 18 jui 21:16 post-checkout -> index.js
drwxr-xr-x  2 tdebarochez  staff    68B 18 jui 21:16 post-checkout.d

To list every setup hooks, run ls *.d/*

Commands

Usage :

$ ./index.js <command> <hook_type> <args>

search : list every available hooks for a git hook type (pre-commit, post-commit, post-receive, etc...)

add / rm : setup or remove a hook

hook : execute one by one every setup hooks by type

Type ./index.js help <command> to get more infos about a command.

Your own hooks

Every scripts are store in hooks/ directory, arrange by hook type (ie: hooks/pre-commit/your-hook-name/). For every script you must define a hook.json file. Example :

{
 "index": "app.js",
 "description": "long description of your hook",
 "post-install": "npm install",
 "async": false
}

index : entry point of your hook

description : long description

async : this property daemonize the main process for long during operation (ie: builds, unit testing, etc...), this is typicaly for post-something hooks.

pre-install, post-install, pre-remove and post-remove : those commands are executed before or after setup or remove a hook for your project. You can use it to download dependencies, cleanup directories, etc...

You can look at existing hooks to see an example.

Todo

Add more and more hooks