A simple JS DOM.
Importantly, simple-dom implements a very, very small subset of the WHATWG DOM specification, optimized for performance, and for the requirements of the CanJS view layer. For example, it does not implement any part of the DOM that would require the use of accessors; it's just an attempt to faithfully represent the DOM as a data structure, not its complete API surface. (If you need the whole enchilada, check out something like jsdom, which is much more complete.)
npm install simple-dom