-
-
Save dezren39/d71e381a3c70ce8463a9471cd2983617 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
# these can all be npm scripts, but anything can be an npm script | |
# a | |
echo $(cat ./package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]') | |
# b | |
echo $(cat ./package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed -E 's/(version)|[:,\",]//g' | tr -d '[[:space:]]') | |
# c | |
echo $(node --eval="process.stdout.write(require('./package.json').version)") | |
# d | |
node -pe "require('./package.json').version" | |
# e | |
jq -r .version ./package.json | |
# f | |
npm run version --silent # add version run-script to scripts: ' "version": "echo $npm_package_version" ' # also could access $npm_package_version any other way | |
# g not clean | |
npm version | |
# if published package, to check published package | |
# h | |
npm view . version | |
# i | |
npm show . version | |
# j | |
awk -F\" '/"version":/ {print $4}' package.json | |
# k | |
npx -c 'echo "$npm_package_version"' | |
# l | |
perl -ne 'print "$1\n" if /"version":\s*"(.*?)"/' package.json | |
# m | |
awk '/version/{gsub(/("|",)/,"",$2);print $2}' package.json | |
# n | |
sed -nr 's/^\s*\"version": "([0-9]{1,}\.[0-9]{1,}.*)",$/\1/p' package.json | |
#--- | |
# npm package example, others exist | |
npm i -g json | |
# o (requires "npm i -g json") | |
json version -a < package.json | |
# p (requires "npm i -g json") | |
json dependencies -a < package.json | grep : | sed 's/^ *//;s/"//g;s/: /@/;s/,$//' | |
# q (requires "npm i -g json") | |
json dependencies -a < package.json | grep : | sed 's/[",]//g;s/: /@/;s/,$//' | |
# r (requires "npm i -g json") | |
json devDependencies -a < package.json | grep : | sed 's/^ *//;s/"//g;s/: /@/;s/,$//' | |
# s (requires "npm i -g json") | |
json devDependencies -a < package.json | grep : | sed 's/[",]//g;s/: /@/;s/,$//' | |
#--- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
installing json as a devdependency worked best for me in the most circumstance and disk space is cheap