Kevin Smith (2014-06-09T15:52:48.000Z)
forbes at lindesay.co.uk (2014-06-10T11:55:15.587Z)
"esparse" used to have a module which exported a huge list of things, and for the same reason I believe. Basically there's an "AST" module which exports a huge list of AST node-type classes. That module is then exported to the public interface. https://github.com/zenparsing/esparse/blob/53566066a9d1780bb27f73d208160595e2e0bb47/src/AST.js I moved away from this approach only for performance reasons (basically to avoid inheritance) because I'm optimizing hot, transpiled ES6 -to-ES5 code. Were it not for the (somewhat ugly) performance optimization, I would have left the multi-export design.