接続ドメインが制限された環境下で、「接続予定のドメインを教えてくれ」と言われた。
ので、ドメインの一覧が欲しい。
cat package.json | \
jq -r '(.dependencies + .devDependencies) | keys | .[]' | \
xargs -I{} npm view {} dist.tarball
解説
- catコマンドで、依存関係をpackage.jsonから読み出す
- jqコマンドで依存関係部分のみを取得する
-
.フィールド名
フィルタで、当該部分のみ選択する -
keys
フィルタで、ハッシュのキーのみ配列で取得する。(パッケージ名が取れる。) -
.[]
で、配列を分解して出力する -
-r
で、引用符を出力しないようにする
-
- xargsコマンドで、それぞれの要素を1個ずつ処理する
-
-I{}
でplaceholderを明示できる
-
- npm view コマンドで、tarボールのURLを取得する
- npm view helpには、
npm view [パッケージ名] フィールド名.サブフィールド名...
という使い方が書いてある - 例えば、
npm view jquery
を試してみると、付表のような感じになる。 -
dist
,keywords
,maintainers
dist-tag
がフィールド名の様子。 - tarのURLは
dist.tarball
で取れる。
- npm view helpには、
jquery@3.3.1 | MIT | deps: none | versions: 48
JavaScript library for DOM operations
https://jquery.com
keywords: jquery, javascript, browser, library
dist
.tarball https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz
.shasum: 958ce29e81c9790f31be7792df5d4d95fc57fbca
.integrity: sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==
maintainers:
- dmethvin <dave.methvin@gmail.com>
- mgol <m.goleb@gmail.com>
- scott.gonzalez <scott.gonzalez@gmail.com>
- timmywil <4timmywil@gmail.com>
dist-tags:
beta: 3.3.1 latest: 3.3.1
published 5 months ago by timmywil <4timmywil@gmail.com>