Neverending Pun Machine

    @genesisx/git-hooks
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0-beta.0 • Public • Published

    git-hooks

    This is a command line interface (CLI) to enable users to create and configure commit hooks for their repository. This creates a directory structure like this:

    • .husky
      • pre-commit

    This folder structure is well suited to the needs of the majority of our projects which benefit from libraries and features being shared across multiple applications.

    The Genesis CLI uses the git-hooks command line interface to setup husky to add hooks for pre commit

    Usage

    Prerequsite

    For Using this package into your app, you can use as node package or directly using npx ,

    please follow the below steps

    • Install this npm package to your repo first
    • yarn add @genesisx/git-hooks or
    • npm install @genesisx/git-hooks

    To

    • Run this command inside the newly created project directory npx @genesisx/git-hooks

    • When asked with these questions then answer as following:

      • Do you want to setup pre commit hook for branch name validation? Y
      • Please enter the branch name regex
      • Do you want to setup pre commit hook for linting? Y/N
      • Do you want to setup pre commit hook for unit test? Y/N
    • Now if you commit with a wrong branch name then you would get his message \n\nThere is something wrong with your branch name.\nBranch names in this project must adhere to this contract:\n\033[0;33m<your regex string> \033[0m \n\n\033[0;31mYour commit will be rejected.\033[0m \nYou should rename your branch to a valid name and try again.\n\n

    Generators & Plugins

    Nx provides a large number of generators and executors that can be used by installing plugins. There are a huge number of communitiy maintained plugins which can be found in the Nx Plugin Directory and officially supported plugins for all major frameworks:

    React

    Angular

    React Native

    Genesis Plugins

    The goal of the Genesis project is to accelerate development and increase quality by providing templates that encapsulate best practices through generators that can be run against your project. Genesis plugins are installed into the node_modules directory and can be run from the command line or from the Nx console in Visual Studio Code. You can also "eject" a plugin which will convert it into a workspace generator which you can customize as required.

    Contributing

    Build Commands

    To build the CLI run this command in the terminal:

    nx run git-hooks:build
    

    To execute lint checks run:

    nx run git-hooks:lint
    

    To execute unit test cases run:

    nx run git-hooks:test
    

    Publishing

    To publish the package you must first be logged into NPM (npm login) then run this command from the root of the project.

    • Make sure the package name in package.json should start with @genesisx/
    • Also use the correct version number in package.json same will be used for the published package.
    • Use your NPM js credentials (Publicis Sapient) with publish rights
    • Verify the package at https://www.npmjs.com/settings/genesisx/packages
    npm publish dist/packages/git-hooks --access public
    

    Keywords

    none

    Install

    npm i @genesisx/git-hooks

    DownloadsWeekly Downloads

    65

    Version

    2.0.0-beta.0

    License

    SEE LICENSE IN LICENSE

    Unpacked Size

    16.3 kB

    Total Files

    7

    Last publish

    Collaborators

    • sophiacmcg
    • shashixt
    • vigneshpushkaranps
    • tolalitnegi
    • nareshbhatia
    • iamdavidjackson
    • genesisy
    • venkateshmishra
    • dreamzmaster
    • harshi14
    • areai51