goe-husky

1.1.1 • Public • Published

goe-husky

goe-husky hook allows to add task id to every commit for Go-e Labs front end projects. Currently the format of task id's is FE-{numeric value}, for instance FE-24. In order to make the hook work, the branch name should contain ticket id, for example feature/FE-24_some_task. Every time you will make commit, goe-husky will parse the name of the branch, take out ticket id and use it as prefix for the commit message. Therefore, the developers do not have to type in the task id every time they compose commit message.

Usage

  1. Add the package along with husky dependency
yarn add goe-husky husky -D
  1. Run setup for husky package:
yarn husky install

This will create .husky folder in the root of your project

  1. Add husky setup to scripts to make sure it runs every time you reinstall dependencies
{
	// ...
	"scripts": {
		// ...
		 "prepare": "husky install"
	},
	// ...
}
  1. Add another one script that will be responsible for git hook run. It will be called every time you perform commit
{
	// ...
	"scripts": {
		// ...
		 "prepare-commit-message": "npm explore goe-husky -- yarn goe-husky-hook"
	},
	// ...
}
  1. Connect the previous script with prepare-commit-msg (see link) git hook via husky:
yarn husky add .husky/prepare-commit-msg "yarn prepare-commit-message \"\$1\" \"\$2\" <pattern for ticket e.g. FE|WEB|MA>"

Note Variables $1 and $2 passed to script stand for commit comment in progress and type of commit (usual commit with message, merge, etc.).
Note A 3rd parameter can be set in client project's prepare-commit-msg.sh file for "yarn prepare-commit-message "$1" "$2"" line in case ticket names donot start with FE or WEB (FE and WEB are already included). Here you can give a string separated by "|" to included all your ticket patterns. e.g. go-e-app-charger uses FE-XXX in Youtrack and MA-XXX in Jira, hence a 3rd parameter "MA" is added, if there are even more project codes this can be extended to "MA|XX|YY|ZZ" and so on.

  1. Add newly created hook inside .husky folder to version control (the rest of its content is covered by .gitignore and should not go to repo). This will allow you not to run the whole setup sequence if you reinstall dependencies.

Note If you use git CLI, task id will be prepended automatically when you add commit for step 6. If you use gitKraken, the hook will start working for the next commit after step 6.

Readme

Keywords

none

Package Sidebar

Install

npm i goe-husky

Weekly Downloads

51

Version

1.1.1

License

MIT

Unpacked Size

3.6 kB

Total Files

3

Last publish

Collaborators

  • go-e