Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Swiss-Army-Knife of AngularJS tools (with no external dependencies!)
JavaScript HTML
branch: master

UI.Utils Build Status

The companion suite for AngularJS


  • AngularJS


You can get it from Bower

# All the modules
bower install angular-ui-utils#bower

# A specific module
# bower install angular-ui-utils#bower-<moduleName>
bower install angular-ui-utils#bower-event
bower install angular-ui-utils#bower-keypress

# A specific version
bower install angular-ui-utils#v0.0.4
# A specific module version
bower install angular-ui-utils#event-0.0.4
bower install angular-ui-utils#keypress-0.0.4

# If you want the sources with it
bower install angular-ui-utils
# or for a specific source version
bower install angular-ui-utils#src0.0.4

This will copy the UI.Utils files into a bower_components folder, along with its dependencies. Load the script files in your application:

<script type="text/javascript" src="bower_components/angular/angular.js"></script>
<!-- for all the modules -->
<script type="text/javascript" src="bower_components/angular-ui-utils/ui-utils.js"></script>

<!-- or just specific one-->
<script type="text/javascript" src="bower_components/angular-ui-utils/event.js"></script>
<script type="text/javascript" src="bower_components/angular-ui-utils/keypress.js"></script>
<!-- ... -->

Add the specific modules to your dependencies, or add the entire lib by depending on ui.utils

angular.module('myApp', ['ui.keypress', 'ui.event', ...])
// or if ALL modules are loaded along with modules/utils.js
var myAppModule = angular.module('MyApp', ['ui.utils']);

Each directive and filter is now it's own module and will have a relevant in their respective folders


We use Karma and jshint to ensure the quality of the code. The easiest way to run these checks is to use grunt:

npm install -g grunt-cli
npm install && bower install

The karma task will try to open Firefox and Chrome as browser in which to run the tests. Make sure this is available or change the configuration in test\karma.conf.js

Grunt Serve

We have one task to serve them all !

grunt serve

It's equal to run separately:

  • grunt connect:server : giving you a development server at

  • grunt karma:server : giving you a Karma server to run tests (at http://localhost:9876/ by default). You can force a test on this server with grunt karma:unit:run.

  • grunt watch : will automatically test your code and build your demo. You can demo generation with grunt build:gh-pages.

How to release

Manually update version in package.json and bower.json, run grunt changelog to generate changelog. Commit all three files, and git push origin master everything to GitHub. Travis will take care of building and publishing everything else (demo pages, bower packages, etc.). Finally create a release on GitHub from the tag created by Travis.

Something went wrong with that request. Please try again.