modular JavaScript utilities written in the AMD format
Pull request Compare This branch is 227 commits behind millermedeiros:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
_build
doc
src
tests
.gitignore
README.mdown
build.js

README.mdown

amd-utils

http://millermedeiros.github.com/amd-utils

modular JavaScript utilities written in the AMD format.

All code is library agnostic and consist mostly of helper methods that aren't directly related with the DOM, the purpose of this library isn't to replace Dojo, jQuery, YUI, Mootools, etc, but to provide modular solutions for common problems that aren't solved by most of them.

Main goals

  • increase code reuse;
  • be clear (code should be clean/readable);
  • be easy to debug;
  • be easy to maintain;
  • follow best practices;
  • follow standards when possible;
  • don't convert JavaScript into another language!
  • be compatible with other frameworks;
  • be modular;
  • have unit tests for all modules.

What shouldn't be here

  • UI components;
  • CSS selector engine;
  • Event system - pub/sub;
  • Template engine;
  • Anything that could be a separate library and/or isn't a modular utility...

Notes

Since each function is a separate module they have independent version numbers.

This library is on an early stage and features will be added as needed, some stuff still needed to be ported from legacy code.

Important

Since code is very modular (broken into multiple files) it is really important that you run an optimizer before deploying the code to a server, otherwise you may end up having too many file requests which can degrade load-time performance a lot. See RequireJS optimization for more info.

Contributing

Fork the project on Github: https://github.com/millermedeiros/amd-utils

"Write clearly, don't be too clever" - The Elements of Programming Style

Avoid unnamed functions and follow the other modules structure. By only using named functions it will be easier to extract the code from the AMD module if needed and it will also give better error messages, JavaScript minifiers like Google Closure Compiler and UglifyJS will make sure code is as small/optimized as possible.

"Make it clear before you make it faster." - The Elements of Programming Style

Be sure to always create tests for each proposed module. Features will only be merged if they contain proper tests and documentation.

"Good code is its own best documentation." - Steve McConnell

We should do a code review before merging to make sure names makes sense and implementation is as good as possible.

Add your name to the list of contributors and also your name to the @author JSdoc tag.

Why AMD?

Because AMD is awesome! Read these links if you still can't see why:

Your mileage may vary...

Author

License

Released under the MIT License.

Building The Documentation

The documentation is generated based on markdown files inside the _build/doc/content folder using mdoc. To compile the docs run:

npm install mdoc
node build.js

It will replace all the files inside the doc/ folder.

Documentation files should be always up-to-date since modules are only committed to the master branch after they get proper tests and documentation.

Online documentation can be found at http://millermedeiros.github.com/amd-utils