JSPM

  • Created
  • Published
  • Downloads 23
  • Score
    100M100P100Q65476F
  • License MIT

git hook generator that prepends branch name to commit message

Package Exports

  • git-graft

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (git-graft) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

git-graft

oclif Version Downloads/week License

NPX CLI tool that generates a configurable Git Hook that prepends branch name patterns to commit messages.

Features:

  • Generated Git Hook
  • Hook is a bin file running Node & no dependencies
  • Configurable git-graft.json
  • Validates the commit message and branch
  • Usage
  • Commands

Usage

$ npx git-graft (-v|--version|version)
git-graft/0.0.0 linux-x64 node-v14.16.1
$ npx git-graft --help
Main Usage
  $npx git-graft [COMMAND]
...

Commands

Init

Git Graft currently only has one command for generating the Git Hook and configuration file.

example: npx git-graft init

The prompts will be used to construct the configuration file and ask to modify permissions to allow for execution of the generated Git Hook. Without permission to execute the Git Hook cannot work.

TBD:

Doctor

  • Will run permissions check on Git Graft Hook
  • Will run unit tests on Git Graft Hook code

Configuration

The init generates a git-graft.json that has properties for a configurable Git Hook. Configuration the patterns to validate the branch and resulting prepended commit message with branch information.

branchTypes:

RegExp List required -- Refers to GitFlows from DevOps best practices. Git Graft Hook will wrap the list in () and the constructor includes the forward slash & escape \/ example

branchPattern:

RegExp required -- Refers to the code/ticket and name of the branch following the branchType. example

ticketTypes:

string required -- Refers to the ticket code types, for example JIRA will use TICKETTYPE-{NUMBERS}. The Git Hook will use this config to construct a RegExp for the prepending to commit messages.

regExFlag:

RegExp optional -- Flags to pass into RegEx constructors. Default: gim

ticketOnly:

boolean optional -- Used to determine if ticket/code or whole branch should used. Default: true


RegEx Examples:

branchPattern - https://regex101.com/r/ewym8B/1

branchTypes - https://regex101.com/r/KNZio4/1