shields-badge-url-npm-downloads
v1.0.0
Published
Creates Shields.io badge URLs for a package's NPM downloads.
Downloads
7
Maintainers
Readme
NPM Downloads Badge URLs
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
Copyright
Copyright © 2016. Athan Reines.