aboutsummaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/lib/install/has-modern-meta.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/lib/install/has-modern-meta.js')
-rw-r--r--deps/node/deps/npm/lib/install/has-modern-meta.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/deps/node/deps/npm/lib/install/has-modern-meta.js b/deps/node/deps/npm/lib/install/has-modern-meta.js
new file mode 100644
index 00000000..bf801d0d
--- /dev/null
+++ b/deps/node/deps/npm/lib/install/has-modern-meta.js
@@ -0,0 +1,20 @@
+'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')
+}