npm-list-author-packages

List an author's packages.

Usage no npm install needed!

<script type="module">
  import npmListAuthorPackages from 'https://cdn.skypack.dev/npm-list-author-packages';
</script>

README

Author Packages

NPM version Build Status Coverage Status Dependencies

List an author's packages.

Installation

$ npm install npm-list-author-packages

Usage

var ls = require( 'npm-list-author-packages' );

ls( options, clbk )

List an author's packages.

ls( {'username': '<username>'}, clbk );

function clbk( error, list ) {
    if ( error ) {
        throw error;
    }
    console.log( list );
    // returns ['<pkg1>','<pkg2>',...]
}

The function accepts the following options:

  • username: author username (required).
  • registry: registry. Default: 'registry.npmjs.org'.
  • port: registry port. Default: 443 (HTTPS) or 80 (HTTP).
  • protocol: registry protocol. Default: 'https'.

To query an alternative registry, set the relevant options.

var opts = {
    'username': '<username>',
    'registry': 'my.favorite.npm/registry',
    'port': 8080,
    'protocol': 'http'
};

ls( opts, clbk );

ls.factory( options, clbk )

Creates a reusable function.

var get = ls.factory( {'username': '<username>'}, clbk );

get();
get();
get();
// ...

The factory method accepts the same options as ls().

Notes

  • When querying the main registry, the function only returns non-scoped public packages (see NPM issue #8244).

Examples

var ls = require( 'npm-list-author-packages' );

var opts = {
    'username': 'kgryte'
};

ls( opts, clbk );

function clbk( error, list ) {
    if ( error ) {
        throw error;
    }
    console.log( list );
    // returns ['<pkg1>','<pkg2>',...]
}

To run the example code from the top-level application directory,

$ DEBUG=* node ./examples/index.js

CLI

Installation

To use the module as a general utility, install the module globally

$ npm install -g npm-list-author-packages

Usage

Usage: listpkgs [options] user

Options:

  -h,  --help                Print this message.
  -V,  --version             Print the package version.
  -p,  --port port           Registry port. Default: 443 (HTTPS) or 80 (HTTP).
       --registry registry   Registry. Default: 'registry.npmjs.org'.
       --protocol protocol   Registry protocol. Default: 'http'.

Notes

  • The package list is written to stdout as a newline-delimited string.

Examples

$ DEBUG=* listpkgs kgryte
# app-boot
# app-etc
# app-etc-config
# ...

Tests

Unit

This repository uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

Browser Support

This repository uses Testling for browser testing. To run the tests in a (headless) local web browser, execute the following command in the top-level application directory:

$ make test-browsers

To view the tests in a local web browser,

$ make view-browser-tests

License

MIT license.

Copyright

Copyright © 2015. Athan Reines.