2.2.0 • Published 8 years ago

npmgraphbuilder v2.2.0

Weekly downloads
853
License
MIT
Repository
github
Last release
8 years ago

npmgraphbuilder

Builds graph of npm dependencies from npm registry. 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:

var graph = require('ngraph.graph')();
var graphBuilder = require('npmgraphbuilder')(httpClient);

graphBuilder.createNpmDependenciesGraph(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:

function httpClient(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:

var q = require('q');       // npm install q
var http = require('http'); // stadard http
var querystring = require('querystring'); // standard query string

function httpClient(url, data) {
  var defer = q.defer();
  http.get(url + '?' + querystring.stringify(data), function (res) {
    var body = '';
    res.setEncoding('utf8');
    res.on('data', function (chunk) {
      body += chunk;
    }).on('end', function () {
      defer.resolve({ data: JSON.parse(body) });
    });
  });

  return defer.promise;
}

To see working demo please refer to demo folder.

install

With npm do:

npm install npmgraphbuilder

license

MIT

2.2.0

8 years ago

2.1.2

10 years ago

2.1.1

10 years ago

2.1.0

10 years ago

2.0.0

10 years ago

1.0.0

10 years ago

0.0.3

12 years ago

0.0.2

12 years ago

0.0.1

12 years ago

0.0.0

12 years ago