next() Packaged Middleware

    @springernature/util-package-finder

    0.4.2 • Public • Published

    Package Finder

    NPM version Node version MIT License

    Get a list of packages and available versions from within an NPM scope. Returns the following information about a package:

    • name the package name on NPM
    • latest the latest version of the package
    • versions array of all versions of the package (optional)
    • status the status based on the latest version (see below)
    • description the package description
    • npm a link to the package on NPM
    • date ISO 8601/W3C Datetime when last published

    Status

    The status of a package is evaluated by checking the latest version and assigning one of the following:

    Status Rule
    production >= 1.0.0
    development >= 0.1.0, < 1.0.0
    experimental >= 0.0.1, < 0.1.0

    Install

    $ npm install @springernature/util-package-finder
    

    Installing util-package-finder adds command line exectuables to ./node_modules/.bin/.

    API

    const packageFinder = require('@springernature/util-package-finder');

    packageFinder({options})

    Return: Promise<array>
    It resolves with an array of objects, with each object detailing a package within the scope

    options

    scope

    Type: String
    Default: springernature
    The scope to search within

    filters

    Type: Array
    An array of strings that represent package prefixes used within the springernature toolkits

    versions

    Type: Boolean
    Default: false
    Get a list of all available versions

    Examples

    const packageFinder = require('util-package-finder');
    
    packageFinder()
      .then(response => {
        console.log(response);
      }).catch(err => {
        console.error(err);
      });
    
    /*
    [{ name: '@springernature/a-package',
      latest: '0.1.2',
      versions: null,
      status: 'development',
      description: 'a package',
      npm: 'https://www.npmjs.com/package/%40springernature%2Fa-package',
      date: '2019-03-08T11:55:38.384Z' },
    { name: '@springernature/b-package',
      latest: '2.0.0',
      versions: null,
      status: 'production',
      description: 'another package',
      npm: 'https://www.npmjs.com/package/%40springernature%2Fb-package',
      date: '2019-03-08T11:55:38.384Z'  }]
    */
    
    packageFinder({
      filters: ['a']
    })
      .then(response => {
        console.log(response);
      }).catch(err => {
        console.error(err);
      });
    
    /*
    [{ name: '@springernature/a-package',
      latest: '0.1.2',
      versions: null,
      status: 'development',
      description: 'a package',
      npm: 'https://www.npmjs.com/package/%40springernature%2Fa-package',
      date: '2019-03-08T11:55:38.384Z'  }]
    */
    
    packageFinder({
      scope: 'acme'
    })
      .then(response => {
        console.log(response);
      }).catch(err => {
        console.error(err);
      });
    
    /*
    [{ name: '@acme/a-package',
      latest: '0.1.2',
      versions: null,
      status: 'development',
      description: 'a package',
      npm: 'https://www.npmjs.com/package/%40acme%2Fa-package',
      date: '2019-03-08T11:55:38.384Z'  }]
    */
    
    packageFinder({
      versions: true,
      filters: ['a']
    })
      .then(response => {
        console.log(response);
      }).catch(err => {
        console.error(err);
      });
    
    /*
    [{ name: '@springernature/a-package',
      latest: '0.1.2',
      versions: ['0.1.0', '0.1.2'],
      status: 'development',
      description: 'a package',
      npm: 'https://www.npmjs.com/package/%40springernature%2Fa-package',
      date: '2019-03-08T11:55:38.384Z'  }]
    */

    CLI

    The package finder also comes with a command line option:

    $ ./node_modules/.bin/util-package-finder
    

    Command line arguments

    $ util-package-finder --help
    
      Usage
        util-package-finder [options]
    
      Options
        --json, -j          Return results as JSON
        --scope, -s         Set the scope (default: springernature)
        --all, -a           Get all available versions
        --filters, -f       Comma seperated list of name filters
    
      Examples
        util-package-finder
        util-package-finder -j
        util-package-finder -s springernature
        util-package-finder -a
        util-package-finder -f global,local
        util-package-finder -j -a -f global,local
    

    License

    MIT License © 2018, Springer Nature

    Install

    npm i @springernature/util-package-finder

    DownloadsWeekly Downloads

    19

    Version

    0.4.2

    License

    MIT

    Unpacked Size

    24.4 kB

    Total Files

    10

    Last publish

    Collaborators

    • roshandeorukhkar-sn
    • benjclark
    • sonniesedge
    • rlau
    • dotcode
    • joseluisbolos
    • hollsk
    • moddular
    • jpw
    • nickcall
    • howlingmad
    • sndigital
    • davidpauljunior
    • morgaan