npm-api

Node.js library for getting info from NPM’s API
Please consider following this project's author, Brian Woodward, and consider starring the project to show your :heart: and support.
Install
Install with npm:
$ npm install --save npm-api
Usage
var NpmApi = require('npm-api');
API
NpmApi
NpmApi constructor. Create an instance to work with maintainer and repository information.
Example
let npm = new NpmApi();
.view
Create a new instance of View
or get an existing instance to work with npm couchdb views.
Params
name
{String}: Name of the couchdb view to work with.returns
{Object}View
: instance
Example
var view = npm.view('byUser');
.list
Create a new instance of List
or get an existing instance to work with npm couchdb list.
Params
name
{String}: Name of the couchdb list to work with.view
{String|Object}: Name or instance of aview
to work with.returns
{Object}List
: instance
Example
var list = npm.list('sortCount', 'byUser');
.repo
Create an instance of a repo
to work with.
Params
name
{String}: Name of the repo as it's published to npm.returns
{Object}: Instance of aRepo
model to work with.
Example
var repo = npm.repo('micromatch');
.maintainer
Create an instance of a maintainer
to work with.
Params
name
{String}: Npm username of the maintainer.returns
{Object}: Instance of aMaintainer
model to work with.
Example
var maintainer = npm.maintainer('doowb');
Models
BaseModel
Base model to include common plugins.
Params
store
{Object}: Cache store instance to use.
Maintainer
Maintainer constructor. Create an instance of an npm maintainer by maintainer name.
Params
name
{String}: Name of the npm maintainer to get information about.
Example
const maintainer = new Maintainer('doowb');
.repos
Get the repositories owned by this maintainer.
returns
{Promise}: Returns array of repository names when promise resolves.
Example
maintainer.repos()
.then(function(repos) {
console.log(repos);
}, function(err) {
console.error(err);
});
Repo
Repo constructor. Create an instance of an npm repo by repo name.
Params
name
{String}: Name of the npm repo to get information about.
Example
const repo = new Repo('micromatch');
.package
Get the repo's published package.json.
returns
{Promise}: Returns the package.json object when promise resolves.
Example
repo.package()
.then(function(pkg) {
console.log(pkg);
}, function(err) {
console.error(err);
});
.version
Get the repo's published package.json value for the specified version.
Params
version
{String}: Specific version to retrieve.returns
{Promise}: Returns the package.json object for the specified version when promise resolves.
Example
repo.version('0.2.0')
.then(function(pkg) {
console.log(pkg);
}, function(err) {
console.error(err);
});
.dependencies
Get the repo's dependencies for the specified version.
Params
version
{String}: Specific version to retrieve. Defaults tolatest
.returns
{Promise}: Returns the dependencies object for the specified version when promise resolves.
Example
repo.dependencies()
.then(function(dependencies) {
console.log(dependencies);
}, function(err) {
console.error(err);
});
.devDependencies
Get the repo's devDependencies for the specified version.
Params
version
{String}: Specific version to retrieve. Defaults tolatest
.returns
{Promise}: Returns the devDependencies object for the specified version when promise resolves.
Example
repo.devDependencies()
.then(function(devDependencies) {
console.log(devDependencies);
}, function(err) {
console.error(err);
});
.prop
Get the specified property from the repo's package.json for the specified version.
Params
prop
{String}: Name of the property to get.version
{String}: Specific version to retrieve. Defaults tolatest
.returns
{Promise}: Returns the property for the specified version when promise resolves.
Example
repo.prop('author')
.then(function(author) {
console.log(author);
}, function(err) {
console.error(err);
});
Registry queries
View
View constructor. Create an instance of a view associated with a couchdb view in the npm registry.
Params
name
{String}: Name of couchdb view to use.returns
{Object}: instance ofView
Example
const view = new View('dependedUpon');
.query
Query the couchdb view with the provided parameters.
Params
params
{Object}: URL query parameters to pass along to the couchdb view.returns
{Promise}: Results of the query when promise is resolved.
Example
let results = await view.query({
group_level: 2,
startkey: JSON.stringify(['micromatch']),
endkey: JSON.stringify(['micromatch', {}])
});
.stream
Query the couchdb view with the provided parameters and return a stream of results.
Params
params
{Object}: URL query parameters to pass along to the couchdb view.returns
{Stream}: Streaming results of the query.
Example
view.stream({
group_level: 2,
startkey: JSON.stringify(['micromatch']),
endkey: JSON.stringify(['micromatch', {}])
})
.on('data', (data) => {
console.log(data);
});
.url
Build a formatted url with the provided parameters.
Params
query
{Object}: URL query parameters.returns
{String}: formatted url string
List
List constructor. Create an instance of a list associated with a couchdb list in the npm registry.
Params
name
{String}: Name of couchdb list to use.view
{Object}: Instance of a View to use with the list.returns
{Object}: instance ofList
Example
let list = new List('dependedUpon', view);
.query
Query the couchdb list with the provided parameters.
Params
params
{Object}: URL query parameters to pass along to the couchdb list.returns
{Promise}: Results of the query when promise is resolved.
Example
let results = await list.query({ key: JSON.stringify(['micromatch']) })
.url
Build a formatted url with the provided parameters.
Params
query
{Object}: URL query parameters.returns
{String}: formatted url string
About
sh
$ npm install && npm test
sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Related projects
You might also be interested in these projects:
- base: Framework for rapidly creating high quality, server-side node.js applications, using plugins like building blocks | homepage
- download-stats: Get and calculate npm download stats for npm modules. | homepage
Contributors
Commits | Contributor |
---|---|
115 | doowb |
1 | 0xflotus |
1 | Hypnosphi |
1 | NachmanBerkowitz |
Author
Brian Woodward
License
Copyright © 2021, Brian Woodward. Released under the MIT License.
This file was generated by verb-generate-readme, v0.8.0, on January 20, 2021.