@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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.4.2
    18
    • latest

Version History

Package Sidebar

Install

npm i @springernature/util-package-finder

Weekly Downloads

18

Version

0.4.2

License

MIT

Unpacked Size

24.4 kB

Total Files

10

Last publish

Collaborators

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