underscore-contrib 0,0,0,0 travis-ci grunt Bower npm

The brass buckles on Underscore's utility belt

2 years after MIT


The brass buckles on Underscore's utility belt -- a contributors' library for Underscore.


Why underscore-contrib?

While Underscore provides a bevy of useful tools to support functional programming in JavaScript, it can't (and shouldn't) be everything to everyone. Underscore-contrib is intended as a home for functions that, for various reasons, don't belong in Underscore proper. In particular, it aims to be:

  • a home for functions that are limited in scope, but solve certain point problems, and
  • a proving ground for features that belong in Underscore proper, but need some advocacy and/or evolution (or devolution) to get them there.


First, you’ll need Underscore. Then you can grab the relevant underscore-contrib libraries and simply add something like the following to your pages:

<script type="text/javascript" src="underscore.js"></script>
<script type="text/javascript" src="underscore.object.builders.js"></script>

At the moment there are no cross-contrib dependencies (i.e. each library can stand by itself), but that may change in the future.


There is still a lot of work to do around perf, documentation, examples, testing and distribution so any help in those areas is welcomed. Pull requests are accepted, but please search the issues before proposing a new sub-contrib or addition. Additionally, all patches and proposals should have strong documentation, motivating cases and tests. It would be nice if we could not only provide useful tools built on Underscore, but also provide an educational experience for why and how one might use them.

Other (potentially) useful sub-contribs include the following:

  • String utilities
  • Date/time utilities
  • Validators
  • Iterators
  • Generators
  • Promises
  • Monads
  • Currying
  • Laziness
  • Multimethods

What do these mean? Well, that’s up for discussion. :-)

Related Repositories



Compile underscore templates to JST file. ...



Nested property access and manipulation lib for node and browser ...



Spring Platform IO BOM Contrib ...



The examples from my book "Learning Underscore.js" ...



A curated list of delightful Node.js packages and resources. ...

Top Contributors

fogus joshuacc pdubroy raganwald jacobpurcell eborden jonahbron AlphaGit DarrenN megawac NetsydeMiro krawaller locks tracend gsamokovarov Freyskeyd rogozhnikoff zimme brianloveswords yablonsky chyld obmarg jamesmacaulay jashkenas int3 outdooricon refack codelahoma rwky tricknotes


package version
underscore 1.7.0
dev grunt ~0.4.1
grunt-cli ~0.1.11
grunt-contrib-concat 0.3.0
grunt-contrib-jshint ^0.10.0
grunt-contrib-qunit ~0.2.2
grunt-contrib-uglify 0.2.0
grunt-contrib-watch ~0.5.3
grunt-docco ~0.3.0
grunt-tocdoc 0.1.1


-   v0.3.0 zip tar
-   v0.2.2 zip tar
-   v0.2.1 zip tar
-   v0.2.0 zip tar
-   v0.1.4 zip tar
-   v0.1.1 zip tar
-   v0.1.0 zip tar