-
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 |
cat package.json | jq -r '.version'works on github actions
Easier:
jq -r .version package.json
real 0m0,021s
user 0m0,020s
sys 0m0,000s
If someone uses image based on ubi-minimal - which doesn't have jq, grep or even sed - use this script:
VERSION=$(cat package.json | tr -d '\n' | tr -d ' ' | cut -d'"' -f4)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"
node -p -e "require('./package.json').version"