Package Exports
- utils-debug
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 (utils-debug) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
utils-debug 
unobtrusive debug utility
example
'use strict';
var debug = require('utils-debug')(__filename);
debug('hey there');
someMethod();
function someMethod(){
debug('simple and easy debug');
otherMethod();
}
function otherMethod(){
debug('with useful information');
debug('if there is a point to see it')
yetAnother();
}
function yetAnother(){
debug('just like...');
debug('... you had imagined');
}use filenames instead of mnemonics
utils-debug (master) ✔ DEBUG=example node example
at Object.<anonymous> (example.js:5:9)
hey there
at someMethod (example.js:10:11)
simple and easy debug
at otherMethod (example.js:16:11)
with useful information
if there is a point to see it
at yetAnother (example.js:21:11)
just like...
... you had imaginedfilter by function name
utils-debug (master) ✔ DEBUG=*#someMethod#yetAnother node example.js
someMethod (example.js:10:3)
simple and easy debug
yetAnother (example.js:21:3)
just like...
... you had imagineddocumentation
var debug = require('utils-debug')([__filename]);
debug('hey there');Thats basically it. Passing the __filename is optional.
path filter
Use Tab completion.
To enable the debug functions that live in your code use their relative path.
That is, if you project looks like below
project-dir
|-lib
|--> code.js
|-index.jsand want to debug lib/code.js you simply write
DEBUG=lib/code.js node index.jsor
DEBUG=lib/code node index.js So yes, the extension is not necessary.
To debug more than one file separate them with comma like so
DEBUG=lib/code,index node index.jsfunction filter
see how functions flow with no setup
Method names can also be used to enable their output
utils-debug (master) ✔ DEBUG=*#someMethod#yetAnother node example.js
someMethod (example.js:10:3)
simple and easy debug
yetAnother (example.js:21:3)
just like...
... you had imaginedAs you can see above, the wildcard * was used followed of '#
The only difference for this filter is that you have to separate methods with '#' instead of a comma.
wildcards
At the moment the only wildcard is *. This enables debugging for every file if nothing else is specified (see method-filter).
DEBUG=* node index.js There are plans to add glob matching as well.
why
You want expressive, unobtrusive debugging.
todo
- aliasing
- glob matching
- make some tests
- be able to format the output