-
Star
(349)
You must be signed in to star a gist -
Fork
(42)
You must be signed in to fork a gist
-
-
Save DarrenN/8c6a5b969481725a4413 to your computer and use it in GitHub Desktop.
# Version key/value should be on his own line | |
PACKAGE_VERSION=$(cat package.json \ | |
| grep version \ | |
| head -1 \ | |
| awk -F: '{ print $2 }' \ | |
| sed 's/[",]//g') | |
echo $PACKAGE_VERSION |
Thanks for this thread, lots of creative workarounds and useful techniques to be learned here.
However, I think the best option, at least for the OP task, got largely overlooked here. npm show ./ version
(as pointed out by @mightyiam among others).
BTW, the actual command AFAICT is npm-view
, and there it says that npm has aliased v
, show
, and info
to it.
WARNING: npm show . version
and npm show ./ version
are different. The .
seems to pull from the published repository info (in cache?), where as the ./
actually reads the package.json
in the current directory. The latter is the one we want here (at least the OP). So make sure you use npm show ./ version
.
FWIW, I have added these two to my ~/.bash_profile
:
alias whatver="npm v ./ version"
alias tagver="whatver | xargs git tag && git push --tags"
(I always forget how useful xargs
is, until I run across a case like this where it's helpful)
If you already have node installed: node -p "require('./package.json').version"
grep
directly instead ofcat
?