Search code examples
githubgithooksgithub-for-windows

Git hook update package json version


In our project we often forget to update version numbers in Package.json file. Ours is a AngularJS project. In our package JSON file we are specifying the below two version information

"version": "1.0.7",
"devVersion": "1.0.4"

Before Merging a branch to develop I want a automated script to update these above two version numbers. I am thinking Git Hooks will help me.

Where can i find the hooks, I am able to see the hooks in my local repo under .git folder. I am confused which hook to use. Searching on Google suggests I have to create hooks on server.

Where can i find them and can i update the above both keys (version and devVersion) ?

Pls suggest the location and hook to use, this will solve a lot of problem.


Solution

  • You have two kinds of hooks (both present in any .git/hooks folder): server and client hooks.
    They are listed in "Customizing Git - Git Hooks"

    A merge is a local operation, so if you wanted to automate any process during a merge, you would need a client hook, like a post-commit hook (meaning executed just after creating a merge commit).
    If you need to update that file before a merge, you can try a pre-commit hook, and check if a merge is in progress (if not, your pre-commit hook would do nothing since you want to update the versions only before a merge).

    You can see in this answer an example of a post-commit hook which generates a version.json file.
    If is written in node, but you can write a hook ni any scripting language you want.