Last active
February 4, 2024 14:15
-
-
Save digitaljhelms/7901283 to your computer and use it in GitHub Desktop.
Git hook to call `bower install` and `npm install` automatically.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
echo "[post-rewrite hook: $1]" | |
# by noahgrant & digitaljhelms | |
# | |
# quick script to call "bower install" and "npm install" automatically if | |
# bower.json or package.json are changed, respectively | |
# | |
# this assumes one top-level file for each | |
changedfiles=( `git diff-tree --no-commit-id --name-only HEAD@{1} HEAD` ) | |
if [[ "${changedfiles[*]}" =~ "bower.json" ]]; then | |
echo "bower installing" | |
bower install && bower update | |
fi | |
if [[ "${changedfiles[*]}" =~ "package.json" ]]; then | |
echo "npm installing" | |
npm install | |
fi |
Nice! Been thinking about writing something like this myself, but alas you shared it - thanks 👍
Awesome, thanks for sharing 👍
Thanks for sharing!
There is a minor issue: you should change #!/bin/sh
to #!/bin/bash
, or you'll get a syntax error. Maybe something is not POSIX compliant, and does not work with "basic" shells like dash
.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Triggered if the
bower.json
orpackage.json
file(s) are modified in changes being incorporated from a remote repository into the current branch (viagit pull
and thusgit merge
, orgit rebase
). This file should be named "post-rewrite", marked executable, and placed in.git/hooks/
within a local Git clone.