1.0.0 • Published 8 years ago

shields-badge-url-npm-downloads v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

NPM Downloads Badge URLs

NPM version Build Status Coverage Status Dependencies

Creates Shields.io badge URLs for a package's NPM downloads.

Installation

$ npm install shields-badge-url-npm-downloads

Usage

var urls = require( 'shields-badge-url-npm-downloads' );

urls( opts )

Creates Shields.io badge URLs for a package's NPM downloads.

var opts = {
	'package': 'dstructs-matrix'
};

var out = urls( opts );
/*
	{
		"image": "https://img.shields.io/npm/dm/dstructs-matrix.svg?style=flat",
		"url": "https://npmjs.com/package/dstructs-matrix"
	}
*/ 

The function accepts the following options:

  • package: package name (required).
  • period: observation period. Supported observation periods:
    • monthly, m (default)
    • lifetime
  • style: badge style. Default: flat.
  • format: badge format. Default: svg.

The default observation period is monthly. To create badge URLs for a package's lifetime NPM downloads, set the period option.

var opts = {
	'package': 'dstructs-array',
	'period': 'lifetime'
};

var out = urls( opts );
/*
	{
		"image": "https://img.shields.io/npm/dt/dstructs-array.svg?style=flat",
		"url": "https://npmjs.com/package/dstructs-array"
	}
*/ 

Examples

var list = require( 'npm-list-author-packages' );
var urls = require( 'shields-badge-url-npm-downloads' );

// Generate badge URLs for all of an author's packages...
list( {'username': 'kgryte'}, onList );

function onList( error, list ) {
	var badge;
	var i;
	if ( error ) {
		throw error;
	}
	if ( !list.length ) {
		return;
	}
	for ( i = 0; i < list.length; i++ ) {
		badge = urls({
			'package': list[ i ]
		});
		console.log( badge );
	}
}

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

$ node ./examples/index.js

CLI

Installation

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

$ npm install -g shields-badge-url-npm-downloads

Usage

Usage: shields-npmd (<package> | --package=<name>) [options]

Options:

  -h,  --help                Print this message.
  -V,  --version             Print the package version.
       --package name        Package name.
       --period period       Observation period. Default: 'monthly'.
       --style style         Badge style. Default: 'flat'.
       --format format       Badge format. Default: 'svg'.

Examples

$ shields-npmd dstructs-matrix
# => {"image":"https://img.shields.io/npm/dm/dstructs-matrix.svg?style=flat","url":"https://npmjs.com/package/dstructs-matrix"}

or using options

$ shields-npmd --package=dstructs-matrix
# => {"image":"https://img.shields.io/npm/dm/dstructs-matrix.svg?style=flat","url":"https://npmjs.com/package/dstructs-matrix"}

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 © 2016. Athan Reines.