npm-registry-rest v0.2.0
npm-registry-rest
NPM Registry RESTful API
Description
Depends on NPM official web service API.
ToC
- Get Started
- API
[Examples](#examples)
- References
- CHANGE LOG
- Homepage
Get Started
const rest = require('npm-registry-rest');
rest.getPackage('htp')
.then(meta => {
// ...
})
.catch(err => {
// ...
});
Each API in this package may be required as standalone module.
const getPackage = require('npm-registry-rest/getPackage');
getPackage('htp')
.then(meta => {
// ...
})
.catch(err => {
// ...
});
API
- Promise(number | Object) getDownloadCount(Object options)
- Promise(Object) getPackage(string name)
- Promise(Object) getPackage.lite(string name)
- Promise(Array) getPackageNames(Object options)
- Promise(number) getStarCount(string packageName)
All methods are asynchronous and will return instances of Promise
. Hereafter, response means what to be obtained in .then((response) => { /* ... */ })
.
All member methods may be required and invoked by itself.
getDownloadCount
To get download count of specified package(s) in given day.
- options.name string
- options.name string[]
- options.range string
- options.suppressNotFoundError boolean DEFAULT false
What returned will be:
- a number if options.name is a string representing a package name.
- an object in form of
{ "<packageName>" : <downloadCount>, ... }
if options.name is an array of string.
If options.suppressNotFoundError set true
, there will be no error thrown if package(s) not found, and the package(s) will be regarded as obtaining zero download.
getPackage
To get meta info of given package.
What returned will look like:
{
name /* string */,
description /* string */,
"dist-tags": {
/* <tagName> : <version>, ... */
},
"versions": {
/* <version> : <versionPackageJson>, ... */
},
readme /* string */,
"maintainers": [
{ email, name } /* , ... */
],
"time": {
modified /* DateTime_in_ISO_format */,
created /* DateTime_in_ISO_format */,
/* <version> : <publishedTime>, ... */
},
homepage /* string(url) */,
keywords /* string[] */,
"repository": {
type /* string */,
url /* string */
},
"author": {
name /* string */,
email /* string(email) */,
url /* string(url) */
},
"bugs": {
url /* string(url) */
},
readmeFilename /* string */,
"users": { /* Object OPTIONAL, users who stared the package */
/* string <username> : boolean true, ... */
}
/* <misc>, ... */
}
<versionPackageJson>
may look like:
{
"bin": {
/* <commandName> : <path>, ... */
},
"dependencies": {
/* <packageName> : <semver>, ... */
},
"devDependencies": {
/* <packageName> : <semver>, ... */
},
"directories": {
/* <directoryTypeName> : <dirName>, ... */
}
"scripts": {
/* <scriptName> : <command>, ... */
}
name /* string */,
version /* string(semver) */,
main /* string(path) */,
keywords /* string[] */,
homepage /* string(url) */,
description /* string */,
"repository": {
type /* string */,
url /* string */
},
"author": {
name /* string */,
email /* string(email) */,
url /* string(url) */
},
"engines": {
/* <engineName> : <semver>, ... */
},
"bugs": {
url /* string(url) */
},
"maintainers": [
{ email, name } /* , ... */
],
/* <misc>, ... */
}
getPackage.lite
To get abbreviated meta info of given package.
getPackgeNames
To get package names by owner, author, etc.
- options.author string OPTINOAL
- options.owner string OPTINOAL
What returned will be an array of package names.
getStarCount
To get number of stars of a specified package.