From 71c9590be61b6a7b7fa8b6dc19baa588cda26a27 Mon Sep 17 00:00:00 2001 From: Mark Reeder Date: Sat, 21 Nov 2015 00:03:15 -0800 Subject: ls: fix depth when outputting JSON Credit: @MarkReeder Reviewed-By: @othiym23 PR-URL: https://github.com/npm/npm/pull/10505 --- lib/ls.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/ls.js') diff --git a/lib/ls.js b/lib/ls.js index 51f0b5155..1c9292082 100644 --- a/lib/ls.js +++ b/lib/ls.js @@ -139,13 +139,14 @@ function isCruft (data) { return data.extraneous && data.error && data.error.code === 'ENOTDIR' } -function getLite (data, noname) { +function getLite (data, noname, depth) { var lite = {} if (isCruft(data)) return lite var maxDepth = npm.config.get('depth') + if (typeof depth === 'undefined') depth = 0 if (!noname && data.name) lite.name = data.name if (data.version) lite.version = data.version if (data.extraneous) { @@ -213,6 +214,9 @@ function getLite (data, noname) { lite.problems.push(pdm) }) return [d, { required: dep, peerMissing: true }] + } else if (npm.config.get('json')) { + if (depth === maxDepth) delete dep.dependencies + return [d, getLite(dep, true, depth + 1)] } return [d, getLite(dep, true)] }).reduce(function (deps, d) { -- cgit v1.2.3