Usage
3 JavaScript files with dependencies:
src/main.js
;
lib/A.js
;
lib/B.js
console;
lib/C.js
console;
The code to resolve the dependencies:
var DepWalker = ; // use main.js as entry point,// 2 source directories,// and 'depends' as the dependency statement.var walker = main: 'main.js' directories: 'src' 'lib' statement: 'depends'; // return the sorted dependencies of main.js:// lib/B.js, lib/A.js, src/main.jsconsole;
Dependency with an entry point
Note that lib/C.js
is not in the list. It is because from the entry point main.js
, the dependency graph of main.js
, A.js
and B.js
, does not contains C.js
.
This is useful when you building a final application, non-related files are removed to save space.
Dependency without an entry point
If NO entry point is supplied, lib/C.js
will be included in the sorted list. Since it will retrieve and sort all the files in src
and lib
. The isolated files will be also included.
This is typically useful when building a library. So every files in the library could be used by other application.
Options
directory
The directories to be searched for.
pattern
A pattern matching string, using glob. Default to: **/*.js
, all JavaScript files.
main
The entry point for calculating dependency graph. Differences between with and without supplying entry point is listed above.
statement
The dependency statement. By default is require
. Dependency walker will extract this statement and its parameters in order to find out the file's dependencies.