Skip to content

Repository files navigation

npmgraphbuilder

Builds graph of pub package dependencies from pub.dev. A graph is an instance of ngraph.graph.

Build Status

Demo

This library is not bound to any particular http client. It requires http client to be injected into constructor:

vargraph=require('ngraph.graph')();vargraphBuilder=require('pubgraphbuilder')(httpClient);graphBuilder.createPubDependenciesGraph(pkgName,graph).then(function(graph){console.log('Done.');console.log('Nodes count: ',graph.getNodesCount());console.log('Edges count: ',graph.getLinksCount());}).fail(function(err){console.error('Failed to build graph: ',err);});

Here httpClient is a function (url, data) {}, which returns a promise.

A demo of httpClient, implemented in angular.js:

functionhttpClient(url,data){// since we will be using from a web browser, make sure jsonp is enabled:data.callback='JSON_CALLBACK';return$http.jsonp(url,{params: data});}

A demo of httpClient implemented in node.js:

varq=require('q');// npm install qvarhttp=require('http');// stadard httpvarquerystring=require('querystring');// standard query stringfunctionhttpClient(url,data){vardefer=q.defer();http.get(url+'?'+querystring.stringify(data),function(res){varbody='';res.setEncoding('utf8');res.on('data',function(chunk){body+=chunk;}).on('end',function(){defer.resolve({data: JSON.parse(body)});});});returndefer.promise;}

To see working demo please refer to demo folder.

install

With npm do:

npm install pubgraphbuilder

license

MIT

About

Builds graph of pub packages from pub.dev/api/packages

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages