tra-analysis/website/node_modules/npm/lib/install/has-modern-meta.js
2019-01-06 13:14:45 -06:00

21 lines
702 B
JavaScript

'use strict'
module.exports = hasModernMeta
const npa = require('npm-package-arg')
const moduleName = require('../utils/module-name.js')
function isLink (child) {
return child.isLink || (child.parent && isLink(child.parent))
}
function hasModernMeta (child) {
if (!child) return false
const resolved = child.package._resolved && npa.resolve(moduleName(child), child.package._resolved)
const version = npa.resolve(moduleName(child), child.package.version)
return child.isTop ||
isLink(child) ||
child.fromBundle || child.package._inBundle ||
child.package._integrity || child.package._shasum ||
(resolved && resolved.type === 'git') || (version && version.type === 'git')
}