Utils is a fully modular DOM library that enables developers to write DOM scripts that gracefully degrade. It has been widely tested in browsers both new and old in order to maximize compatibility.
Utils is developed with standards in mind. Most “forks” used in the API implement algorithms specified in either the DOM 4 or HTML 5 specifications.
Utils is heavily documented and contains very strict code. This means that both developers and users alike can easily study the API.
Utils is developed to work in a maximal amount of environments. Because documentation is provided within the script itself, developers have no need to consult the full documentation. The web site itself is built to be accessible to as many browsers as possible; mobile browsers are encouraged.
Utils is developed to operate under any namespace. Developers have the ability to generate one through a build step that resonates throughout the entire project tree. A specific article[0] has been written to guide developers in doing so.
Utils is fully modular. This means that every single module is optional and order-independent. Developers have the ability to only include the features they need, and nothing more.
Utils is provided under the MIT license, which is provided as a separate file[1]. for viewing. The MIT license was chosen to provide the freedom for developers to use the code in any scenario.
Utils is developed with the following core tenets in mind:
Utils is developed to gracefully degrade in as many environments as possible.
The following environments have been explicitly tested and passed tests with a 100% grade (permitting sufficient DOM support to run tests):
Utils has been tested in older versions of the above along with miscellaneous environments. Support for the preceding is positive, but not qualitative.
Tests are conducted with a basic subset of the DOM
Level 1 Core API. Any environment that does not support
the preceding API will then be tested with a basic
subset of the “DOM 0” API. ECMAScript language features
such as throw
and
try { ... } catch (err) { ... }
are required
to evaluate an environment. Environments without these
features currently cannot have qualitative testing performed.
Utils is written in a style that's subjectively easy to read and follow. No line of code exceeds 72 columns; every function's body is 251 lines of code or less; each function contains documentation for portability and clarity. Furthermore, the code is intended to be reliable and friendly; zero corners are cut.
Utils passes JSLint with only two options
selected: whitespace and "use strict";
.
Utils also passes JSHint with only
"use strict";
disabled and
no environmental assumptions.