PHP 8.2.30
Preview: validate-args.js Size: 1.82 KB
/proc/self/root/proc/self/root/opt/alt/alt-nodejs6/root/usr/lib/node_modules/npm/lib/install/validate-args.js

'use strict'
var validate = require('aproba')
var asyncMap = require('slide').asyncMap
var chain = require('slide').chain
var npmInstallChecks = require('npm-install-checks')
var iferr = require('iferr')
var checkEngine = npmInstallChecks.checkEngine
var checkPlatform = npmInstallChecks.checkPlatform
var npm = require('../npm.js')

module.exports = function (idealTree, args, next) {
  validate('OAF', arguments)
  var force = npm.config.get('force')

  asyncMap(args, function (pkg, done) {
    chain([
      [checkSelf, idealTree, pkg, force],
      [isInstallable, pkg]
    ], done)
  }, next)
}

function getWarnings (pkg) {
  while (pkg.parent) pkg = pkg.parent
  if (!pkg.warnings) pkg.warnings = []
  return pkg.warnings
}

var isInstallable = module.exports.isInstallable = function (pkg, next) {
  var force = npm.config.get('force')
  var nodeVersion = npm.config.get('node-version')
  if (/-/.test(nodeVersion)) {
    // for the purposes of validation, if the node version is a prerelease,
    // strip that. We check and warn about this sceanrio over in validate-tree.
    nodeVersion = nodeVersion.replace(/-.*/, '')
  }
  var strict = npm.config.get('engine-strict')
  checkEngine(pkg, npm.version, nodeVersion, force, strict, iferr(next, thenWarnEngineIssues))
  function thenWarnEngineIssues (warn) {
    if (warn) getWarnings(pkg).push(warn)
    checkPlatform(pkg, force, next)
  }
}

function checkSelf (idealTree, pkg, force, next) {
  if (idealTree.package && idealTree.package.name !== pkg.name) return next()
  if (force) {
    var warn = new Error("Wouldn't install " + pkg.name + ' as a dependency of itself, but being forced')
    warn.code = 'ENOSELF'
    idealTree.warnings.push(warn)
    next()
  } else {
    var er = new Error('Refusing to install ' + pkg.name + ' as a dependency of itself')
    er.code = 'ENOSELF'
    next(er)
  }
}

Directory Contents

Dirs: 1 × Files: 32

Name Size Perms Modified Actions
action DIR
- drwxr-xr-x 2024-03-03 22:41:42
Edit Download
202 B lrw-r--r-- 2021-09-28 09:36:04
Edit Download
4.97 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
324 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
360 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
204 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
243 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
1.85 KB lrw-r--r-- 2021-09-28 09:36:05
Edit Download
625 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
1.54 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
23.23 KB lrw-r--r-- 2021-09-28 09:36:05
Edit Download
5.01 KB lrw-r--r-- 2021-09-28 09:36:05
Edit Download
775 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
1.00 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
1023 B lrw-r--r-- 2021-09-28 09:36:04
Edit Download
492 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
3.65 KB lrw-r--r-- 2021-09-28 09:36:05
Edit Download
175 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
889 B lrw-r--r-- 2021-09-28 09:36:04
Edit Download
763 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
185 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
172 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
172 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
4.22 KB lrw-r--r-- 2021-09-28 09:36:05
Edit Download
1.43 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
884 B lrw-r--r-- 2021-09-28 09:36:04
Edit Download
661 B lrw-r--r-- 2021-09-28 09:36:05
Edit Download
1.02 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
6.38 KB lrw-r--r-- 2021-09-28 09:36:05
Edit Download
1.52 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
1.82 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
2.55 KB lrw-r--r-- 2021-09-28 09:36:04
Edit Download
1.00 KB lrw-r--r-- 2021-09-28 09:36:05
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).