Forked from yvele/get-npm-package-version.sh
Last active
January 29, 2025 07:49
-
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.
Extract version from package.json (NPM) using bash / shell
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
# 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 |
If you already have node installed: node -p "require('./package.json').version"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 aliasedv
,show
, andinfo
to it.WARNING:
npm show . version
andnpm show ./ version
are different. The.
seems to pull from the published repository info (in cache?), where as the./
actually reads thepackage.json
in the current directory. The latter is the one we want here (at least the OP). So make sure you usenpm show ./ version
.FWIW, I have added these two to my
~/.bash_profile
:(I always forget how useful
xargs
is, until I run across a case like this where it's helpful)