normalize-walker

Walk down dependencies of JS, CSS, HTML, etc. and create a tree.

File Dependency Walker

var Walker = require('normalize-walker');

Creates a new Walker instance.

Add an entry point to the walker. entrypoint should be an absolute URI. The walker will walk down every entry point.

var walker = Walker(options)
  .add(__dirname + '/index.js')
  .add(__dirname + '/index.css')
  .add(__dirname + '/index.html')

Middleware are Koa-style generator functions.

Return the tree. Returns an object hashed by each entry point.

var tree = yield* walker.tree();
 
tree[__dirname + '/index.js'];
tree[__dirname + '/index.css'];
tree[__dirname + '/index.html'];

This can and should be used multiple times to create fresh trees with caching:

var tree;
tree = yield* walker.tree();
yield function (done) {
  setTimeout(done, 1000);
}
// will be fast as files are cached 
tree = yield* walker.tree();