cane

Modular DOM library

npm install cane
7 downloads in the last month

CANE

Build Status

A modular (AMD based) JavaScript DOM library.

Why?

There are too many dom, style, and ajax libraries out there. Many of them well tested, highly maintained and fast growing (jQuery, MooTools, etc.). So why create yet another one? Modular. All those libraries bundle everything up in a nice 80K (or whatever) sized file and that's what you get. Sometimes a developer doesn't need every method that comes with the library. AMD offers a dependency management solution for any size of JavaScript project. That means that after optimization your code includes only what you use. Even as more and more developers and libraries jump on the band wagon, there is no AMD based alternative for DOM and style manipulation. (I may be generalizing here, at least I did not find a proper one).

Dependencies

Cane uses mout which has do be available under the path mout.

Goals

  • Modularity
  • No global namespace
  • No wrapper object
  • Independent modules
  • Well tested modules
  • Play well with other libraries

Development

Cane uses Grunt to manage the development tasks. Tests are ran by the Karma test runner. To install all the development dependencies run npm install.

To start the Karma server, run grunt in the root of the repository (you can also run npm start if you do not have Grunt installed globally). Then attach all the browsers you want to test by navigating to http://localhost:9876/. The tests will be automatically ran when a file changes.

To run the tests once, simply run npm test in the root of the repository. You must have Chrome and Firefox installed. It will run JSHint on all the files and then launch Chrome and Firefox and run all the tests.

The documentation is generated from the Markdown files in the docs directory. To generate the docs run grunt docs. The docs are also automatically generated when you are running grunt (or npm start) and a file in the docs directory changes. The generated HTML files are stored in the docs_html directory.

License

Released under the MIT License

Authors

npm loves you