-
Star
(349)
You must be signed in to star a gist -
Fork
(41)
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 |
grep "version" package.json | ...grep directly instead of cat?
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"
If someone uses image based on
ubi-minimal- which doesn't havejq,grepor evensed- use this script:VERSION=$(cat package.json | tr -d '\n' | tr -d ' ' | cut -d'"' -f4)