gh-repo-dependencies v1.0.2
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 --saveExample
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.jsonref(String) the commit hash or branch name to fetch thepackage.jsoncontent 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.
