1
0
Fork 0
mirror of https://github.com/shimataro/ssh-key-action.git synced 2025-06-19 22:52:10 +10:00
ssh-key-action/node_modules/pacote/packument.js
2019-09-18 20:39:54 +09:00

29 lines
822 B
JavaScript

'use strict'
const fetchPackument = require('./lib/fetch').packument
const optCheck = require('./lib/util/opt-check')
const pinflight = require('promise-inflight')
const npa = require('npm-package-arg')
module.exports = packument
function packument (spec, opts) {
opts = optCheck(opts)
spec = npa(spec, opts.where)
const label = [
spec.name,
spec.saveSpec || spec.fetchSpec,
spec.type,
opts.cache,
opts.registry,
opts.scope
].join(':')
const startTime = Date.now()
return pinflight(label, () => {
return fetchPackument(spec, opts)
}).then(p => {
const elapsedTime = Date.now() - startTime
opts.log.silly('pacote', `${spec.registry ? 'registry' : spec.type} packument for ${spec.name}@${spec.saveSpec || spec.fetchSpec} fetched in ${elapsedTime}ms`)
return p
})
}