gh-repo-dependencies
v1.0.2
Published
list dependencies for a npm module from GitHub url
Downloads
6
Maintainers
Readme
gh-repo-dependencies
For a GitHub URL like "Jam3/three-bmfont-text"
, returns a list of npm dependencies from the package.json
and their registry stats.
Install
npm install gh-repo-dependencies --save
Example
var ghRepoDeps = require('gh-repo-dependencies')
ghRepoDeps('Jam3/three-bmfont-text', function (err, deps) {
if (err) throw err
var dependency = deps[0]
console.log(dependency.name + '@' + dependency.verison)
//> "inherits@^2.0.1"
console.log(dependency.stats.description)
//> "Browser-friendly inheritance..."
console.log(dependency.stats.license)
//> "ISC"
})
Usage
ghRepoDeps(url, [opt], [cb])
Fetches repository dependencies from a GitHub url
(see here for valid formats), querying its package.json
file.
Options:
token
(String) optional GitHub API token to use when queryingpackage.json
ref
(String) the commit hash or branch name to fetch thepackage.json
content fromfilter
(Function) optionally filter the dependencies before querying npm registry
For example, filter
could look like this to avoid querying stats of devDependencies.
function filterDeps (package) {
return package.list === 'dependencies'
}
The callback takes the form (err, data)
, where data
is a flat array of dependencies gleaned from dependencies
, devDependencies
, peerDependencies
, optionalDependencies
(in that order) unless otherwise filtered.
Each item has the following data:
{
name: 'inherits', // name as it appears in package.json
version: '^2.0.1', // version range from package.json
list: 'dependencies', // type of dependency
stats: { ... } // registry stats
error: Error // Error object if there was a problem
}
If stats
could not be retrieved for that package, it will be null and error
will be populated with the Error object. Otherwise error
will not be defined.
The stats are fetched using npm-stats.
See Also
License
MIT, see LICENSE.md for details.