🎉

package.jsonの依存パッケージ名をjqコマンドで列挙する方法 及びその応用

2021/05/06に公開

package.jsonをJSONとしてjqに渡し、dependenciesまたはdevDependenciesのキーを引っ張り出してくることで実現できる。

example
cat package.json | jq '.dependencies | keys'
cat package.json | jq '.devDependencies | keys'

ダブルクォーテーションが邪魔な場合は-rオプション。

example
cat package.json | jq -r '.dependencies | keys'

各パッケージ名を一つの文字列にしたい場合は、joinすればいい。

example
cat package.json | jq -r '.dependencies | keys | join(" ")'

依存パッケージのアップデートを力業でやりたい時に便利。

example
#bash
eval $(echo yarn add -D (cat package.json | jq -r '.devDependencies | keys | join(" ")'))

#fish
eval (echo yarn add -D (cat package.json | jq -r '.devDependencies | keys | join(" ")'))

Discussion