Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    npm-pkginfopublic

    npm-pkginfo

    Lightweight version of npm-registry-client.get() that supports custom cache stores.

    Motivation

    I wrote this module because npm-registry-client was missing some features and had others which I didn't need:

    • it didn't allow custom cache stores
    • event though it could load the package info from the cache it did a background update after that

    Usage

    var Client = require('npm-pkginfo'),
        client;
     
    // note: the memory store is only for testing / examples
    // in production you should either use the fsStore (see commented lines below)
    // or another custom store
    client = new Client({
      cacheStore: new Client.stores.memory()
    });
     
    // Uncomment below to use the fs cache store
    // client = new Client({
    //   cacheDir: __dirname + '/cache'
    // });
     
    // fetch the request module from NPM
    client.get('request', function(err, info) {
      if (err) { throw err; }
     
      console.log('Request versions: ', Object.keys(info.versions).join(''));
      console.log('---');
     
      // this time it will load the info from the cache, without making any requests to NPM
      client.get('request', { staleOk: true }, function(err, info) {
        if (err) { throw err; }
     
        console.log('Request versions: ', Object.keys(info.versions).join(''));
      });
    });

    For advanced usage, read the tests.

    LICENSE

    MIT

    Keywords

    none

    install

    npm i npm-pkginfo

    Downloadsweekly downloads

    7

    version

    0.0.3

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar