packument

Fetch package metadata from the npm registry

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
packument
222.0.010 months ago5 years agoMinified + gzip package size for packument in KB

Readme

packument
Fetch package metadata from the npm registry. Supports scopes and private registries. If you only need the metadata of a specific version, use packument-package.
npm
node Test Standard

example

const packument = require('packument')

packument('levelup', (err, result) => {
  if (err) throw err
  console.log(result.versions['2.0.2'].dependencies)
})

packument(name[, opts], callback)

Callback receives an error if any, a packument and response headers. Options:
  • headers: custom headers (you can override any)
  • keepAlive: shortcut for headers: { connection: 'keep-alive' }
  • full: if true, fetch full metadata rather than an abbreviated document.

packument = packument.factory(opts)

Preconfigure the function. For example, to always fetch full metadata:
const packument = require('packument').factory({ full: true })

packument('levelup', (err, result) => {
  if (err) throw err
  console.log(result._rev)
})

Combine it with an in-memory cache:
const memoize = require('thunky-with-args')
const packument = memoize(require('packument').factory({ full: true }))

packument('levelup', (err, result) => {
  // It will make only one request
})

packument('levelup', (err, result) => {
  // Subsequent calls for the same package are cached
})

Reuse that cache in other modules:
const memoize = require('thunky-with-args')
const packument = memoize(require('packument'))
const getPackage = require('packument-package').factory(packument)

getPackage('levelup', '~2.0.0', function (err, pkg) {
  if (err) throw err
  console.log(pkg.version)
})

install

With npm do:
npm install packument

license

MIT © Vincent Weevers