summaryrefslogtreecommitdiff
path: root/deps/npm/lib/install/is-dev.js
blob: e0fae4eb82dc419a7ee2b3d143039461887e07ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict'
var moduleName = require('../utils/module-name.js')

function andIsDev (name) {
  return function (req) {
    return req.package &&
      req.package.devDependencies &&
      req.package.devDependencies[name]
  }
}

exports.isDev = function (node) {
  return node.requiredBy.some(andIsDev(moduleName(node)))
}

function andIsOnlyDev (name) {
  var isThisDev = andIsDev(name)
  return function (req) {
    return isThisDev(req) &&
      (!req.package.dependencies || !req.package.dependencies[name])
  }
}

exports.isOnlyDev = function (node) {
  return node.requiredBy.every(andIsOnlyDev(moduleName(node)))
}