node package manager


A collection of useful javascript helpers, again.


A collection of useful javascript helpers, again.

Helpers are atomised in AMD modules.
You can find them all in an object at 'mangrove-utils/mangrove-utils'

  • clone
  • eachKey
  • enumerate
  • extend
  • hardClone
  • is
  • isArray
  • merge
  • objectify
  • serialize
  • treeValue

And you can find dom helpers at 'mangrove-utils/mangrove-utils/dom/all'

  • addEventListener
  • removeEventListener
  • keyCodes
  • ready


mangrove-utils is coded as amd module but can be installed with npm, bower or old-fashioned src=".min.js".

npm install mangrove-utils

and use it with nodejs:

var mangroveUtils = require('mangrove-utils')
bower install mangrove-utils

and use it with requirejs

require(['mangrove-utils/mangrove-utils'], function( mangroveUtils ){

Inside the dist folder, download latest standalone minified version or development version and include it in your html page:

<script src="[path_to_source]/mangrove-utils-latest-standalone-min.js%>"></script> 

The module is available via the scope

  • documentation

See jsdoc-generated documentation in /documentation

app         ->  development files
|- bower_components          ->  [bower]( front-end packages
|- main.js                   ->  main file for browser and node.js, handle AMD config
|- mangrove_utils   -> main AMD module
test        ->  unit tests
tasks       -> [Grunt]( tasks, see [generator-mangrove-module](
dist        ->  distribution & build files
node_modules -> node packages
documentation  -> [jsdoc]( generated documentation 

Run grunt test:browser and open test/ on your browser.

grunt test:headless will run your tests in a headless browser, with phantomjs and mocha

grunt test:node will run your tests with node and mocha.

Because of requirejs, the mocha command does not work.

This project uses Node.js, Grunt and Require.js for the build process. If for some reason you need to build a custom version install Node.js, npm install and run:

grunt build

This module is based on a Yeoman generator: Generator-mangrove-module
Check it for task-related references such as build, deploy etc ..

MIT License