{"name":"domino","version":"1.0.21","author":{"name":"Felix Gnass","email":"fgnass@gmail.com"},"description":"Server-side DOM implementation based on Mozilla's dom.js","homepage":"https://github.com/fgnass/domino","main":"./lib","repository":{"type":"git","url":"https://github.com/fgnass/domino.git"},"scripts":{"lint":"jshint lib","mocha":"mocha","mocha-spec":"mocha -R spec","test":"npm run lint && npm run mocha","test-spec":"npm run lint && npm run mocha-spec"},"devDependencies":{"jshint":"~2.8.0","mocha":"~2.3.4","should":"~7.1.1"},"readme":"# Server-side DOM implementation based on Mozilla's dom.js\n\n[![Build Status][1]][2] [![dependency status][3]][4] [![dev dependency status][5]][6]\n\nAs the name might suggest, domino's goal is to provide a <b>DOM in No</b>de.\n\nIn contrast to the original [dom.js](https://github.com/andreasgal/dom.js) project, domino was not designed to run untrusted code. Hence it doesn't have to hide its internals behind a proxy facade which makes the code not only simpler, but also [more performant](https://github.com/fgnass/dombench).\n\nDomino currently doesn't use any harmony features like proxies or WeakMaps and therefore also runs in older Node versions.\n\n## Speed over Compliance\n\nDomino is intended for _building_ pages rather than scraping them. Hence Domino doesn't execute scripts nor does it download external resources.\n\nAlso Domino doesn't implement any properties which have been deprecated in HTML5.\n\nDomino sticks to the [DOM level 4](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-attr) working draft, which means that Attributes do not inherit the Node interface. Also [Element.attributes](http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-element-attributes) returns a read-only array instead of a NamedNodeMap.\n\n<b>Note that</b> because domino does not use proxies,\n`Element.attributes` is not a true JavaScript array; it is an object\nwith a `length` property and an `item(n)` accessor method.  See\n[github issue #27](https://github.com/fgnass/domino/issues/27) for\nfurther discussion.\n\n## CSS Selector Support\n\nDomino provides support for `querySelector()`, `querySelectorAll()`, and `matches()` backed by the [Zest](https://github.com/chjj/zest) selector engine.\n\n## Usage\n\n```javascript\nvar domino = require('domino');\n\nvar window = domino.createWindow('<h1>Hello world</h1>');\nvar document = window.document;\n\nvar h1 = document.querySelector('h1');\nconsole.log(h1.innerHTML);\n```\n\n## Tests\n\nDomino includes test from the [W3C DOM Conformance Suites](http://www.w3.org/DOM/Test/)\nas well as tests from [HTML Working Group](http://www.w3.org/html/wg/wiki/Testing).\n\nThe tests can be run via `npm test` or directly though the [Mocha](http://visionmedia.github.com/mocha/) command line:\n\n![Screenshot](http://fgnass.github.com/images/domino.png)\n\n## License and Credits\n\nThe majority of the code was written by [Andreas Gal](https://github.com/andreasgal/) and [David Flanagan](https://github.com/davidflanagan) as part of the [dom.js](https://github.com/andreasgal/dom.js) project. Please refer to the included LICENSE file for the original copyright notice and disclaimer.\n\n[1]: https://travis-ci.org/fgnass/domino.png\n[2]: https://travis-ci.org/fgnass/domino\n[3]: https://david-dm.org/fgnass/domino.png\n[4]: https://david-dm.org/fgnass/domino\n[5]: https://david-dm.org/fgnass/domino/dev-status.png\n[6]: https://david-dm.org/fgnass/domino#info=devDependencies\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/fgnass/domino/issues"},"_id":"domino@1.0.21","_shasum":"1da1691351cd708bf113b6d5a7fc7629b6d72773","_from":"https://registry.npmjs.org/domino/-/domino-1.0.21.tgz","_resolved":"https://registry.npmjs.org/domino/-/domino-1.0.21.tgz"}