• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict'
2module.exports = hasModernMeta
3
4const npa = require('npm-package-arg')
5const moduleName = require('../utils/module-name.js')
6
7function isLink (child) {
8  return child.isLink || (child.parent && isLink(child.parent))
9}
10
11function hasModernMeta (child) {
12  if (!child) return false
13  const resolved = child.package._resolved && npa.resolve(moduleName(child), child.package._resolved)
14  const version = npa.resolve(moduleName(child), child.package.version)
15  return child.isTop ||
16    isLink(child) ||
17    child.fromBundle || child.package._inBundle ||
18    child.package._integrity || child.package._shasum ||
19    (resolved && resolved.type === 'git') || (version && version.type === 'git')
20}
21