Package Exports
- dependo
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dependo) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
dependo
Visualize your CommonJS or AMD module dependencies in a force directed graph report - powered by D3.js.
Introduction
You can read the full introduction to the project in my blog post.
Features
- Draw a graph of nodes, where each module is represented as a node.
- Google Maps's like zooming, dragging and panning.
- Connect nodes with it's dependencies via lines.
- Hovering a node will highlight it's direct dependencies.
- It's possible to drag a node to a specific position, to re-layout the graph.
Example
The best way to show something is by example, so here I generated a dependencygraph of the offical RequireJS multipage-example
See the example here: http://auchenberg.github.com/dependo/example
Installation
To install as a library:
$ npm install dependo
To install the command-line tool:
$ sudo npm -g install dependo
API
var Dependo = require('dependo');
// Fire up an dependo instance
var dependo = new Dependo(src, {
format: 'amd',
exclude: '^node_modules'
});
dependo.generateHtml();
...
CLI
Usage: dependo [options] <file|dir ...>
Options:
-h, --help output usage information
-V, --version output the version number
-f, --format <name> format to parse (amd/cjs)
-x, --exclude <regex> a regular expression for excluding modules
Examples
Generate HTML report of all module dependencies (AMD), and save it to /example/report.html
$ dependo -f amd /path/src > example/report.html
Roadmap
dependo is still very much in progress, so here is the todo-list:
- Proper label positioning: Avoid label collisions and make the graph more readable.
- Testing! Unit tests of D3 render logic, and the grunt-task itself
Thanks to
This project would'nt have been possible without the great work on node-madge by Patrik Henningson, or wonderful D3.js library.