utile 
A drop-in replacement for util with some additional advantageous functions
Motivation
Javascript is definitely a "batteries not included language" when compared to languages like Ruby or Python. Node.js has a simple utility library which exposes some basic (but important) functionality:
When one considers their own utility library, why ever bother requiring util again? That is the approach taken by this module. To compare:
As you can see all of the original methods from util are there, but there are several new methods specific to utile. A note about implementation: no node.js native modules are modified by utile, it simply copies those methods.
Remark: The util.inspect method is not exposed in utile until this issue is resolved.
Methods
The utile modules exposes some simple utility methods:
.each(obj, iterator): Iterate over the keys of an object..mixin(target [source0, source1, ...]): Copies enumerable properties fromsource0 ... sourceNontotargetand returns the resulting object..clone(obj): Shallow clones the specified object..capitalize(str): Capitalizes the specifiedstr..randomString(length): randomString returns a pseudo-random ASCII string (subset) the return value is a string of length ⌈bits/6⌉ of characters from the base64 alphabet..filter(obj, test): return an object with the properties thattestreturns true on.
Packaged Dependencies
In addition to the methods that are built-in, utile includes a number of commonly used dependencies to reduce the number of includes in your package.json. These modules are not eagerly loaded to be respectful of startup time, but instead are lazy-loaded getters on the utile object
.rimraf: A rm -rf util for nodejs
Installation
Installing npm (node package manager)
Installing utile
Tests
All tests are written with vows and should be run with npm: