HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/.nvm/versions/node/v12.22.12/lib/node_modules/npm/node_modules/pacote/packument.js
'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
  })
}