I don't know if this is the kind of thing that most JS folks will go for, but I've found it useful in both node.js work and on the client-side:

http://github.com/spencertipping/caterwaul

Feedback totally welcome.