mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
* first action! (#1)
This commit is contained in:
parent
8deacc95b1
commit
ace1e6a69a
3750 changed files with 1155519 additions and 0 deletions
57
node_modules/npm-registry-fetch/auth.js
generated
vendored
Normal file
57
node_modules/npm-registry-fetch/auth.js
generated
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
'use strict'
|
||||
|
||||
const config = require('./config.js')
|
||||
const url = require('url')
|
||||
|
||||
module.exports = getAuth
|
||||
function getAuth (registry, opts) {
|
||||
if (!registry) { throw new Error('registry is required') }
|
||||
opts = config(opts)
|
||||
let AUTH = {}
|
||||
const regKey = registry && registryKey(registry)
|
||||
if (opts.forceAuth) {
|
||||
opts = opts.forceAuth
|
||||
}
|
||||
const doKey = (key, alias) => addKey(opts, AUTH, regKey, key, alias)
|
||||
doKey('token')
|
||||
doKey('_authToken', 'token')
|
||||
doKey('username')
|
||||
doKey('password')
|
||||
doKey('_password', 'password')
|
||||
doKey('email')
|
||||
doKey('_auth')
|
||||
doKey('otp')
|
||||
doKey('always-auth', 'alwaysAuth')
|
||||
if (AUTH.password) {
|
||||
AUTH.password = Buffer.from(AUTH.password, 'base64').toString('utf8')
|
||||
}
|
||||
if (AUTH._auth && !(AUTH.username && AUTH.password)) {
|
||||
let auth = Buffer.from(AUTH._auth, 'base64').toString()
|
||||
auth = auth.split(':')
|
||||
AUTH.username = auth.shift()
|
||||
AUTH.password = auth.join(':')
|
||||
}
|
||||
AUTH.alwaysAuth = AUTH.alwaysAuth === 'false' ? false : !!AUTH.alwaysAuth
|
||||
return AUTH
|
||||
}
|
||||
|
||||
function addKey (opts, obj, scope, key, objKey) {
|
||||
if (opts[key]) {
|
||||
obj[objKey || key] = opts[key]
|
||||
}
|
||||
if (scope && opts[`${scope}:${key}`]) {
|
||||
obj[objKey || key] = opts[`${scope}:${key}`]
|
||||
}
|
||||
}
|
||||
|
||||
// Called a nerf dart in the main codebase. Used as a "safe"
|
||||
// key when fetching registry info from config.
|
||||
function registryKey (registry) {
|
||||
const parsed = url.parse(registry)
|
||||
const formatted = url.format({
|
||||
host: parsed.host,
|
||||
pathname: parsed.pathname,
|
||||
slashes: parsed.slashes
|
||||
})
|
||||
return url.resolve(formatted, '.')
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue