normalize-walker

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

Usage no npm install needed!

<script type="module">
  import normalizeWalker from 'https://cdn.skypack.dev/normalize-walker';
</script>

README

File Dependency Walker

NPM version build status Test coverage Gittip

API

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

var walker = Walker()

Creates a new Walker instance.

walker.add(entrypoint)

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')

walker.use(middleware)

Middleware are Koa-style generator functions.

var tree = yield* walker.tree()

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();

walker.plugins

walker.flatten