直接依存しているパッケージが間接的に依存しているパッケージ数を知りたい。
npm ls
でそういうオプションがありそうだけどないような?
仕方がないのでスクリプト書いた。
const cp = require("child_process"); cp.exec("npm ls", (e, out, err) => { const results = []; out.split("\n").forEach(line => { if (line.charAt(0) === "├" || line.charAt(0) === "└") { const splitted = line.split("@"); splitted.pop(); const name = splitted .join("@") .split(" ") .pop(); const p = [0, name]; results.unshift(p); } else if (results.length) { results[0][0]++; } }); results .sort((a, b) => b[0] - a[0]) .forEach(([count, name]) => console.log(`${count}\t${name}`)); });
15 json-schema-deref-sync 12 better-ajv-errors 11 ts-node 6 chalk 5 ajv 4 axios 2 xregexp 1 @types/chalk 0 typescript 0 openapi3-ts 0 @types/xregexp 0 @types/node
本当はここから気になった箇所を GUI で掘っていけると便利。