mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2024-12-30 18:59:10 +00:00
21 lines
702 B
JavaScript
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')
|
||
|
}
|