node/deps/npm/lib/install/is-extraneous.js
Rebecca Turner 41923c0c07 deps: upgrade npm to 3.3.6
PR-URL: https://github.com/nodejs/node/pull/3310
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-10-22 13:56:09 -04:00

15 lines
637 B
JavaScript

'use strict'
var path = require('path')
var isDev = require('./is-dev.js').isDev
var npm = require('../npm.js')
module.exports = function (tree) {
var pkg = tree.package
var requiredBy = pkg._requiredBy.filter(function (req) { return req[0] !== '#' })
var isTopLevel = tree.parent == null
var isChildOfTop = !isTopLevel && tree.parent.parent == null
var isTopGlobal = isChildOfTop && tree.parent.path === path.resolve(npm.globalDir, '..')
var topHasNoPackageJson = isChildOfTop && tree.parent.error
return !isTopLevel && (!isChildOfTop || !topHasNoPackageJson) && !isTopGlobal && requiredBy.length === 0 && !isDev(tree)
}