mirror of
				https://kkgithub.com/actions/setup-node.git
				synced 2025-11-04 12:46:16 +08:00 
			
		
		
		
	Add auth support (#21)
* Updates * Update * Update * Update * Update * Yarn sometimes prefers npmrc, so use same token * Description * Update readme * Feedback * Add type * new toolkit and scoped registries * npmrc in RUNNER_TEMP * Dont always auth * Try exporting blank token * Get auth working for now pending runner changes * Fix string interpolation for auth token. * Don't export both userconfigs * Update authutil.js * Add single quotes for authString * Fix the registry string. * Use userconfig and append trailing slash * Keep in root of repo * Try just adding auth token * Remove auth token * Try changes again * Add tests * Npm and GPR samples * Add types
This commit is contained in:
		
							
								
								
									
										135
									
								
								node_modules/which/which.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								node_modules/which/which.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,135 @@
 | 
			
		||||
module.exports = which
 | 
			
		||||
which.sync = whichSync
 | 
			
		||||
 | 
			
		||||
var isWindows = process.platform === 'win32' ||
 | 
			
		||||
    process.env.OSTYPE === 'cygwin' ||
 | 
			
		||||
    process.env.OSTYPE === 'msys'
 | 
			
		||||
 | 
			
		||||
var path = require('path')
 | 
			
		||||
var COLON = isWindows ? ';' : ':'
 | 
			
		||||
var isexe = require('isexe')
 | 
			
		||||
 | 
			
		||||
function getNotFoundError (cmd) {
 | 
			
		||||
  var er = new Error('not found: ' + cmd)
 | 
			
		||||
  er.code = 'ENOENT'
 | 
			
		||||
 | 
			
		||||
  return er
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getPathInfo (cmd, opt) {
 | 
			
		||||
  var colon = opt.colon || COLON
 | 
			
		||||
  var pathEnv = opt.path || process.env.PATH || ''
 | 
			
		||||
  var pathExt = ['']
 | 
			
		||||
 | 
			
		||||
  pathEnv = pathEnv.split(colon)
 | 
			
		||||
 | 
			
		||||
  var pathExtExe = ''
 | 
			
		||||
  if (isWindows) {
 | 
			
		||||
    pathEnv.unshift(process.cwd())
 | 
			
		||||
    pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM')
 | 
			
		||||
    pathExt = pathExtExe.split(colon)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Always test the cmd itself first.  isexe will check to make sure
 | 
			
		||||
    // it's found in the pathExt set.
 | 
			
		||||
    if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')
 | 
			
		||||
      pathExt.unshift('')
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // If it has a slash, then we don't bother searching the pathenv.
 | 
			
		||||
  // just check the file itself, and that's it.
 | 
			
		||||
  if (cmd.match(/\//) || isWindows && cmd.match(/\\/))
 | 
			
		||||
    pathEnv = ['']
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    env: pathEnv,
 | 
			
		||||
    ext: pathExt,
 | 
			
		||||
    extExe: pathExtExe
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function which (cmd, opt, cb) {
 | 
			
		||||
  if (typeof opt === 'function') {
 | 
			
		||||
    cb = opt
 | 
			
		||||
    opt = {}
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var info = getPathInfo(cmd, opt)
 | 
			
		||||
  var pathEnv = info.env
 | 
			
		||||
  var pathExt = info.ext
 | 
			
		||||
  var pathExtExe = info.extExe
 | 
			
		||||
  var found = []
 | 
			
		||||
 | 
			
		||||
  ;(function F (i, l) {
 | 
			
		||||
    if (i === l) {
 | 
			
		||||
      if (opt.all && found.length)
 | 
			
		||||
        return cb(null, found)
 | 
			
		||||
      else
 | 
			
		||||
        return cb(getNotFoundError(cmd))
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var pathPart = pathEnv[i]
 | 
			
		||||
    if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"')
 | 
			
		||||
      pathPart = pathPart.slice(1, -1)
 | 
			
		||||
 | 
			
		||||
    var p = path.join(pathPart, cmd)
 | 
			
		||||
    if (!pathPart && (/^\.[\\\/]/).test(cmd)) {
 | 
			
		||||
      p = cmd.slice(0, 2) + p
 | 
			
		||||
    }
 | 
			
		||||
    ;(function E (ii, ll) {
 | 
			
		||||
      if (ii === ll) return F(i + 1, l)
 | 
			
		||||
      var ext = pathExt[ii]
 | 
			
		||||
      isexe(p + ext, { pathExt: pathExtExe }, function (er, is) {
 | 
			
		||||
        if (!er && is) {
 | 
			
		||||
          if (opt.all)
 | 
			
		||||
            found.push(p + ext)
 | 
			
		||||
          else
 | 
			
		||||
            return cb(null, p + ext)
 | 
			
		||||
        }
 | 
			
		||||
        return E(ii + 1, ll)
 | 
			
		||||
      })
 | 
			
		||||
    })(0, pathExt.length)
 | 
			
		||||
  })(0, pathEnv.length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function whichSync (cmd, opt) {
 | 
			
		||||
  opt = opt || {}
 | 
			
		||||
 | 
			
		||||
  var info = getPathInfo(cmd, opt)
 | 
			
		||||
  var pathEnv = info.env
 | 
			
		||||
  var pathExt = info.ext
 | 
			
		||||
  var pathExtExe = info.extExe
 | 
			
		||||
  var found = []
 | 
			
		||||
 | 
			
		||||
  for (var i = 0, l = pathEnv.length; i < l; i ++) {
 | 
			
		||||
    var pathPart = pathEnv[i]
 | 
			
		||||
    if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"')
 | 
			
		||||
      pathPart = pathPart.slice(1, -1)
 | 
			
		||||
 | 
			
		||||
    var p = path.join(pathPart, cmd)
 | 
			
		||||
    if (!pathPart && /^\.[\\\/]/.test(cmd)) {
 | 
			
		||||
      p = cmd.slice(0, 2) + p
 | 
			
		||||
    }
 | 
			
		||||
    for (var j = 0, ll = pathExt.length; j < ll; j ++) {
 | 
			
		||||
      var cur = p + pathExt[j]
 | 
			
		||||
      var is
 | 
			
		||||
      try {
 | 
			
		||||
        is = isexe.sync(cur, { pathExt: pathExtExe })
 | 
			
		||||
        if (is) {
 | 
			
		||||
          if (opt.all)
 | 
			
		||||
            found.push(cur)
 | 
			
		||||
          else
 | 
			
		||||
            return cur
 | 
			
		||||
        }
 | 
			
		||||
      } catch (ex) {}
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (opt.all && found.length)
 | 
			
		||||
    return found
 | 
			
		||||
 | 
			
		||||
  if (opt.nothrow)
 | 
			
		||||
    return null
 | 
			
		||||
 | 
			
		||||
  throw getNotFoundError(cmd)
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user