[Testbot] Plone 5.0 - Python 2.7 - Build # 1933 - Still failing! - 21 failure(s)

jenkins at plone.org jenkins at plone.org
Wed Mar 12 09:52:43 UTC 2014


-------------------------------------------------------------------------------
Plone 5.0 - Python 2.7 - Build # 1933 - Still Failing!
-------------------------------------------------------------------------------

http://jenkins.plone.org/job/plone-5.0-python-2.7/1933/


-------------------------------------------------------------------------------
CHANGES
-------------------------------------------------------------------------------

Repository: mockup
Branch: refs/heads/master
Date: 2014-03-12T03:28:39Z
Author: Rok Garbas (garbas) <rok at garbas.si>
Commit: https://github.com/plone/mockup/commit/9a60af5779853ec0cc401085b53db1e7abb564d3

updated npm and bower packages

also:
 - fix copying of built and raw resources
 - remove js/grunt.js (moved to mockup-core)

Files changed:
M Gruntfile.js
M Makefile
M bower.json
M bower.nix
M package.json
M package.nix
D dev.nix
D js/grunt.js

diff --git a/Gruntfile.js b/Gruntfile.js
index e5c2f47..a3129fe 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -3,7 +3,7 @@
 module.exports = function(grunt) {
   'use strict';
 
-  var MockupGrunt = require('./js/grunt'),
+  var MockupGrunt = require('./bower_components/mockup-core/js/grunt'),
       requirejsOptions = require('./js/config'),
       mockup = new MockupGrunt(requirejsOptions),
       docsExtraIncludes = [];
@@ -19,11 +19,11 @@ module.exports = function(grunt) {
       docs: {
         files: [
           { expand: true, src: 'index.html', dest: 'docs/dev/' },
-          { expand: true, src: 'js/*', dest: 'docs/dev/' },
-          { expand: true, src: 'lib/*', dest: 'docs/dev/' },
-          { expand: true, src: 'bower_components/*', dest: 'docs/dev/' },
-          { expand: true, src: 'build/*', dest: 'docs/dev/' },
-          { expand: true, src: 'less/*', dest: 'docs/dev/' }
+          { expand: true, src: 'js/**', dest: 'docs/dev/' },
+          { expand: true, src: 'lib/**', dest: 'docs/dev/' },
+          { expand: true, src: 'bower_components/**', dest: 'docs/dev/' },
+          { expand: true, src: 'build/**', dest: 'docs/dev/' },
+          { expand: true, src: 'less/**', dest: 'docs/dev/' }
         ]
       }
     },
diff --git a/Makefile b/Makefile
index 7153e87..df8ee73 100644
--- a/Makefile
+++ b/Makefile
@@ -45,8 +45,8 @@ bootstrap-common:
 
 bootstrap: clean bootstrap-common
 	$(NPM) link --prefix=$(NODE_PATH)
+	NODE_PATH=$(NODE_PATH) $(BOWER) install --config.interactive=0
 	NODE_PATH=$(NODE_PATH) $(GRUNT) sed:bootstrap
-	$(BOWER) install
 
 bootstrap-nix: clean bootstrap-common
 	nix-build default.nix -A build -o nixenv
diff --git a/bower.json b/bower.json
index 8c2a5f7..0109dc7 100644
--- a/bower.json
+++ b/bower.json
@@ -3,23 +3,23 @@
   "version": "1.6.0",
   "description": "Plone core patterns",
   "dependencies": {
-    "ace-builds": "1.1.1",
-    "backbone": "1.1.0",
+    "ace-builds": "1.1.3",
+    "backbone": "1.1.2",
     "backbone.paginator": "0.8.1",
-    "bootstrap": "3.1.0",
-    "console-polyfill": "0.1.0",
-    "domready": "7f34949ce7453010c4984fb950eaeb5cfc583f94",
-    "dropzone": "3.8.3",
+    "bootstrap": "3.1.1",
+    "console-polyfill": "0.1.1",
+    "domready": "1.0.4",
+    "dropzone": "3.8.4",
     "es5-shim": "2.3.0",
     "html5shiv": "3.7.0",
-    "jqtree": "0.19.0",
+    "jqtree": "0.20.0",
     "jquery": "1.8.3",
     "jquery-form": "3.46.0",
     "jquery.cookie": "1.4.0",
     "lodash": "2.4.1",
-    "mockup-core": "1.0.2",
-    "moment": "2.5.0",
-    "pickadate": "3.3.2",
+    "mockup-core": "1.1.1",
+    "moment": "2.5.1",
+    "pickadate": "3.4.0",
     "requirejs-text": "2.0.10",
     "respond": "1.4.2",
     "select2": "3.4.5"
diff --git a/bower.nix b/bower.nix
index 555bb90..2e78075 100644
--- a/bower.nix
+++ b/bower.nix
@@ -1,122 +1,118 @@
 { }: [
+  { name = "console-polyfill";
+    version = "0.1.1";
+    target = "0.1.1";
+    outputHash = "1ql54f9mwzn0kmgy01bsdfgx04hs3a6vzk9yjzckfaikigad5czv";
+  }
   { name = "domready";
-    version = "7f34949ce7453010c4984fb950eaeb5cfc583f94";
-    target = "7f34949ce7453010c4984fb950eaeb5cfc583f94";
-    outputHash = "015qgd1cb4hfwn7nddkjirizr8qgpbkfj0vgbjms9pdlvwvq60gg";
+    version = "1.0.4";
+    target = "1.0.4";
+    outputHash = "1d3h4vyp9lswbz9603mrci54gmj89vgd9rfffrb9r4n439vwcwif";
   }
-  { name = "es5-shim";
-    version = "2.3.0";
-    target = "2.3.0";
-    outputHash = "021mwrjnrhf64sx7nqmi1q52ypm10njp9m3pd0mvf9h139v98x9y";
+  { name = "jquery.cookie";
+    version = "1.4.0";
+    target = "1.4.0";
+    outputHash = "1ad2k90b1f4fjazs6jzma4gxpqmwbzra36hrnchjp223hnasv263";
+  }
+  { name = "requirejs-text";
+    version = "2.0.10";
+    target = "2.0.10";
+    outputHash = "0s83zzk9syh568fjlzfdzmbb2csx1nmkcbvcjimi1achl0v7sk4q";
+  }
+  { name = "mockup-core";
+    version = "1.1.0";
+    target = "1.1.0";
+    outputHash = "056ahxj4p890cpwsa1jklysf01x4w2nw50pnh8ihzjljafmyxsr9";
   }
   { name = "jquery-form";
     version = "3.46.0";
     target = "3.46.0";
     outputHash = "11bnyx8ig3bc4vwskd99zxzbnzayh18vdkaklmjiwkg8jbcxix40";
   }
-  { name = "console-polyfill";
-    version = "0.1.0";
-    target = "0.1.0";
-    outputHash = "1np2wd11bh21rnsc3japc7s883pdimxm5gfvfd60sx1hbbcvgz8d";
-  }
   { name = "respond";
     version = "1.4.2";
     target = "1.4.2";
     outputHash = "0nhrsy1iyrqvrb7pxpw8d3dqhzd0wgbbscf3wzixx3xbi6v4j6fk";
   }
-  { name = "jquery";
-    version = "1.8.3";
-    target = "1.8.3";
-    outputHash = "1jxwzq9wx5lavr220agm12p1abqwasv607f4vgini9rxbfp2ym1w";
+  { name = "dropzone";
+    version = "3.8.4";
+    target = "3.8.4";
+    outputHash = "1hbr2bhm9250xk3apvbinns0aiw02wxh4idzlgb8jcngb42w1r6k";
   }
-  { name = "requirejs-text";
-    version = "2.0.10";
-    target = "2.0.10";
-    outputHash = "0s83zzk9syh568fjlzfdzmbb2csx1nmkcbvcjimi1achl0v7sk4q";
+  { name = "es5-shim";
+    version = "2.3.0";
+    target = "2.3.0";
+    outputHash = "021mwrjnrhf64sx7nqmi1q52ypm10njp9m3pd0mvf9h139v98x9y";
   }
   { name = "select2";
     version = "3.4.5";
     target = "3.4.5";
     outputHash = "1aibpwlnj5d10s7m7a7fci9jnv5nq1bq881fk952a8xz3p33mmd1";
   }
-  { name = "sinonjs";
-    version = "1.7.3";
-    target = "1.7.3";
-    outputHash = "0gkh9r5j5yzw1xn3l0ij828b7rd9mvfk5yj4wsvavlcm0m74znp3";
+  { name = "jqtree";
+    version = "0.20.0";
+    target = "0.20.0";
+    outputHash = "11xb3f510ngi27rp54xzhg5n6zdpib3cq0w27njjdkhy0259j7sg";
+  }
+  { name = "backbone.paginator";
+    version = "0.8.1";
+    target = "0.8.1";
+    outputHash = "1caknrjn4iz1yg11g3ilma8l6mjgpgc9pzmwa4vz3r5gf1pcb2ds";
   }
-  { name = "dropzone";
-    version = "3.8.3";
-    target = "3.8.3";
-    outputHash = "1w1rqa8nwqs07ir4cwvir37jy120vj3vsp2c96flrivjkmbclwlc";
+  { name = "jquery";
+    version = "1.8.3";
+    target = "1.8.3";
+    outputHash = "1frlqnm1rhwwbvcp4i5ysb1adxbcsb90kh369nw3drgi9ky9x0sy";
   }
   { name = "moment";
-    version = "2.5.0";
-    target = "2.5.0";
-    outputHash = "1alj5ls5yz0dswsvvh0r6mal6kh9yh43nfrhyykfy3vms0pik2hr";
+    version = "2.5.1";
+    target = "2.5.1";
+    outputHash = "0bibpc7xjn8b9irm49679hzcadp5vacas9r5gdhz92h2bznv01nb";
   }
-  { name = "jqtree";
-    version = "0.19.0";
-    target = "0.19.0";
-    outputHash = "04dmf0mvv41qgaw098rj0swx7pj435cg65v574yjimjkcvxkaqc6";
-  }
-  { name = "mockup-core";
-    version = "1.0.2";
-    target = "1.0.2";
-    outputHash = "1sdpz7pqymz53kidcxdpkl35xnv3ycdk9s2pa7x9vqmk2fb3z5mm";
+  { name = "react";
+    version = "0.9.0";
+    target = "0.9.0";
+    outputHash = "180m4lj68hjh6hvirb1pvws61ljhry30pyvbhhadzl1zn3jf90h7";
   }
-  { name = "expect";
-    version = "0.2.0";
-    target = "0.2.0";
-    outputHash = "0n6019p3j2vcd8lkg8ylks0da2v9971m9p0lrwkaa3chza65yxbd";
+  { name = "marked";
+    version = "0.3.2";
+    target = "0.3.2";
+    outputHash = "1s17a069bdfr9gxnmk7nvlb0yivnklq047lw2zjsdasmdb77kd2l";
   }
   { name = "lodash";
     version = "2.4.1";
     target = "2.4.1";
     outputHash = "08jmf5hq8r055cq8c3flkg1ycmpdrrgi6s9070lddk6jljaqa2ha";
   }
-  { name = "backbone.paginator";
-    version = "0.8.1";
-    target = "0.8.1";
-    outputHash = "1caknrjn4iz1yg11g3ilma8l6mjgpgc9pzmwa4vz3r5gf1pcb2ds";
+  { name = "bootstrap";
+    version = "3.1.1";
+    target = "3.1.1";
+    outputHash = "1n7ngrymiv5pbivw36wmryahs0j132i6hzy25jwqhs9k36qr16xb";
   }
   { name = "pickadate";
-    version = "3.3.2";
-    target = "3.3.2";
-    outputHash = "17dy79llznqx05dmifhb08f6pxmznkx7bh0pld17ps6s869bkz21";
+    version = "3.4.0";
+    target = "3.4.0";
+    outputHash = "1f15vw4crj6zjyqx47n1ncjldh8alzdkf04jn0m8xplzz3sfl48i";
   }
-  { name = "ace-builds";
-    version = "1.1.1";
-    target = "1.1.1";
-    outputHash = "13p97qjs62g1vni79xy3aww6h4n3ppv62s8ciccrkvm907n0ql1j";
+  { name = "backbone";
+    version = "1.1.2";
+    target = "1.1.2";
+    outputHash = "1h5yy2lbwd8ik6cyi234hv4i0cy1dijlh6s65kqi0asq1qzi18bs";
   }
   { name = "html5shiv";
     version = "3.7.0";
     target = "3.7.0";
     outputHash = "14cig7a7bjnbyvnk4rpf6l74j33rp1jaacigasgkgg6rzay7lcgs";
   }
-  { name = "marked";
-    version = "0.3.0";
-    target = "0.3.0";
-    outputHash = "1p1f4lxrjkzhxv1q2bb9yrlw60zwxnkba2zaziya0rw3w54gry6b";
-  }
-  { name = "react";
-    version = "0.8.0";
-    target = "0.8.0";
-    outputHash = "1bjcgkz4qn756lpl9nyp7q2swiwv7ffwdaagqbzi4ginrc7q6p9i";
-  }
-  { name = "bootstrap";
-    version = "3.1.0";
-    target = "3.1.0";
-    outputHash = "0q725cpz7lfryfh7k07b9h6dw7r55d47zgywv2rgglwhi7hgkwll";
+  { name = "underscore";
+    version = "1.6.0";
+    target = ">=1.5.0";
+    outputHash = "0sdqbyqx56awpd481plp9x16ii9ws0kmi3kmpinj4nzlqv8p9jrv";
   }
-  { name = "jquery.cookie";
-    version = "1.4.0";
-    target = "1.4.0";
-    outputHash = "1ad2k90b1f4fjazs6jzma4gxpqmwbzra36hrnchjp223hnasv263";
+  { name = "ace-builds";
+    version = "1.1.3";
+    target = "1.1.3";
+    outputHash = "0n5cbasg4f09scpkb38gvb70xsvl0x27dj2pxl8iknaqqfhia137";
   }
-  { name = "backbone";
-    version = "1.1.0";
-    target = "1.1.0";
-    outputHash = "1rmjv0nhr7zbhh8553as6p1x8zraziz0y9s80b9b7bn4dni1apgq";
- } 
 ]
+
diff --git a/dev.nix b/dev.nix
deleted file mode 100644
index 615f276..0000000
--- a/dev.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ }:
-
-let
-  pkgs = import <nixpkgs> { };
-in
-
-with pkgs;
-
-buildEnv {
-  name = "mockup-env";
-  ignoreCollisions = true;
-  paths = [
-    nodejs
-    nodePackages."bower"
-    nodePackages."grunt-cli"
-    nodePackages."grunt-contrib-jshint"
-    nodePackages."grunt-contrib-requirejs"
-    nodePackages."grunt-contrib-less"
-    nodePackages."grunt-contrib-cssmin"
-    nodePackages."grunt-contrib-uglify"
-    nodePackages."grunt-karma"
-    nodePackages."grunt-sed"
-    nodePackages."karma"
-    nodePackages."karma-mocha"
-    nodePackages."karma-coverage"
-    nodePackages."karma-requirejs"
-    nodePackages."karma-sauce-launcher"
-    nodePackages."karma-chrome-launcher"
-    nodePackages."karma-junit-reporter"
-    nodePackages."almond"
-    nodePackages."lcov-result-merger"
-    nodePackages."coveralls"
-  ];
-}
diff --git a/js/grunt.js b/js/grunt.js
deleted file mode 100644
index 45b53dc..0000000
--- a/js/grunt.js
+++ /dev/null
@@ -1,370 +0,0 @@
-/* globals module:true */
-
-(function() {
-  'use strict';
-
-  var extend = require('extend'),
-      karmaConfig = require('../node_modules/karma/lib/config'),
-      MockupGrunt = function (requirejsOptions) { this.init(requirejsOptions); };
-
-  MockupGrunt.prototype = {
-
-    sections: {
-      requirejs: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.requirejs = this.gruntConfig.requirejs || {};
-          this.gruntConfig.requirejs[name] = this.gruntConfig.requirejs[name] || {};
-          this.gruntConfig.requirejs[name].options = this.gruntConfig.requirejs[name].options || {};
-          this.gruntConfig.requirejs[name].options = {
-            name: 'node_modules/requirejs/require.js',
-            include: ['mockup-bundles-' + name].concat(bundleOptions.extraInclude || []),
-            exclude: bundleOptions.exclude || [],
-            insertRequire: ['mockup-bundles-' + name],
-            out: bundleOptions.path + name + '.min.js'
-          };
-        }
-      },
-      uglify: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.uglify = this.gruntConfig.uglify || {};
-          this.gruntConfig.uglify[name] = this.gruntConfig.uglify[name] || {};
-          this.gruntConfig.uglify[name].files = this.gruntConfig.uglify[name].files || {};
-          this.gruntConfig.uglify[name].files[bundleOptions.path + name + '.js'] = [
-            'node_modules/grunt-contrib-less/node_modules/less/dist/less-1.6.1.js',
-            'bower_components/domready/ready.js',
-            'node_modules/requirejs/require.js',
-            'bower_components/jquery/jquery.js',
-            'js/bundles/' + name + '_develop.js'
-          ];
-        }
-      },
-      less: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.less = this.gruntConfig.less || {};
-          this.gruntConfig.less[name] = this.gruntConfig.less[name] || {};
-          this.gruntConfig.less[name].files = this.gruntConfig.less[name].files || {};
-          this.gruntConfig.less[name].files[bundleOptions.path + name + '.min.css'] = 'less/' + name + '.less';
-        }
-      },
-      copy: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.copy = this.gruntConfig.copy || {};
-          this.gruntConfig.copy[name] = this.gruntConfig.copy[name] || {};
-          this.gruntConfig.copy[name].files = this.gruntConfig.copy[name].files || [];
-          this.gruntConfig.copy[name].files = this.gruntConfig.copy[name].files.concat([
-            {
-              expand: true, cwd: 'bower_components/bootstrap/dist/fonts/', src: 'glyphicons-halflings-regular.*', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-bootstrap-' + src; }
-            }, {
-              expand: true, cwd: 'lib/tinymce/skins/lightgray/fonts/', src: 'icomoon.*', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-tinymce-' + src; }
-            }, {
-              expand: true, cwd: 'lib/tinymce/skins/lightgray/img/', src: 'loader.gif', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-tinymce-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/jqtree/', src: 'jqtree-circle.png', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-jqtree-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/select2/', src: 'select2*.png', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-select2-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/select2/', src: 'select2*.gif', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-select2-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/dropzone/downloads/images/', src: 'spritemap*', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-dropzone-' + src; }
-            }
-          ]);
-        }
-      },
-      sed: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.sed = this.gruntConfig.sed || {};
-          this.gruntConfig.sed[name + '-bootstrap-glyphicons'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular',
-            replacement: 'url(\'' + bundleOptions.url + '-bootstrap-glyphicons-halflings-regular'
-          };
-          this.gruntConfig.sed[name + '-dropzone-spritemap'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\("../images/spritemap',
-            replacement: 'url(\'' + bundleOptions.url + '-dropzone-spritemap'
-          };
-          this.gruntConfig.sed[name + '-select2-images'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'select2',
-            replacement: 'url(\'' + bundleOptions.url + '-select2-select2'
-          };
-          this.gruntConfig.sed[name + '-tinymce-icomoon'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'fonts/icomoon',
-            replacement: 'url(\'' + bundleOptions.url + '-tinymce-icomoon'
-          };
-          this.gruntConfig.sed[name + '-tinymce-loader'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'img/loader.gif',
-            replacement: 'url(\'' + bundleOptions.url + '-tinymce-loader.gif'
-          };
-          this.gruntConfig.sed[name + '-jqtree-circle'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(jqtree-circle.png',
-            replacement: 'url(\'' + bundleOptions.url + '-jqtree-jqtree-circle.png\''
-          };
-        }
-      }
-
-    },
-    init: function(requirejsOptions) {
-      this.requirejsOptions = requirejsOptions;
-      this.patterns = [];
-      this.bundles = {};
-      this.gruntConfig = {};
-      this.files = [
-        /*
-        * include initial framework (mocha and requirejs) with html5
-        * shims/shams/polyfills
-        */
-        'bower_components/es5-shim/es5-shim.js',
-        'bower_components/es5-shim/es5-sham.js',
-        'bower_components/console-polyfill/index.js',
-        'node_modules/mocha/mocha.js',
-        'node_modules/karma-mocha/lib/adapter.js',
-        'node_modules/requirejs/require.js',
-        'node_modules/karma-requirejs/lib/adapter.js',
-        /*
-        * include requirejs configuration
-        */
-        'js/config.js',
-
-        /*
-        * include karma requirejs configuration
-        */
-        'tests/config.js',
-      ];
-
-      /*
-      * provide (but not include) all scripts defined in requirejs's
-      * configuration
-      *
-      * also at the same time create a list of all patterns to be loaded with
-      * docs bundle
-      */
-      var path;
-      for (var key in this.requirejsOptions.paths) {
-        path = this.requirejsOptions.paths[key];
-        if (path.indexOf('.md') !== path.length - 3) {
-          this.files.push({ pattern: path + '.js', included: false });
-        }
-        if (key.indexOf('mockup-patterns-') === 0) {
-          this.patterns.push(key);
-        }
-      }
-
-      /*
-      * provide (but not include) all files in "tests/" and "js/" folder
-      * those files will be loaded by requirejs at later points
-      */
-      this.files = this.files.concat([
-        {pattern: 'tests/example-resource*', included: false},
-        {pattern: 'tests/json/*.json', included: false},
-        {pattern: 'tests/fakeserver*', included: false},
-        {pattern: 'tests/*-test.js', included: false},
-        {pattern: 'tests/**/*-test.js', included: false},
-        {pattern: 'js/ui/**/*.js', included: false},
-        {pattern: 'js/ui/**/*.xml', included: false},
-        {pattern: 'js/patterns/structure/**/*.js', included: false},
-        {pattern: 'js/patterns/structure/**/*.xml', included: false},
-        {pattern: 'js/patterns/filemanager/**/*.xml', included: false},
-        {pattern: 'js/patterns/filemanager/**/*.js', included: false},
-        {pattern: 'js/patterns/tinymce/**/*.xml', included: false},
-        {pattern: 'js/patterns/tinymce/**/*.js', included: false},
-      ]);
-
-
-    },
-    registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-
-      /*
-       * TODO: add description
-       */
-      extend(true, this.gruntConfig, customGruntConfig || {});
-
-      /*
-       * TODO: add description
-       */
-      bundleOptions = extend(true, {
-        path: 'build/',
-        url: ' ++resource++plone.app.' + name,
-        insertExtraRequires: []
-      }, bundleOptions || {});
-
-      /*
-       * TODO: add description
-       */
-      sections = sections || ['requirejs', 'uglify', 'less', 'copy', 'sed'];
-
-      /*
-       * TODO: add description
-       */
-      for (var i = 0; i < sections.length; i = i + 1) {
-        if (this.sections[sections[i]]) {
-          this.sections[sections[i]].registerBundle.apply(
-            this,
-            [ name, customGruntConfig, bundleOptions, sections ]
-          );
-        }
-      }
-
-      /*
-       * TODO: add description
-       */
-      var bundleTasks = [];
-      for (var j = 0; j < sections.length; j = j + 1) {
-        if (this.gruntConfig[sections[j]][name] !== {} && sections[j] !== 'sed') {
-          bundleTasks.push(sections[j] + ':' + name);
-        } else if (sections[j] === 'sed') {
-          for (var sedSection in this.gruntConfig.sed) {
-            if (this.gruntConfig.sed.hasOwnProperty(sedSection) && sedSection.indexOf(name) === 0) {
-              bundleTasks.push('sed:' + sedSection);
-            }
-          }
-        }
-      }
-      this.bundles[name] = bundleTasks;
-    },
-    initGrunt: function(grunt, customGruntConfig) {
-      extend(true, this.gruntConfig, customGruntConfig || {});
-
-      /*
-       * TODO: add description
-       */
-      var bundles = [];
-      for (var name in this.bundles) {
-        bundles.push('bundle-' + name);
-        grunt.registerTask('bundle-' + name, this.bundles[name]);
-      }
-      grunt.registerTask('test', [ 'jshint', 'jscs', 'karma:test' ]);
-      grunt.registerTask('test_once', [ 'jshint', 'jscs', 'karma:testOnce' ]);
-      grunt.registerTask('test_dev', [ 'karma:testDev' ]);
-      grunt.registerTask('test_ci', [ 'jshint', 'jscs', 'karma:testCI'].concat(bundles));
-
-      /*
-       * TODO: add description
-       */
-      grunt.initConfig(extend(true, {
-        jshint: { options: { jshintrc: '.jshintrc' }, all: ['Gruntfile.js', 'js/**/*.js', 'tests/**/*.js'] },
-        jscs: { options: { config: '.jscs.json' }, all: ['Gruntfile.js', 'js/**/*.js', 'tests/**/*.js'] },
-        karma: {
-          options: {
-            basePath: './',
-            frameworks: [],
-            files: this.files,
-            preprocessors: { 'js/**/*.js': 'coverage' },
-            reporters: ['dots', 'progress', 'coverage'],
-            coverageReporter: { type : 'lcov', dir : 'coverage/' },
-            port: 9876,
-            colors: true,
-            logLevel: karmaConfig.DEBUG_INFO,
-            browserNoActivityTimeout: 200000,
-            autoWatch: true,
-            captureTimeout: 60000,
-            plugins: [
-              'karma-mocha',
-              'karma-coverage',
-              'karma-requirejs',
-              'karma-sauce-launcher',
-              'karma-chrome-launcher',
-              'karma-phantomjs-launcher',
-              'karma-junit-reporter'
-            ]
-          },
-          test: {
-            browsers: ['PhantomJS']
-          },
-          testOnce: {
-            singleRun: true,
-            browsers: ['PhantomJS']
-          },
-          testDev: {
-            browsers: ['Chrome'],
-            preprocessors: {},
-            reporters: ['dots', 'progress'],
-            plugins: [
-              'karma-mocha',
-              'karma-requirejs',
-              'karma-chrome-launcher',
-            ]
-          },
-          testCI: {
-            singleRun: true,
-            port: 8080,
-            recordVideo: true,
-            reporters: ['junit', 'coverage', 'saucelabs'],
-            junitReporter: { outputFile: 'test-results.xml' },
-            sauceLabs: { testName: 'Mockup', startConnect: true },
-            browsers: [
-              'SL_Chrome',
-              'SL_Firefox',
-              //'SL_Opera',
-              //'SL_Safari',
-              //'SL_IE_8',
-              //'SL_IE_9',
-              //'SL_IE_10',
-              //'SL_IE_11'
-              //'SL_IPhone',
-              //'SL_IPad',
-              //'SL_Android'
-            ],
-            customLaunchers: {
-              'SL_Chrome': { base: 'SauceLabs', browserName: 'chrome', platform: 'Windows 8', version: '31' },
-              'SL_Firefox': { base: 'SauceLabs', browserName: 'firefox', platform: 'Windows 8', version: '26' },
-              'SL_Opera': { base: 'SauceLabs', browserName: 'opera', platform: 'Windows 7', version: '12' },
-              'SL_Safari': { base: 'SauceLabs', browserName: 'safari', platform: 'Mac 10.8', version: '6' },
-              'SL_IE_8': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 7', version: '8' },
-              'SL_IE_9': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 2008', version: '9' },
-              'SL_IE_10': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 2012', version: '10' },
-              'SL_IE_11': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 8.1', version: '11' },
-              'SL_IPhone': { base: 'SauceLabs', browserName: 'iphone', platform: 'OS X 10.8', version: '6.1' },
-              'SL_IPad': { base: 'SauceLabs', browserName: 'ipad', platform: 'OS X 10.8', version: '6.1' },
-              'SL_Android': { base: 'SauceLabs', browserName: 'android', platform: 'Linux', version: '4.0' }
-            }
-          }
-        },
-        requirejs: {
-          options: this.requirejsOptions
-        },
-        less: {
-          options: {
-            compress: true,
-            cleancss: false,
-            ieCompat: true,
-            paths: ['less']
-          }
-        },
-        sed: {
-          'bootstrap': {
-            path: 'node_modules/lcov-result-merger/index.js',
-            pattern: 'throw new Error\\(\'Unknown Prefix ',
-            replacement: '//throw// new Error(\'Unknown Prefix '
-          }
-        }
-      }, this.gruntConfig));
-
-      /*
-       * TODO: add description
-       */
-      grunt.loadNpmTasks('grunt-contrib-copy');
-      grunt.loadNpmTasks('grunt-contrib-jshint');
-      grunt.loadNpmTasks('grunt-contrib-less');
-      grunt.loadNpmTasks('grunt-contrib-requirejs');
-      grunt.loadNpmTasks('grunt-contrib-uglify');
-      grunt.loadNpmTasks('grunt-jscs-checker');
-      grunt.loadNpmTasks('grunt-karma');
-      grunt.loadNpmTasks('grunt-sed');
-
-    }
-  };
-
-  module.exports = MockupGrunt;
-
-})();
diff --git a/package.json b/package.json
index ccbde03..627562d 100644
--- a/package.json
+++ b/package.json
@@ -4,10 +4,10 @@
   "description": "Collection of Plone CMS Core Patterns",
   "homepage": "http://plone.github.io/mockup",
   "devDependencies": {
-    "bower": "~1.2.8",
+    "bower": "~1.3.1",
     "coveralls": "~2.8.0",
     "extend": "~1.2.1",
-    "grunt": "~0.4.2",
+    "grunt": "~0.4.3",
     "grunt-cli": "~0.1.13",
     "grunt-contrib-copy": "~0.5.0",
     "grunt-contrib-jshint": "~0.8.0",
@@ -15,16 +15,16 @@
     "grunt-contrib-requirejs": "~0.4.3",
     "grunt-contrib-uglify": "~0.4.0",
     "grunt-jscs-checker": "~0.4.0",
-    "grunt-karma": "~0.7.2",
+    "grunt-karma": "~0.8.0",
     "grunt-sed": "~0.1.1",
-    "karma": "~0.11.14",
+    "karma": "~0.12.0",
     "karma-chrome-launcher": "~0.1.2",
     "karma-coverage": "~0.2.0",
     "karma-junit-reporter": "~0.2.1",
     "karma-mocha": "~0.1.1",
     "karma-phantomjs-launcher": "~0.1.2",
     "karma-requirejs": "~0.2.1",
-    "karma-sauce-launcher": "~0.2.0",
+    "karma-sauce-launcher": "~0.2.1",
     "karma-script-launcher": "~0.1.0",
     "lcov-result-merger": "~0.0.2",
     "mocha": "~1.17.1",
diff --git a/package.nix b/package.nix
index dfccfe8..8eaf06d 100644
--- a/package.nix
+++ b/package.nix
@@ -120,25 +120,6 @@
     ];
     passthru.names = [ "amdefine" ];
   };
-  by-spec."ansi-styles"."~0.1.0" =
-    self.by-version."ansi-styles"."0.1.2";
-  by-version."ansi-styles"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz";
-        name = "ansi-styles-0.1.2.tgz";
-        sha1 = "5bab27c2e0bbe944ee42057cf23adee970abc7c6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-styles" ];
-  };
   by-spec."ansi-styles"."~0.2.0" =
     self.by-version."ansi-styles"."0.2.0";
   by-version."ansi-styles"."0.2.0" = lib.makeOverridable self.buildNodePackage {
@@ -260,6 +241,63 @@
     ];
     passthru.names = [ "argparse" ];
   };
+  by-spec."array-filter"."~0.0.0" =
+    self.by-version."array-filter"."0.0.1";
+  by-version."array-filter"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-filter-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
+        name = "array-filter-0.0.1.tgz";
+        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-filter" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-filter" ];
+  };
+  by-spec."array-map"."~0.0.0" =
+    self.by-version."array-map"."0.0.0";
+  by-version."array-map"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-map-0.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
+        name = "array-map-0.0.0.tgz";
+        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-map" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-map" ];
+  };
+  by-spec."array-reduce"."~0.0.0" =
+    self.by-version."array-reduce"."0.0.0";
+  by-version."array-reduce"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-reduce-0.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
+        name = "array-reduce-0.0.0.tgz";
+        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-reduce" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-reduce" ];
+  };
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
   by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
@@ -539,15 +577,15 @@
     ];
     passthru.names = [ "boom" ];
   };
-  by-spec."bower"."~1.2.8" =
-    self.by-version."bower"."1.2.8";
-  by-version."bower"."1.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.8";
+  by-spec."bower"."~1.3.1" =
+    self.by-version."bower"."1.3.1";
+  by-version."bower"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.8.tgz";
-        name = "bower-1.2.8.tgz";
-        sha1 = "f63c0804a267d5ffaf2fd3fd488367e73dce202f";
+        url = "http://registry.npmjs.org/bower/-/bower-1.3.1.tgz";
+        name = "bower-1.3.1.tgz";
+        sha1 = "60d564e774be4e60631a159566830fce260e469a";
       })
     ];
     buildInputs =
@@ -561,42 +599,44 @@
       self.by-version."bower-logger"."0.2.2"
       self.by-version."bower-registry-client"."0.1.6"
       self.by-version."cardinal"."0.4.4"
-      self.by-version."chalk"."0.2.1"
+      self.by-version."chalk"."0.4.0"
       self.by-version."chmodr"."0.1.0"
       self.by-version."decompress-zip"."0.0.4"
       self.by-version."fstream"."0.1.25"
       self.by-version."fstream-ignore"."0.0.7"
       self.by-version."glob"."3.2.9"
       self.by-version."graceful-fs"."2.0.2"
-      self.by-version."handlebars"."1.0.12"
-      self.by-version."inquirer"."0.3.5"
+      self.by-version."handlebars"."1.3.0"
+      self.by-version."inquirer"."0.4.1"
       self.by-version."junk"."0.2.2"
       self.by-version."mkdirp"."0.3.5"
-      self.by-version."mout"."0.7.1"
+      self.by-version."mout"."0.9.0"
       self.by-version."nopt"."2.1.2"
-      self.by-version."lru-cache"."2.3.1"
+      self.by-version."lru-cache"."2.5.0"
       self.by-version."open"."0.0.4"
       self.by-version."osenv"."0.0.3"
       self.by-version."promptly"."0.2.0"
-      self.by-version."q"."0.9.7"
-      self.by-version."request"."2.27.0"
+      self.by-version."q"."1.0.1"
+      self.by-version."request"."2.33.0"
       self.by-version."request-progress"."0.3.1"
       self.by-version."retry"."0.6.0"
       self.by-version."rimraf"."2.2.6"
-      self.by-version."semver"."2.1.0"
-      self.by-version."stringify-object"."0.1.8"
-      self.by-version."sudo-block"."0.2.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."stringify-object"."0.2.0"
       self.by-version."tar"."0.1.19"
       self.by-version."tmp"."0.0.23"
       self.by-version."update-notifier"."0.1.7"
       self.by-version."which"."1.0.5"
       self.by-version."p-throttler"."0.0.1"
+      self.by-version."insight"."0.3.1"
+      self.by-version."is-root"."0.1.0"
+      self.by-version."shell-quote"."1.4.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower" ];
   };
-  "bower" = self.by-version."bower"."1.2.8";
+  "bower" = self.by-version."bower"."1.3.1";
   by-spec."bower-config"."~0.4.3" =
     self.by-version."bower-config"."0.4.5";
   by-version."bower-config"."0.4.5" = lib.makeOverridable self.buildNodePackage {
@@ -684,7 +724,7 @@
     ];
     passthru.names = [ "bower-json" ];
   };
-  by-spec."bower-logger"."~0.2.1" =
+  by-spec."bower-logger"."~0.2.2" =
     self.by-version."bower-logger"."0.2.2";
   by-version."bower-logger"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "node-bower-logger-0.2.2";
@@ -852,28 +892,7 @@
     ];
     passthru.names = [ "chalk" ];
   };
-  by-spec."chalk"."~0.1.1" =
-    self.by-version."chalk"."0.1.1";
-  by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz";
-        name = "chalk-0.1.1.tgz";
-        sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."has-color"."0.1.4"
-      self.by-version."ansi-styles"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chalk" ];
-  };
-  by-spec."chalk"."~0.2.0" =
+  by-spec."chalk"."~0.2.1" =
     self.by-version."chalk"."0.2.1";
   by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "node-chalk-0.2.1";
@@ -894,8 +913,6 @@
     ];
     passthru.names = [ "chalk" ];
   };
-  by-spec."chalk"."~0.2.1" =
-    self.by-version."chalk"."0.2.1";
   by-spec."chalk"."~0.4.0" =
     self.by-version."chalk"."0.4.0";
   by-spec."chmodr"."~0.1.0" =
@@ -937,14 +954,14 @@
     passthru.names = [ "chokidar" ];
   };
   by-spec."clean-css"."2.1.x" =
-    self.by-version."clean-css"."2.1.4";
-  by-version."clean-css"."2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.1.4";
+    self.by-version."clean-css"."2.1.6";
+  by-version."clean-css"."2.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.4.tgz";
-        name = "clean-css-2.1.4.tgz";
-        sha1 = "82b59182c8aa02d7050329b0b977f7651bf9875e";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.6.tgz";
+        name = "clean-css-2.1.6.tgz";
+        sha1 = "28732d9dd78225584c738b624d44b075e2a411ba";
       })
     ];
     buildInputs =
@@ -1016,25 +1033,6 @@
     ];
     passthru.names = [ "coffee-script" ];
   };
-  by-spec."coffee-script"."~1.6" =
-    self.by-version."coffee-script"."1.6.3";
-  by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        name = "coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
   by-spec."coffee-script-redux"."git+https://github.com/michaelficarra/CoffeeScriptRedux.git#9895cd1641fdf3a2424e662ab7583726bb0e35b3" =
     self.by-version."coffee-script-redux"."2.0.0-beta4";
   by-version."coffee-script-redux"."2.0.0-beta4" = lib.makeOverridable self.buildNodePackage {
@@ -1281,6 +1279,31 @@
     ];
     passthru.names = [ "configstore" ];
   };
+  by-spec."configstore"."~0.2.1" =
+    self.by-version."configstore"."0.2.2";
+  by-version."configstore"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-configstore-0.2.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/configstore/-/configstore-0.2.2.tgz";
+        name = "configstore-0.2.2.tgz";
+        sha1 = "ae0eb4f75833a4436f33456a4d2db11d69cc61ed";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."configstore" or []);
+    deps = [
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."js-yaml"."3.0.2"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.2"
+      self.by-version."uuid"."1.4.1"
+      self.by-version."object-assign"."0.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "configstore" ];
+  };
   by-spec."connect"."~2.12.0" =
     self.by-version."connect"."2.12.0";
   by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage {
@@ -1827,14 +1850,14 @@
     passthru.names = [ "es5-ext" ];
   };
   by-spec."escodegen"."*" =
-    self.by-version."escodegen"."1.2.0";
-  by-version."escodegen"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "escodegen-1.2.0";
+    self.by-version."escodegen"."1.3.0";
+  by-version."escodegen"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz";
-        name = "escodegen-1.2.0.tgz";
-        sha1 = "09de7967791cc958b7f89a2ddb6d23451af327e1";
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.0.tgz";
+        name = "escodegen-1.3.0.tgz";
+        sha1 = "9d7b4aa74aa32f300474381c098f930eb1e9973a";
       })
     ];
     buildInputs =
@@ -1873,6 +1896,27 @@
   };
   by-spec."escodegen"."1.2.x" =
     self.by-version."escodegen"."1.2.0";
+  by-version."escodegen"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-1.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz";
+        name = "escodegen-1.2.0.tgz";
+        sha1 = "09de7967791cc958b7f89a2ddb6d23451af327e1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."escodegen" or []);
+    deps = [
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."1.5.0"
+      self.by-version."esutils"."1.0.0"
+      self.by-version."source-map"."0.1.33"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "escodegen" ];
+  };
   by-spec."esprima"."1.0.3" =
     self.by-version."esprima"."1.0.3";
   by-version."esprima"."1.0.3" = lib.makeOverridable self.buildNodePackage {
@@ -2389,25 +2433,6 @@
     self.by-version."glob"."3.2.9";
   by-spec."glob"."~3.2.7" =
     self.by-version."glob"."3.2.9";
-  by-spec."graceful-fs"."~1.1" =
-    self.by-version."graceful-fs"."1.1.14";
-  by-version."graceful-fs"."1.1.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-1.1.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz";
-        name = "graceful-fs-1.1.14.tgz";
-        sha1 = "07078db5f6377f6321fceaaedf497de124dc9465";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
   by-spec."graceful-fs"."~1.2.0" =
     self.by-version."graceful-fs"."1.2.3";
   by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
@@ -2468,14 +2493,14 @@
     passthru.names = [ "growl" ];
   };
   by-spec."grunt"."0.4.x" =
-    self.by-version."grunt"."0.4.2";
-  by-version."grunt"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-0.4.2";
+    self.by-version."grunt"."0.4.3";
+  by-version."grunt"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz";
-        name = "grunt-0.4.2.tgz";
-        sha1 = "895b4f28a6102bffd41d365a65e8be2d6a293d93";
+        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.3.tgz";
+        name = "grunt-0.4.3.tgz";
+        sha1 = "6a8ab7010917ab3b08be9709109419b19d93ef8f";
       })
     ];
     buildInputs =
@@ -2492,27 +2517,30 @@
       self.by-version."iconv-lite"."0.2.11"
       self.by-version."minimatch"."0.2.14"
       self.by-version."nopt"."1.0.10"
-      self.by-version."rimraf"."2.0.3"
+      self.by-version."rimraf"."2.2.6"
       self.by-version."lodash"."0.9.2"
       self.by-version."underscore.string"."2.2.1"
       self.by-version."which"."1.0.5"
       self.by-version."js-yaml"."2.0.5"
       self.by-version."exit"."0.1.2"
       self.by-version."getobject"."0.1.0"
+      self.by-version."grunt-legacy-util"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt" ];
   };
   by-spec."grunt"."^0.4.0" =
-    self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
   by-spec."grunt"."~0.4" =
-    self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
   by-spec."grunt"."~0.4.0" =
-    self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
   by-spec."grunt"."~0.4.2" =
-    self.by-version."grunt"."0.4.2";
-  "grunt" = self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
+  by-spec."grunt"."~0.4.3" =
+    self.by-version."grunt"."0.4.3";
+  "grunt" = self.by-version."grunt"."0.4.3";
   by-spec."grunt-cli"."~0.1.13" =
     self.by-version."grunt-cli"."0.1.13";
   by-version."grunt-cli"."0.1.13" = lib.makeOverridable self.buildNodePackage {
@@ -2552,7 +2580,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-copy" ];
   };
@@ -2574,7 +2602,7 @@
       self.by-version."jshint"."2.4.4"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-jshint" ];
   };
@@ -2598,7 +2626,7 @@
       self.by-version."chalk"."0.4.0"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-less" ];
   };
@@ -2620,7 +2648,7 @@
       self.by-version."requirejs"."2.1.11"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-requirejs" ];
   };
@@ -2639,12 +2667,12 @@
     buildInputs =
       (self.nativeDeps."grunt-contrib-uglify" or []);
     deps = [
-      self.by-version."uglify-js"."2.4.12"
+      self.by-version."uglify-js"."2.4.13"
       self.by-version."chalk"."0.4.0"
       self.by-version."maxmin"."0.1.0"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-uglify" ];
   };
@@ -2669,34 +2697,61 @@
       self.by-version."vow"."0.4.1"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-jscs-checker" ];
   };
   "grunt-jscs-checker" = self.by-version."grunt-jscs-checker"."0.4.0";
-  by-spec."grunt-karma"."~0.7.2" =
-    self.by-version."grunt-karma"."0.7.2";
-  by-version."grunt-karma"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-karma-0.7.2";
+  by-spec."grunt-karma"."~0.8.0" =
+    self.by-version."grunt-karma"."0.8.0";
+  by-version."grunt-karma"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-karma-0.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.7.2.tgz";
-        name = "grunt-karma-0.7.2.tgz";
-        sha1 = "1d041d9833671c2bca671cd66bd874c96b2a631e";
+        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.0.tgz";
+        name = "grunt-karma-0.8.0.tgz";
+        sha1 = "97dff7cf3b5b11c0262782ec2cc2a7be92313c37";
       })
     ];
     buildInputs =
       (self.nativeDeps."grunt-karma" or []);
     deps = [
       self.by-version."optimist"."0.6.1"
+      self.by-version."lodash"."2.4.1"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
-      self.by-version."karma"."0.11.14"
+      self.by-version."grunt"."0.4.3"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "grunt-karma" ];
   };
-  "grunt-karma" = self.by-version."grunt-karma"."0.7.2";
+  "grunt-karma" = self.by-version."grunt-karma"."0.8.0";
+  by-spec."grunt-legacy-util"."~0.1.2" =
+    self.by-version."grunt-legacy-util"."0.1.2";
+  by-version."grunt-legacy-util"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-legacy-util-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.1.2.tgz";
+        name = "grunt-legacy-util-0.1.2.tgz";
+        sha1 = "be84d337ef4a0137dc8566092a46528fd8957ebd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-legacy-util" or []);
+    deps = [
+      self.by-version."hooker"."0.2.3"
+      self.by-version."async"."0.1.22"
+      self.by-version."lodash"."0.9.2"
+      self.by-version."exit"."0.1.2"
+      self.by-version."underscore.string"."2.2.1"
+      self.by-version."getobject"."0.1.0"
+      self.by-version."which"."1.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "grunt-legacy-util" ];
+  };
   by-spec."grunt-lib-contrib"."~0.6.1" =
     self.by-version."grunt-lib-contrib"."0.6.1";
   by-version."grunt-lib-contrib"."0.6.1" = lib.makeOverridable self.buildNodePackage {
@@ -2734,7 +2789,7 @@
       self.by-version."replace"."0.2.9"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-sed" ];
   };
@@ -2802,8 +2857,8 @@
     ];
     passthru.names = [ "handlebars" ];
   };
-  by-spec."handlebars"."~1.0.11" =
-    self.by-version."handlebars"."1.0.12";
+  by-spec."handlebars"."~1.3.0" =
+    self.by-version."handlebars"."1.3.0";
   by-spec."has-color"."~0.1.0" =
     self.by-version."has-color"."0.1.4";
   by-version."has-color"."0.1.4" = lib.makeOverridable self.buildNodePackage {
@@ -3030,7 +3085,7 @@
       self.by-version."coffee-script-redux"."2.0.0-beta4"
       self.by-version."istanbul"."0.2.6"
       self.by-version."optimist"."0.6.1"
-      self.by-version."escodegen"."1.2.0"
+      self.by-version."escodegen"."1.3.0"
       self.by-version."mkdirp"."0.3.5"
       self.by-version."which"."1.0.5"
       self.by-version."estraverse"."1.5.0"
@@ -3123,29 +3178,57 @@
   };
   by-spec."ini"."~1.1.0" =
     self.by-version."ini"."1.1.0";
-  by-spec."inquirer"."~0.3.0" =
-    self.by-version."inquirer"."0.3.5";
-  by-version."inquirer"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inquirer-0.3.5";
+  by-spec."inquirer"."~0.4.0" =
+    self.by-version."inquirer"."0.4.1";
+  by-version."inquirer"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inquirer-0.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz";
-        name = "inquirer-0.3.5.tgz";
-        sha1 = "a78be064ac9abf168147c02169a931d9a483a9f6";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.4.1.tgz";
+        name = "inquirer-0.4.1.tgz";
+        sha1 = "6cf74eb1a347f97a1a207bea8ad1c987d0ff4b81";
       })
     ];
     buildInputs =
       (self.nativeDeps."inquirer" or []);
     deps = [
-      self.by-version."lodash"."1.2.1"
+      self.by-version."lodash"."2.4.1"
       self.by-version."async"."0.2.10"
       self.by-version."cli-color"."0.2.3"
-      self.by-version."mute-stream"."0.0.3"
+      self.by-version."mute-stream"."0.0.4"
+      self.by-version."through"."2.3.4"
+      self.by-version."readline2"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
+  by-spec."insight"."~0.3.0" =
+    self.by-version."insight"."0.3.1";
+  by-version."insight"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-insight-0.3.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/insight/-/insight-0.3.1.tgz";
+        name = "insight-0.3.1.tgz";
+        sha1 = "1a14f32c06115c0850338c38a253d707b611d448";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."insight" or []);
+    deps = [
+      self.by-version."chalk"."0.4.0"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.2.2"
+      self.by-version."async"."0.2.10"
+      self.by-version."inquirer"."0.4.1"
+      self.by-version."object-assign"."0.1.2"
+      self.by-version."lodash.debounce"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "insight" ];
+  };
   by-spec."intersect"."~0.0.3" =
     self.by-version."intersect"."0.0.3";
   by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
@@ -3165,6 +3248,25 @@
     ];
     passthru.names = [ "intersect" ];
   };
+  by-spec."is-root"."~0.1.0" =
+    self.by-version."is-root"."0.1.0";
+  by-version."is-root"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-is-root-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/is-root/-/is-root-0.1.0.tgz";
+        name = "is-root-0.1.0.tgz";
+        sha1 = "825e394ab593df2d73c5d0092fce507270b53dcb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."is-root" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "is-root" ];
+  };
   by-spec."isbinaryfile"."~0.1.9" =
     self.by-version."isbinaryfile"."0.1.9";
   by-version."isbinaryfile"."0.1.9" = lib.makeOverridable self.buildNodePackage {
@@ -3369,6 +3471,8 @@
     ];
     passthru.names = [ "js-yaml" ];
   };
+  by-spec."js-yaml"."~3.0.1" =
+    self.by-version."js-yaml"."3.0.2";
   by-spec."jscs"."~1.3.0" =
     self.by-version."jscs"."1.3.0";
   by-version."jscs"."1.3.0" = lib.makeOverridable self.buildNodePackage {
@@ -3500,14 +3604,14 @@
     passthru.names = [ "junk" ];
   };
   by-spec."karma".">=0.11.11" =
-    self.by-version."karma"."0.11.14";
-  by-version."karma"."0.11.14" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.14";
+    self.by-version."karma"."0.12.0";
+  by-version."karma"."0.12.0" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.12.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.14.tgz";
-        name = "karma-0.11.14.tgz";
-        sha1 = "2f6f81611bfe62e588d4e1d63c14f3928971a77c";
+        url = "http://registry.npmjs.org/karma/-/karma-0.12.0.tgz";
+        name = "karma-0.12.0.tgz";
+        sha1 = "d4e3de26f5bd4e6d5d89b02a62d3f5ffe2ce96a3";
       })
     ];
     buildInputs =
@@ -3520,7 +3624,6 @@
       self.by-version."minimatch"."0.2.14"
       self.by-version."http-proxy"."0.10.4"
       self.by-version."optimist"."0.6.1"
-      self.by-version."coffee-script"."1.6.3"
       self.by-version."rimraf"."2.2.6"
       self.by-version."q"."0.9.7"
       self.by-version."colors"."0.6.2"
@@ -3537,14 +3640,12 @@
     passthru.names = [ "karma" ];
   };
   by-spec."karma".">=0.9" =
-    self.by-version."karma"."0.11.14";
+    self.by-version."karma"."0.12.0";
   by-spec."karma".">=0.9.3" =
-    self.by-version."karma"."0.11.14";
-  by-spec."karma"."~0.11.0" =
-    self.by-version."karma"."0.11.14";
-  by-spec."karma"."~0.11.14" =
-    self.by-version."karma"."0.11.14";
-  "karma" = self.by-version."karma"."0.11.14";
+    self.by-version."karma"."0.12.0";
+  by-spec."karma"."~0.12.0" =
+    self.by-version."karma"."0.12.0";
+  "karma" = self.by-version."karma"."0.12.0";
   by-spec."karma-chrome-launcher"."~0.1.2" =
     self.by-version."karma-chrome-launcher"."0.1.2";
   by-version."karma-chrome-launcher"."0.1.2" = lib.makeOverridable self.buildNodePackage {
@@ -3561,7 +3662,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-chrome-launcher" ];
   };
@@ -3585,7 +3686,7 @@
       self.by-version."dateformat"."1.0.7-1.2.3"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-coverage" ];
   };
@@ -3607,7 +3708,7 @@
       self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
@@ -3628,7 +3729,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
       self.by-version."mocha"."1.17.1"
     ];
     passthru.names = [ "karma-mocha" ];
@@ -3651,7 +3752,7 @@
       self.by-version."phantomjs"."1.9.7-1"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-phantomjs-launcher" ];
   };
@@ -3672,37 +3773,37 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
       self.by-version."requirejs"."2.1.11"
     ];
     passthru.names = [ "karma-requirejs" ];
   };
   "karma-requirejs" = self.by-version."karma-requirejs"."0.2.1";
-  by-spec."karma-sauce-launcher"."~0.2.0" =
-    self.by-version."karma-sauce-launcher"."0.2.0";
-  by-version."karma-sauce-launcher"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-sauce-launcher-0.2.0";
+  by-spec."karma-sauce-launcher"."~0.2.1" =
+    self.by-version."karma-sauce-launcher"."0.2.1";
+  by-version."karma-sauce-launcher"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-sauce-launcher-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.0.tgz";
-        name = "karma-sauce-launcher-0.2.0.tgz";
-        sha1 = "0994da49a1774be876ff1b107fd47e8768e3ead0";
+        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.1.tgz";
+        name = "karma-sauce-launcher-0.2.1.tgz";
+        sha1 = "948a30c02def47eebbaaa538f54d4294a1885749";
       })
     ];
     buildInputs =
       (self.nativeDeps."karma-sauce-launcher" or []);
     deps = [
-      self.by-version."wd"."0.2.11"
+      self.by-version."wd"."0.2.12"
       self.by-version."sauce-connect-launcher"."0.2.2"
       self.by-version."q"."0.9.7"
       self.by-version."saucelabs"."0.1.1"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
-  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.0";
+  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.1";
   by-spec."karma-script-launcher"."~0.1.0" =
     self.by-version."karma-script-launcher"."0.1.0";
   by-version."karma-script-launcher"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -3719,7 +3820,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-script-launcher" ];
   };
@@ -3839,7 +3940,7 @@
       self.by-version."mime"."1.2.11"
       self.by-version."request"."2.34.0"
       self.by-version."mkdirp"."0.3.5"
-      self.by-version."clean-css"."2.1.4"
+      self.by-version."clean-css"."2.1.6"
       self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
@@ -3884,25 +3985,6 @@
     ];
     passthru.names = [ "lodash" ];
   };
-  by-spec."lodash"."~1.2.1" =
-    self.by-version."lodash"."1.2.1";
-  by-version."lodash"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz";
-        name = "lodash-1.2.1.tgz";
-        sha1 = "ed47b16e46f06b2b40309b68e9163c17e93ea304";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
-  };
   by-spec."lodash"."~1.3.1" =
     self.by-version."lodash"."1.3.1";
   by-version."lodash"."1.3.1" = lib.makeOverridable self.buildNodePackage {
@@ -4215,6 +4297,28 @@
     ];
     passthru.names = [ "lodash.bind" ];
   };
+  by-spec."lodash.debounce"."~2.4.1" =
+    self.by-version."lodash.debounce"."2.4.1";
+  by-version."lodash.debounce"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.debounce-2.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz";
+        name = "lodash.debounce-2.4.1.tgz";
+        sha1 = "d8cead246ec4b926e8b85678fc396bfeba8cc6fc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.debounce" or []);
+    deps = [
+      self.by-version."lodash.isfunction"."2.4.1"
+      self.by-version."lodash.isobject"."2.4.1"
+      self.by-version."lodash.now"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.debounce" ];
+  };
   by-spec."lodash.defaults"."~2.4.1" =
     self.by-version."lodash.defaults"."2.4.1";
   by-version."lodash.defaults"."2.4.1" = lib.makeOverridable self.buildNodePackage {
@@ -4335,6 +4439,26 @@
     ];
     passthru.names = [ "lodash.noop" ];
   };
+  by-spec."lodash.now"."~2.4.1" =
+    self.by-version."lodash.now"."2.4.1";
+  by-version."lodash.now"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.now-2.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz";
+        name = "lodash.now-2.4.1.tgz";
+        sha1 = "6872156500525185faf96785bb7fe7fe15b562c6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.now" or []);
+    deps = [
+      self.by-version."lodash._isnative"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.now" ];
+  };
   by-spec."lodash.support"."~2.4.1" =
     self.by-version."lodash.support"."2.4.1";
   by-version."lodash.support"."2.4.1" = lib.makeOverridable self.buildNodePackage {
@@ -4453,6 +4577,8 @@
     ];
     passthru.names = [ "lru-cache" ];
   };
+  by-spec."lru-cache"."~2.5.0" =
+    self.by-version."lru-cache"."2.5.0";
   by-spec."maxmin"."^0.1.0" =
     self.by-version."maxmin"."0.1.0";
   by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -4733,15 +4859,15 @@
     ];
     passthru.names = [ "mout" ];
   };
-  by-spec."mout"."~0.7.0" =
-    self.by-version."mout"."0.7.1";
-  by-version."mout"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mout-0.7.1";
+  by-spec."mout"."~0.9.0" =
+    self.by-version."mout"."0.9.0";
+  by-version."mout"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mout-0.9.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mout/-/mout-0.7.1.tgz";
-        name = "mout-0.7.1.tgz";
-        sha1 = "218de2b0880b220d99f4fbaee3fc0c3a5310bda8";
+        url = "http://registry.npmjs.org/mout/-/mout-0.9.0.tgz";
+        name = "mout-0.9.0.tgz";
+        sha1 = "4b6ef8cae5099151d9a7ddb6ebb9a56f9de6aaeb";
       })
     ];
     buildInputs =
@@ -4773,26 +4899,7 @@
     ];
     passthru.names = [ "multiparty" ];
   };
-  by-spec."mute-stream"."0.0.3" =
-    self.by-version."mute-stream"."0.0.3";
-  by-version."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mute-stream-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz";
-        name = "mute-stream-0.0.3.tgz";
-        sha1 = "f09c090d333b3063f615cbbcca71b349893f0152";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mute-stream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mute-stream" ];
-  };
-  by-spec."mute-stream"."~0.0.4" =
+  by-spec."mute-stream"."0.0.4" =
     self.by-version."mute-stream"."0.0.4";
   by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "node-mute-stream-0.0.4";
@@ -4811,6 +4918,8 @@
     ];
     passthru.names = [ "mute-stream" ];
   };
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
   by-spec."nan"."~0.3.0" =
     self.by-version."nan"."0.3.2";
   by-version."nan"."0.3.2" = lib.makeOverridable self.buildNodePackage {
@@ -5079,6 +5188,27 @@
     ];
     passthru.names = [ "oauth-sign" ];
   };
+  by-spec."object-assign"."~0.1.1" =
+    self.by-version."object-assign"."0.1.2";
+  by-version."object-assign"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-object-assign-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/object-assign/-/object-assign-0.1.2.tgz";
+        name = "object-assign-0.1.2.tgz";
+        sha1 = "036992f073aff7b2db83d06b3fb3155a5ccac37f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."object-assign" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "object-assign" ];
+  };
+  by-spec."object-assign"."~0.1.2" =
+    self.by-version."object-assign"."0.1.2";
   by-spec."once"."~1.1.1" =
     self.by-version."once"."1.1.1";
   by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
@@ -5164,6 +5294,8 @@
     self.by-version."optimist"."0.3.7";
   by-spec."optimist"."~0.6.0" =
     self.by-version."optimist"."0.6.1";
+  by-spec."optimist"."~0.6.1" =
+    self.by-version."optimist"."0.6.1";
   by-spec."options".">=0.0.5" =
     self.by-version."options"."0.0.5";
   by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -5202,6 +5334,8 @@
     ];
     passthru.names = [ "osenv" ];
   };
+  by-spec."osenv"."~0.0.3" =
+    self.by-version."osenv"."0.0.3";
   by-spec."p-throttler"."~0.0.1" =
     self.by-version."p-throttler"."0.0.1";
   by-version."p-throttler"."0.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -5406,14 +5540,14 @@
   by-spec."q"."~0.9.7" =
     self.by-version."q"."0.9.7";
   by-spec."q"."~1.0.0" =
-    self.by-version."q"."1.0.0";
-  by-version."q"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-1.0.0";
+    self.by-version."q"."1.0.1";
+  by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-q-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-1.0.0.tgz";
-        name = "q-1.0.0.tgz";
-        sha1 = "dc1f92c4587be54f7853b29dc28e6d243a88498d";
+        url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
+        name = "q-1.0.1.tgz";
+        sha1 = "11872aeedee89268110b10a718448ffb10112a14";
       })
     ];
     buildInputs =
@@ -5571,6 +5705,28 @@
   };
   by-spec."readable-stream"."~1.1.9" =
     self.by-version."readable-stream"."1.1.11";
+  by-spec."readline2"."~0.1.0" =
+    self.by-version."readline2"."0.1.0";
+  by-version."readline2"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-readline2-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz";
+        name = "readline2-0.1.0.tgz";
+        sha1 = "6a272ef89731225b448e4c6799b6e50d5be12b98";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."readline2" or []);
+    deps = [
+      self.by-version."mute-stream"."0.0.4"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."chalk"."0.4.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "readline2" ];
+  };
   by-spec."redeyed"."~0.4.0" =
     self.by-version."redeyed"."0.4.4";
   by-version."redeyed"."0.4.4" = lib.makeOverridable self.buildNodePackage {
@@ -5916,32 +6072,14 @@
   };
   by-spec."rimraf"."2.x.x" =
     self.by-version."rimraf"."2.2.6";
-  by-spec."rimraf"."~2.0.3" =
-    self.by-version."rimraf"."2.0.3";
-  by-version."rimraf"."2.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-2.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz";
-        name = "rimraf-2.0.3.tgz";
-        sha1 = "f50a2965e7144e9afd998982f15df706730f56a9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = [
-      self.by-version."graceful-fs"."1.1.14"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
   by-spec."rimraf"."~2.2.0" =
     self.by-version."rimraf"."2.2.6";
   by-spec."rimraf"."~2.2.2" =
     self.by-version."rimraf"."2.2.6";
   by-spec."rimraf"."~2.2.5" =
     self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."~2.2.6" =
+    self.by-version."rimraf"."2.2.6";
   by-spec."sauce-connect-launcher"."~0.2.2" =
     self.by-version."sauce-connect-launcher"."0.2.2";
   by-version."sauce-connect-launcher"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -6023,6 +6161,25 @@
     ];
     passthru.names = [ "semver" ];
   };
+  by-spec."semver"."~2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+        name = "semver-2.2.1.tgz";
+        sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."semver" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "semver" ];
+  };
   by-spec."send"."0.1.4" =
     self.by-version."send"."0.1.4";
   by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
@@ -6046,6 +6203,29 @@
     ];
     passthru.names = [ "send" ];
   };
+  by-spec."shell-quote"."~1.4.1" =
+    self.by-version."shell-quote"."1.4.1";
+  by-version."shell-quote"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-shell-quote-1.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/shell-quote/-/shell-quote-1.4.1.tgz";
+        name = "shell-quote-1.4.1.tgz";
+        sha1 = "ae18442b536a08c720239b079d2f228acbedee40";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."shell-quote" or []);
+    deps = [
+      self.by-version."jsonify"."0.0.0"
+      self.by-version."array-filter"."0.0.1"
+      self.by-version."array-reduce"."0.0.0"
+      self.by-version."array-map"."0.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "shell-quote" ];
+  };
   by-spec."shelljs"."0.1.x" =
     self.by-version."shelljs"."0.1.4";
   by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage {
@@ -6196,6 +6376,8 @@
     self.by-version."source-map"."0.1.33";
   by-spec."source-map"."~0.1.31" =
     self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."~0.1.33" =
+    self.by-version."source-map"."0.1.33";
   by-spec."source-map"."~0.1.7" =
     self.by-version."source-map"."0.1.33";
   by-spec."stream-counter"."~0.2.0" =
@@ -6237,15 +6419,15 @@
     ];
     passthru.names = [ "string_decoder" ];
   };
-  by-spec."stringify-object"."~0.1.4" =
-    self.by-version."stringify-object"."0.1.8";
-  by-version."stringify-object"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stringify-object-0.1.8";
+  by-spec."stringify-object"."~0.2.0" =
+    self.by-version."stringify-object"."0.2.0";
+  by-version."stringify-object"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stringify-object-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz";
-        name = "stringify-object-0.1.8.tgz";
-        sha1 = "463348f38fdcd4fec1c011084c24a59ac653c1ee";
+        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.2.0.tgz";
+        name = "stringify-object-0.2.0.tgz";
+        sha1 = "832996ea55ab2aaa7570cc9bc0d5774adfc2c585";
       })
     ];
     buildInputs =
@@ -6294,26 +6476,6 @@
     ];
     passthru.names = [ "strip-json-comments" ];
   };
-  by-spec."sudo-block"."~0.2.0" =
-    self.by-version."sudo-block"."0.2.1";
-  by-version."sudo-block"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sudo-block-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz";
-        name = "sudo-block-0.2.1.tgz";
-        sha1 = "b394820741b66c0fe06f97b334f0674036837ba5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sudo-block" or []);
-    deps = [
-      self.by-version."chalk"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sudo-block" ];
-  };
   by-spec."tape"."~0.2.2" =
     self.by-version."tape"."0.2.2";
   by-version."tape"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -6377,6 +6539,25 @@
     ];
     passthru.names = [ "throttleit" ];
   };
+  by-spec."through"."~2.3.4" =
+    self.by-version."through"."2.3.4";
+  by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-through-2.3.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
+        name = "through-2.3.4.tgz";
+        sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."through" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "through" ];
+  };
   by-spec."tinycolor"."0.x" =
     self.by-version."tinycolor"."0.0.1";
   by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -6551,14 +6732,14 @@
     passthru.names = [ "uglify-js" ];
   };
   by-spec."uglify-js"."^2.4.0" =
-    self.by-version."uglify-js"."2.4.12";
-  by-version."uglify-js"."2.4.12" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.4.12";
+    self.by-version."uglify-js"."2.4.13";
+  by-version."uglify-js"."2.4.13" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.12.tgz";
-        name = "uglify-js-2.4.12.tgz";
-        sha1 = "2354d9659f85330c1e3e2910f8acd77fe14bb4a8";
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.13.tgz";
+        name = "uglify-js-2.4.13.tgz";
+        sha1 = "18debc9e6ecfc20db1a5ea035f839d436a605aba";
       })
     ];
     buildInputs =
@@ -6783,6 +6964,25 @@
     ];
     passthru.names = [ "utile" ];
   };
+  by-spec."uuid"."~1.4.1" =
+    self.by-version."uuid"."1.4.1";
+  by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uuid-1.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz";
+        name = "uuid-1.4.1.tgz";
+        sha1 = "a337828580d426e375b8ee11bd2bf901a596e0b8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uuid" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "uuid" ];
+  };
   by-spec."vargs"."~0.1.0" =
     self.by-version."vargs"."0.1.0";
   by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -6904,14 +7104,14 @@
     passthru.names = [ "vow-queue" ];
   };
   by-spec."wd"."~0.2.8" =
-    self.by-version."wd"."0.2.11";
-  by-version."wd"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "wd-0.2.11";
+    self.by-version."wd"."0.2.12";
+  by-version."wd"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+    name = "wd-0.2.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wd/-/wd-0.2.11.tgz";
-        name = "wd-0.2.11.tgz";
-        sha1 = "27889d290facf3d19e050b3c789f2e852ca03f10";
+        url = "http://registry.npmjs.org/wd/-/wd-0.2.12.tgz";
+        name = "wd-0.2.12.tgz";
+        sha1 = "b80884bf392075839d8ee433c9f8e0c525d26b6a";
       })
     ];
     buildInputs =
@@ -6919,7 +7119,7 @@
     deps = [
       self.by-version."async"."0.2.10"
       self.by-version."vargs"."0.1.0"
-      self.by-version."q"."1.0.0"
+      self.by-version."q"."1.0.1"
       self.by-version."request"."2.33.0"
       self.by-version."archiver"."0.5.2"
       self.by-version."lodash"."2.4.1"


Repository: mockup
Branch: refs/heads/master
Date: 2014-03-12T09:01:50Z
Author: Rok Garbas (garbas) <rok at garbas.si>
Commit: https://github.com/plone/mockup/commit/de2b3b5f528c8e45d67464d4c51022ab34900ade

Merge pull request #346 from plone/garbas-update-npm-and-bower-packages

updated npm and bower packages

Files changed:
M Gruntfile.js
M Makefile
M bower.json
M bower.nix
M package.json
M package.nix
D dev.nix
D js/grunt.js

diff --git a/Gruntfile.js b/Gruntfile.js
index e5c2f47..a3129fe 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -3,7 +3,7 @@
 module.exports = function(grunt) {
   'use strict';
 
-  var MockupGrunt = require('./js/grunt'),
+  var MockupGrunt = require('./bower_components/mockup-core/js/grunt'),
       requirejsOptions = require('./js/config'),
       mockup = new MockupGrunt(requirejsOptions),
       docsExtraIncludes = [];
@@ -19,11 +19,11 @@ module.exports = function(grunt) {
       docs: {
         files: [
           { expand: true, src: 'index.html', dest: 'docs/dev/' },
-          { expand: true, src: 'js/*', dest: 'docs/dev/' },
-          { expand: true, src: 'lib/*', dest: 'docs/dev/' },
-          { expand: true, src: 'bower_components/*', dest: 'docs/dev/' },
-          { expand: true, src: 'build/*', dest: 'docs/dev/' },
-          { expand: true, src: 'less/*', dest: 'docs/dev/' }
+          { expand: true, src: 'js/**', dest: 'docs/dev/' },
+          { expand: true, src: 'lib/**', dest: 'docs/dev/' },
+          { expand: true, src: 'bower_components/**', dest: 'docs/dev/' },
+          { expand: true, src: 'build/**', dest: 'docs/dev/' },
+          { expand: true, src: 'less/**', dest: 'docs/dev/' }
         ]
       }
     },
diff --git a/Makefile b/Makefile
index 7153e87..df8ee73 100644
--- a/Makefile
+++ b/Makefile
@@ -45,8 +45,8 @@ bootstrap-common:
 
 bootstrap: clean bootstrap-common
 	$(NPM) link --prefix=$(NODE_PATH)
+	NODE_PATH=$(NODE_PATH) $(BOWER) install --config.interactive=0
 	NODE_PATH=$(NODE_PATH) $(GRUNT) sed:bootstrap
-	$(BOWER) install
 
 bootstrap-nix: clean bootstrap-common
 	nix-build default.nix -A build -o nixenv
diff --git a/bower.json b/bower.json
index 8c2a5f7..0109dc7 100644
--- a/bower.json
+++ b/bower.json
@@ -3,23 +3,23 @@
   "version": "1.6.0",
   "description": "Plone core patterns",
   "dependencies": {
-    "ace-builds": "1.1.1",
-    "backbone": "1.1.0",
+    "ace-builds": "1.1.3",
+    "backbone": "1.1.2",
     "backbone.paginator": "0.8.1",
-    "bootstrap": "3.1.0",
-    "console-polyfill": "0.1.0",
-    "domready": "7f34949ce7453010c4984fb950eaeb5cfc583f94",
-    "dropzone": "3.8.3",
+    "bootstrap": "3.1.1",
+    "console-polyfill": "0.1.1",
+    "domready": "1.0.4",
+    "dropzone": "3.8.4",
     "es5-shim": "2.3.0",
     "html5shiv": "3.7.0",
-    "jqtree": "0.19.0",
+    "jqtree": "0.20.0",
     "jquery": "1.8.3",
     "jquery-form": "3.46.0",
     "jquery.cookie": "1.4.0",
     "lodash": "2.4.1",
-    "mockup-core": "1.0.2",
-    "moment": "2.5.0",
-    "pickadate": "3.3.2",
+    "mockup-core": "1.1.1",
+    "moment": "2.5.1",
+    "pickadate": "3.4.0",
     "requirejs-text": "2.0.10",
     "respond": "1.4.2",
     "select2": "3.4.5"
diff --git a/bower.nix b/bower.nix
index 555bb90..2e78075 100644
--- a/bower.nix
+++ b/bower.nix
@@ -1,122 +1,118 @@
 { }: [
+  { name = "console-polyfill";
+    version = "0.1.1";
+    target = "0.1.1";
+    outputHash = "1ql54f9mwzn0kmgy01bsdfgx04hs3a6vzk9yjzckfaikigad5czv";
+  }
   { name = "domready";
-    version = "7f34949ce7453010c4984fb950eaeb5cfc583f94";
-    target = "7f34949ce7453010c4984fb950eaeb5cfc583f94";
-    outputHash = "015qgd1cb4hfwn7nddkjirizr8qgpbkfj0vgbjms9pdlvwvq60gg";
+    version = "1.0.4";
+    target = "1.0.4";
+    outputHash = "1d3h4vyp9lswbz9603mrci54gmj89vgd9rfffrb9r4n439vwcwif";
   }
-  { name = "es5-shim";
-    version = "2.3.0";
-    target = "2.3.0";
-    outputHash = "021mwrjnrhf64sx7nqmi1q52ypm10njp9m3pd0mvf9h139v98x9y";
+  { name = "jquery.cookie";
+    version = "1.4.0";
+    target = "1.4.0";
+    outputHash = "1ad2k90b1f4fjazs6jzma4gxpqmwbzra36hrnchjp223hnasv263";
+  }
+  { name = "requirejs-text";
+    version = "2.0.10";
+    target = "2.0.10";
+    outputHash = "0s83zzk9syh568fjlzfdzmbb2csx1nmkcbvcjimi1achl0v7sk4q";
+  }
+  { name = "mockup-core";
+    version = "1.1.0";
+    target = "1.1.0";
+    outputHash = "056ahxj4p890cpwsa1jklysf01x4w2nw50pnh8ihzjljafmyxsr9";
   }
   { name = "jquery-form";
     version = "3.46.0";
     target = "3.46.0";
     outputHash = "11bnyx8ig3bc4vwskd99zxzbnzayh18vdkaklmjiwkg8jbcxix40";
   }
-  { name = "console-polyfill";
-    version = "0.1.0";
-    target = "0.1.0";
-    outputHash = "1np2wd11bh21rnsc3japc7s883pdimxm5gfvfd60sx1hbbcvgz8d";
-  }
   { name = "respond";
     version = "1.4.2";
     target = "1.4.2";
     outputHash = "0nhrsy1iyrqvrb7pxpw8d3dqhzd0wgbbscf3wzixx3xbi6v4j6fk";
   }
-  { name = "jquery";
-    version = "1.8.3";
-    target = "1.8.3";
-    outputHash = "1jxwzq9wx5lavr220agm12p1abqwasv607f4vgini9rxbfp2ym1w";
+  { name = "dropzone";
+    version = "3.8.4";
+    target = "3.8.4";
+    outputHash = "1hbr2bhm9250xk3apvbinns0aiw02wxh4idzlgb8jcngb42w1r6k";
   }
-  { name = "requirejs-text";
-    version = "2.0.10";
-    target = "2.0.10";
-    outputHash = "0s83zzk9syh568fjlzfdzmbb2csx1nmkcbvcjimi1achl0v7sk4q";
+  { name = "es5-shim";
+    version = "2.3.0";
+    target = "2.3.0";
+    outputHash = "021mwrjnrhf64sx7nqmi1q52ypm10njp9m3pd0mvf9h139v98x9y";
   }
   { name = "select2";
     version = "3.4.5";
     target = "3.4.5";
     outputHash = "1aibpwlnj5d10s7m7a7fci9jnv5nq1bq881fk952a8xz3p33mmd1";
   }
-  { name = "sinonjs";
-    version = "1.7.3";
-    target = "1.7.3";
-    outputHash = "0gkh9r5j5yzw1xn3l0ij828b7rd9mvfk5yj4wsvavlcm0m74znp3";
+  { name = "jqtree";
+    version = "0.20.0";
+    target = "0.20.0";
+    outputHash = "11xb3f510ngi27rp54xzhg5n6zdpib3cq0w27njjdkhy0259j7sg";
+  }
+  { name = "backbone.paginator";
+    version = "0.8.1";
+    target = "0.8.1";
+    outputHash = "1caknrjn4iz1yg11g3ilma8l6mjgpgc9pzmwa4vz3r5gf1pcb2ds";
   }
-  { name = "dropzone";
-    version = "3.8.3";
-    target = "3.8.3";
-    outputHash = "1w1rqa8nwqs07ir4cwvir37jy120vj3vsp2c96flrivjkmbclwlc";
+  { name = "jquery";
+    version = "1.8.3";
+    target = "1.8.3";
+    outputHash = "1frlqnm1rhwwbvcp4i5ysb1adxbcsb90kh369nw3drgi9ky9x0sy";
   }
   { name = "moment";
-    version = "2.5.0";
-    target = "2.5.0";
-    outputHash = "1alj5ls5yz0dswsvvh0r6mal6kh9yh43nfrhyykfy3vms0pik2hr";
+    version = "2.5.1";
+    target = "2.5.1";
+    outputHash = "0bibpc7xjn8b9irm49679hzcadp5vacas9r5gdhz92h2bznv01nb";
   }
-  { name = "jqtree";
-    version = "0.19.0";
-    target = "0.19.0";
-    outputHash = "04dmf0mvv41qgaw098rj0swx7pj435cg65v574yjimjkcvxkaqc6";
-  }
-  { name = "mockup-core";
-    version = "1.0.2";
-    target = "1.0.2";
-    outputHash = "1sdpz7pqymz53kidcxdpkl35xnv3ycdk9s2pa7x9vqmk2fb3z5mm";
+  { name = "react";
+    version = "0.9.0";
+    target = "0.9.0";
+    outputHash = "180m4lj68hjh6hvirb1pvws61ljhry30pyvbhhadzl1zn3jf90h7";
   }
-  { name = "expect";
-    version = "0.2.0";
-    target = "0.2.0";
-    outputHash = "0n6019p3j2vcd8lkg8ylks0da2v9971m9p0lrwkaa3chza65yxbd";
+  { name = "marked";
+    version = "0.3.2";
+    target = "0.3.2";
+    outputHash = "1s17a069bdfr9gxnmk7nvlb0yivnklq047lw2zjsdasmdb77kd2l";
   }
   { name = "lodash";
     version = "2.4.1";
     target = "2.4.1";
     outputHash = "08jmf5hq8r055cq8c3flkg1ycmpdrrgi6s9070lddk6jljaqa2ha";
   }
-  { name = "backbone.paginator";
-    version = "0.8.1";
-    target = "0.8.1";
-    outputHash = "1caknrjn4iz1yg11g3ilma8l6mjgpgc9pzmwa4vz3r5gf1pcb2ds";
+  { name = "bootstrap";
+    version = "3.1.1";
+    target = "3.1.1";
+    outputHash = "1n7ngrymiv5pbivw36wmryahs0j132i6hzy25jwqhs9k36qr16xb";
   }
   { name = "pickadate";
-    version = "3.3.2";
-    target = "3.3.2";
-    outputHash = "17dy79llznqx05dmifhb08f6pxmznkx7bh0pld17ps6s869bkz21";
+    version = "3.4.0";
+    target = "3.4.0";
+    outputHash = "1f15vw4crj6zjyqx47n1ncjldh8alzdkf04jn0m8xplzz3sfl48i";
   }
-  { name = "ace-builds";
-    version = "1.1.1";
-    target = "1.1.1";
-    outputHash = "13p97qjs62g1vni79xy3aww6h4n3ppv62s8ciccrkvm907n0ql1j";
+  { name = "backbone";
+    version = "1.1.2";
+    target = "1.1.2";
+    outputHash = "1h5yy2lbwd8ik6cyi234hv4i0cy1dijlh6s65kqi0asq1qzi18bs";
   }
   { name = "html5shiv";
     version = "3.7.0";
     target = "3.7.0";
     outputHash = "14cig7a7bjnbyvnk4rpf6l74j33rp1jaacigasgkgg6rzay7lcgs";
   }
-  { name = "marked";
-    version = "0.3.0";
-    target = "0.3.0";
-    outputHash = "1p1f4lxrjkzhxv1q2bb9yrlw60zwxnkba2zaziya0rw3w54gry6b";
-  }
-  { name = "react";
-    version = "0.8.0";
-    target = "0.8.0";
-    outputHash = "1bjcgkz4qn756lpl9nyp7q2swiwv7ffwdaagqbzi4ginrc7q6p9i";
-  }
-  { name = "bootstrap";
-    version = "3.1.0";
-    target = "3.1.0";
-    outputHash = "0q725cpz7lfryfh7k07b9h6dw7r55d47zgywv2rgglwhi7hgkwll";
+  { name = "underscore";
+    version = "1.6.0";
+    target = ">=1.5.0";
+    outputHash = "0sdqbyqx56awpd481plp9x16ii9ws0kmi3kmpinj4nzlqv8p9jrv";
   }
-  { name = "jquery.cookie";
-    version = "1.4.0";
-    target = "1.4.0";
-    outputHash = "1ad2k90b1f4fjazs6jzma4gxpqmwbzra36hrnchjp223hnasv263";
+  { name = "ace-builds";
+    version = "1.1.3";
+    target = "1.1.3";
+    outputHash = "0n5cbasg4f09scpkb38gvb70xsvl0x27dj2pxl8iknaqqfhia137";
   }
-  { name = "backbone";
-    version = "1.1.0";
-    target = "1.1.0";
-    outputHash = "1rmjv0nhr7zbhh8553as6p1x8zraziz0y9s80b9b7bn4dni1apgq";
- } 
 ]
+
diff --git a/dev.nix b/dev.nix
deleted file mode 100644
index 615f276..0000000
--- a/dev.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ }:
-
-let
-  pkgs = import <nixpkgs> { };
-in
-
-with pkgs;
-
-buildEnv {
-  name = "mockup-env";
-  ignoreCollisions = true;
-  paths = [
-    nodejs
-    nodePackages."bower"
-    nodePackages."grunt-cli"
-    nodePackages."grunt-contrib-jshint"
-    nodePackages."grunt-contrib-requirejs"
-    nodePackages."grunt-contrib-less"
-    nodePackages."grunt-contrib-cssmin"
-    nodePackages."grunt-contrib-uglify"
-    nodePackages."grunt-karma"
-    nodePackages."grunt-sed"
-    nodePackages."karma"
-    nodePackages."karma-mocha"
-    nodePackages."karma-coverage"
-    nodePackages."karma-requirejs"
-    nodePackages."karma-sauce-launcher"
-    nodePackages."karma-chrome-launcher"
-    nodePackages."karma-junit-reporter"
-    nodePackages."almond"
-    nodePackages."lcov-result-merger"
-    nodePackages."coveralls"
-  ];
-}
diff --git a/js/grunt.js b/js/grunt.js
deleted file mode 100644
index 45b53dc..0000000
--- a/js/grunt.js
+++ /dev/null
@@ -1,370 +0,0 @@
-/* globals module:true */
-
-(function() {
-  'use strict';
-
-  var extend = require('extend'),
-      karmaConfig = require('../node_modules/karma/lib/config'),
-      MockupGrunt = function (requirejsOptions) { this.init(requirejsOptions); };
-
-  MockupGrunt.prototype = {
-
-    sections: {
-      requirejs: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.requirejs = this.gruntConfig.requirejs || {};
-          this.gruntConfig.requirejs[name] = this.gruntConfig.requirejs[name] || {};
-          this.gruntConfig.requirejs[name].options = this.gruntConfig.requirejs[name].options || {};
-          this.gruntConfig.requirejs[name].options = {
-            name: 'node_modules/requirejs/require.js',
-            include: ['mockup-bundles-' + name].concat(bundleOptions.extraInclude || []),
-            exclude: bundleOptions.exclude || [],
-            insertRequire: ['mockup-bundles-' + name],
-            out: bundleOptions.path + name + '.min.js'
-          };
-        }
-      },
-      uglify: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.uglify = this.gruntConfig.uglify || {};
-          this.gruntConfig.uglify[name] = this.gruntConfig.uglify[name] || {};
-          this.gruntConfig.uglify[name].files = this.gruntConfig.uglify[name].files || {};
-          this.gruntConfig.uglify[name].files[bundleOptions.path + name + '.js'] = [
-            'node_modules/grunt-contrib-less/node_modules/less/dist/less-1.6.1.js',
-            'bower_components/domready/ready.js',
-            'node_modules/requirejs/require.js',
-            'bower_components/jquery/jquery.js',
-            'js/bundles/' + name + '_develop.js'
-          ];
-        }
-      },
-      less: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.less = this.gruntConfig.less || {};
-          this.gruntConfig.less[name] = this.gruntConfig.less[name] || {};
-          this.gruntConfig.less[name].files = this.gruntConfig.less[name].files || {};
-          this.gruntConfig.less[name].files[bundleOptions.path + name + '.min.css'] = 'less/' + name + '.less';
-        }
-      },
-      copy: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.copy = this.gruntConfig.copy || {};
-          this.gruntConfig.copy[name] = this.gruntConfig.copy[name] || {};
-          this.gruntConfig.copy[name].files = this.gruntConfig.copy[name].files || [];
-          this.gruntConfig.copy[name].files = this.gruntConfig.copy[name].files.concat([
-            {
-              expand: true, cwd: 'bower_components/bootstrap/dist/fonts/', src: 'glyphicons-halflings-regular.*', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-bootstrap-' + src; }
-            }, {
-              expand: true, cwd: 'lib/tinymce/skins/lightgray/fonts/', src: 'icomoon.*', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-tinymce-' + src; }
-            }, {
-              expand: true, cwd: 'lib/tinymce/skins/lightgray/img/', src: 'loader.gif', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-tinymce-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/jqtree/', src: 'jqtree-circle.png', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-jqtree-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/select2/', src: 'select2*.png', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-select2-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/select2/', src: 'select2*.gif', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-select2-' + src; }
-            }, {
-              expand: true, cwd: 'bower_components/dropzone/downloads/images/', src: 'spritemap*', dest: bundleOptions.path,
-              rename: function(dest, src) { return dest + name + '-dropzone-' + src; }
-            }
-          ]);
-        }
-      },
-      sed: {
-        registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-          this.gruntConfig.sed = this.gruntConfig.sed || {};
-          this.gruntConfig.sed[name + '-bootstrap-glyphicons'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular',
-            replacement: 'url(\'' + bundleOptions.url + '-bootstrap-glyphicons-halflings-regular'
-          };
-          this.gruntConfig.sed[name + '-dropzone-spritemap'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\("../images/spritemap',
-            replacement: 'url(\'' + bundleOptions.url + '-dropzone-spritemap'
-          };
-          this.gruntConfig.sed[name + '-select2-images'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'select2',
-            replacement: 'url(\'' + bundleOptions.url + '-select2-select2'
-          };
-          this.gruntConfig.sed[name + '-tinymce-icomoon'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'fonts/icomoon',
-            replacement: 'url(\'' + bundleOptions.url + '-tinymce-icomoon'
-          };
-          this.gruntConfig.sed[name + '-tinymce-loader'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(\'img/loader.gif',
-            replacement: 'url(\'' + bundleOptions.url + '-tinymce-loader.gif'
-          };
-          this.gruntConfig.sed[name + '-jqtree-circle'] = {
-            path: bundleOptions.path + name + '.min.css',
-            pattern: 'url\\(jqtree-circle.png',
-            replacement: 'url(\'' + bundleOptions.url + '-jqtree-jqtree-circle.png\''
-          };
-        }
-      }
-
-    },
-    init: function(requirejsOptions) {
-      this.requirejsOptions = requirejsOptions;
-      this.patterns = [];
-      this.bundles = {};
-      this.gruntConfig = {};
-      this.files = [
-        /*
-        * include initial framework (mocha and requirejs) with html5
-        * shims/shams/polyfills
-        */
-        'bower_components/es5-shim/es5-shim.js',
-        'bower_components/es5-shim/es5-sham.js',
-        'bower_components/console-polyfill/index.js',
-        'node_modules/mocha/mocha.js',
-        'node_modules/karma-mocha/lib/adapter.js',
-        'node_modules/requirejs/require.js',
-        'node_modules/karma-requirejs/lib/adapter.js',
-        /*
-        * include requirejs configuration
-        */
-        'js/config.js',
-
-        /*
-        * include karma requirejs configuration
-        */
-        'tests/config.js',
-      ];
-
-      /*
-      * provide (but not include) all scripts defined in requirejs's
-      * configuration
-      *
-      * also at the same time create a list of all patterns to be loaded with
-      * docs bundle
-      */
-      var path;
-      for (var key in this.requirejsOptions.paths) {
-        path = this.requirejsOptions.paths[key];
-        if (path.indexOf('.md') !== path.length - 3) {
-          this.files.push({ pattern: path + '.js', included: false });
-        }
-        if (key.indexOf('mockup-patterns-') === 0) {
-          this.patterns.push(key);
-        }
-      }
-
-      /*
-      * provide (but not include) all files in "tests/" and "js/" folder
-      * those files will be loaded by requirejs at later points
-      */
-      this.files = this.files.concat([
-        {pattern: 'tests/example-resource*', included: false},
-        {pattern: 'tests/json/*.json', included: false},
-        {pattern: 'tests/fakeserver*', included: false},
-        {pattern: 'tests/*-test.js', included: false},
-        {pattern: 'tests/**/*-test.js', included: false},
-        {pattern: 'js/ui/**/*.js', included: false},
-        {pattern: 'js/ui/**/*.xml', included: false},
-        {pattern: 'js/patterns/structure/**/*.js', included: false},
-        {pattern: 'js/patterns/structure/**/*.xml', included: false},
-        {pattern: 'js/patterns/filemanager/**/*.xml', included: false},
-        {pattern: 'js/patterns/filemanager/**/*.js', included: false},
-        {pattern: 'js/patterns/tinymce/**/*.xml', included: false},
-        {pattern: 'js/patterns/tinymce/**/*.js', included: false},
-      ]);
-
-
-    },
-    registerBundle: function(name, customGruntConfig, bundleOptions, sections) {
-
-      /*
-       * TODO: add description
-       */
-      extend(true, this.gruntConfig, customGruntConfig || {});
-
-      /*
-       * TODO: add description
-       */
-      bundleOptions = extend(true, {
-        path: 'build/',
-        url: ' ++resource++plone.app.' + name,
-        insertExtraRequires: []
-      }, bundleOptions || {});
-
-      /*
-       * TODO: add description
-       */
-      sections = sections || ['requirejs', 'uglify', 'less', 'copy', 'sed'];
-
-      /*
-       * TODO: add description
-       */
-      for (var i = 0; i < sections.length; i = i + 1) {
-        if (this.sections[sections[i]]) {
-          this.sections[sections[i]].registerBundle.apply(
-            this,
-            [ name, customGruntConfig, bundleOptions, sections ]
-          );
-        }
-      }
-
-      /*
-       * TODO: add description
-       */
-      var bundleTasks = [];
-      for (var j = 0; j < sections.length; j = j + 1) {
-        if (this.gruntConfig[sections[j]][name] !== {} && sections[j] !== 'sed') {
-          bundleTasks.push(sections[j] + ':' + name);
-        } else if (sections[j] === 'sed') {
-          for (var sedSection in this.gruntConfig.sed) {
-            if (this.gruntConfig.sed.hasOwnProperty(sedSection) && sedSection.indexOf(name) === 0) {
-              bundleTasks.push('sed:' + sedSection);
-            }
-          }
-        }
-      }
-      this.bundles[name] = bundleTasks;
-    },
-    initGrunt: function(grunt, customGruntConfig) {
-      extend(true, this.gruntConfig, customGruntConfig || {});
-
-      /*
-       * TODO: add description
-       */
-      var bundles = [];
-      for (var name in this.bundles) {
-        bundles.push('bundle-' + name);
-        grunt.registerTask('bundle-' + name, this.bundles[name]);
-      }
-      grunt.registerTask('test', [ 'jshint', 'jscs', 'karma:test' ]);
-      grunt.registerTask('test_once', [ 'jshint', 'jscs', 'karma:testOnce' ]);
-      grunt.registerTask('test_dev', [ 'karma:testDev' ]);
-      grunt.registerTask('test_ci', [ 'jshint', 'jscs', 'karma:testCI'].concat(bundles));
-
-      /*
-       * TODO: add description
-       */
-      grunt.initConfig(extend(true, {
-        jshint: { options: { jshintrc: '.jshintrc' }, all: ['Gruntfile.js', 'js/**/*.js', 'tests/**/*.js'] },
-        jscs: { options: { config: '.jscs.json' }, all: ['Gruntfile.js', 'js/**/*.js', 'tests/**/*.js'] },
-        karma: {
-          options: {
-            basePath: './',
-            frameworks: [],
-            files: this.files,
-            preprocessors: { 'js/**/*.js': 'coverage' },
-            reporters: ['dots', 'progress', 'coverage'],
-            coverageReporter: { type : 'lcov', dir : 'coverage/' },
-            port: 9876,
-            colors: true,
-            logLevel: karmaConfig.DEBUG_INFO,
-            browserNoActivityTimeout: 200000,
-            autoWatch: true,
-            captureTimeout: 60000,
-            plugins: [
-              'karma-mocha',
-              'karma-coverage',
-              'karma-requirejs',
-              'karma-sauce-launcher',
-              'karma-chrome-launcher',
-              'karma-phantomjs-launcher',
-              'karma-junit-reporter'
-            ]
-          },
-          test: {
-            browsers: ['PhantomJS']
-          },
-          testOnce: {
-            singleRun: true,
-            browsers: ['PhantomJS']
-          },
-          testDev: {
-            browsers: ['Chrome'],
-            preprocessors: {},
-            reporters: ['dots', 'progress'],
-            plugins: [
-              'karma-mocha',
-              'karma-requirejs',
-              'karma-chrome-launcher',
-            ]
-          },
-          testCI: {
-            singleRun: true,
-            port: 8080,
-            recordVideo: true,
-            reporters: ['junit', 'coverage', 'saucelabs'],
-            junitReporter: { outputFile: 'test-results.xml' },
-            sauceLabs: { testName: 'Mockup', startConnect: true },
-            browsers: [
-              'SL_Chrome',
-              'SL_Firefox',
-              //'SL_Opera',
-              //'SL_Safari',
-              //'SL_IE_8',
-              //'SL_IE_9',
-              //'SL_IE_10',
-              //'SL_IE_11'
-              //'SL_IPhone',
-              //'SL_IPad',
-              //'SL_Android'
-            ],
-            customLaunchers: {
-              'SL_Chrome': { base: 'SauceLabs', browserName: 'chrome', platform: 'Windows 8', version: '31' },
-              'SL_Firefox': { base: 'SauceLabs', browserName: 'firefox', platform: 'Windows 8', version: '26' },
-              'SL_Opera': { base: 'SauceLabs', browserName: 'opera', platform: 'Windows 7', version: '12' },
-              'SL_Safari': { base: 'SauceLabs', browserName: 'safari', platform: 'Mac 10.8', version: '6' },
-              'SL_IE_8': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 7', version: '8' },
-              'SL_IE_9': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 2008', version: '9' },
-              'SL_IE_10': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 2012', version: '10' },
-              'SL_IE_11': { base: 'SauceLabs', browserName: 'internet explorer', platform: 'Windows 8.1', version: '11' },
-              'SL_IPhone': { base: 'SauceLabs', browserName: 'iphone', platform: 'OS X 10.8', version: '6.1' },
-              'SL_IPad': { base: 'SauceLabs', browserName: 'ipad', platform: 'OS X 10.8', version: '6.1' },
-              'SL_Android': { base: 'SauceLabs', browserName: 'android', platform: 'Linux', version: '4.0' }
-            }
-          }
-        },
-        requirejs: {
-          options: this.requirejsOptions
-        },
-        less: {
-          options: {
-            compress: true,
-            cleancss: false,
-            ieCompat: true,
-            paths: ['less']
-          }
-        },
-        sed: {
-          'bootstrap': {
-            path: 'node_modules/lcov-result-merger/index.js',
-            pattern: 'throw new Error\\(\'Unknown Prefix ',
-            replacement: '//throw// new Error(\'Unknown Prefix '
-          }
-        }
-      }, this.gruntConfig));
-
-      /*
-       * TODO: add description
-       */
-      grunt.loadNpmTasks('grunt-contrib-copy');
-      grunt.loadNpmTasks('grunt-contrib-jshint');
-      grunt.loadNpmTasks('grunt-contrib-less');
-      grunt.loadNpmTasks('grunt-contrib-requirejs');
-      grunt.loadNpmTasks('grunt-contrib-uglify');
-      grunt.loadNpmTasks('grunt-jscs-checker');
-      grunt.loadNpmTasks('grunt-karma');
-      grunt.loadNpmTasks('grunt-sed');
-
-    }
-  };
-
-  module.exports = MockupGrunt;
-
-})();
diff --git a/package.json b/package.json
index ccbde03..627562d 100644
--- a/package.json
+++ b/package.json
@@ -4,10 +4,10 @@
   "description": "Collection of Plone CMS Core Patterns",
   "homepage": "http://plone.github.io/mockup",
   "devDependencies": {
-    "bower": "~1.2.8",
+    "bower": "~1.3.1",
     "coveralls": "~2.8.0",
     "extend": "~1.2.1",
-    "grunt": "~0.4.2",
+    "grunt": "~0.4.3",
     "grunt-cli": "~0.1.13",
     "grunt-contrib-copy": "~0.5.0",
     "grunt-contrib-jshint": "~0.8.0",
@@ -15,16 +15,16 @@
     "grunt-contrib-requirejs": "~0.4.3",
     "grunt-contrib-uglify": "~0.4.0",
     "grunt-jscs-checker": "~0.4.0",
-    "grunt-karma": "~0.7.2",
+    "grunt-karma": "~0.8.0",
     "grunt-sed": "~0.1.1",
-    "karma": "~0.11.14",
+    "karma": "~0.12.0",
     "karma-chrome-launcher": "~0.1.2",
     "karma-coverage": "~0.2.0",
     "karma-junit-reporter": "~0.2.1",
     "karma-mocha": "~0.1.1",
     "karma-phantomjs-launcher": "~0.1.2",
     "karma-requirejs": "~0.2.1",
-    "karma-sauce-launcher": "~0.2.0",
+    "karma-sauce-launcher": "~0.2.1",
     "karma-script-launcher": "~0.1.0",
     "lcov-result-merger": "~0.0.2",
     "mocha": "~1.17.1",
diff --git a/package.nix b/package.nix
index dfccfe8..8eaf06d 100644
--- a/package.nix
+++ b/package.nix
@@ -120,25 +120,6 @@
     ];
     passthru.names = [ "amdefine" ];
   };
-  by-spec."ansi-styles"."~0.1.0" =
-    self.by-version."ansi-styles"."0.1.2";
-  by-version."ansi-styles"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz";
-        name = "ansi-styles-0.1.2.tgz";
-        sha1 = "5bab27c2e0bbe944ee42057cf23adee970abc7c6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-styles" ];
-  };
   by-spec."ansi-styles"."~0.2.0" =
     self.by-version."ansi-styles"."0.2.0";
   by-version."ansi-styles"."0.2.0" = lib.makeOverridable self.buildNodePackage {
@@ -260,6 +241,63 @@
     ];
     passthru.names = [ "argparse" ];
   };
+  by-spec."array-filter"."~0.0.0" =
+    self.by-version."array-filter"."0.0.1";
+  by-version."array-filter"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-filter-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
+        name = "array-filter-0.0.1.tgz";
+        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-filter" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-filter" ];
+  };
+  by-spec."array-map"."~0.0.0" =
+    self.by-version."array-map"."0.0.0";
+  by-version."array-map"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-map-0.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
+        name = "array-map-0.0.0.tgz";
+        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-map" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-map" ];
+  };
+  by-spec."array-reduce"."~0.0.0" =
+    self.by-version."array-reduce"."0.0.0";
+  by-version."array-reduce"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-array-reduce-0.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
+        name = "array-reduce-0.0.0.tgz";
+        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-reduce" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-reduce" ];
+  };
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
   by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
@@ -539,15 +577,15 @@
     ];
     passthru.names = [ "boom" ];
   };
-  by-spec."bower"."~1.2.8" =
-    self.by-version."bower"."1.2.8";
-  by-version."bower"."1.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.8";
+  by-spec."bower"."~1.3.1" =
+    self.by-version."bower"."1.3.1";
+  by-version."bower"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.8.tgz";
-        name = "bower-1.2.8.tgz";
-        sha1 = "f63c0804a267d5ffaf2fd3fd488367e73dce202f";
+        url = "http://registry.npmjs.org/bower/-/bower-1.3.1.tgz";
+        name = "bower-1.3.1.tgz";
+        sha1 = "60d564e774be4e60631a159566830fce260e469a";
       })
     ];
     buildInputs =
@@ -561,42 +599,44 @@
       self.by-version."bower-logger"."0.2.2"
       self.by-version."bower-registry-client"."0.1.6"
       self.by-version."cardinal"."0.4.4"
-      self.by-version."chalk"."0.2.1"
+      self.by-version."chalk"."0.4.0"
       self.by-version."chmodr"."0.1.0"
       self.by-version."decompress-zip"."0.0.4"
       self.by-version."fstream"."0.1.25"
       self.by-version."fstream-ignore"."0.0.7"
       self.by-version."glob"."3.2.9"
       self.by-version."graceful-fs"."2.0.2"
-      self.by-version."handlebars"."1.0.12"
-      self.by-version."inquirer"."0.3.5"
+      self.by-version."handlebars"."1.3.0"
+      self.by-version."inquirer"."0.4.1"
       self.by-version."junk"."0.2.2"
       self.by-version."mkdirp"."0.3.5"
-      self.by-version."mout"."0.7.1"
+      self.by-version."mout"."0.9.0"
       self.by-version."nopt"."2.1.2"
-      self.by-version."lru-cache"."2.3.1"
+      self.by-version."lru-cache"."2.5.0"
       self.by-version."open"."0.0.4"
       self.by-version."osenv"."0.0.3"
       self.by-version."promptly"."0.2.0"
-      self.by-version."q"."0.9.7"
-      self.by-version."request"."2.27.0"
+      self.by-version."q"."1.0.1"
+      self.by-version."request"."2.33.0"
       self.by-version."request-progress"."0.3.1"
       self.by-version."retry"."0.6.0"
       self.by-version."rimraf"."2.2.6"
-      self.by-version."semver"."2.1.0"
-      self.by-version."stringify-object"."0.1.8"
-      self.by-version."sudo-block"."0.2.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."stringify-object"."0.2.0"
       self.by-version."tar"."0.1.19"
       self.by-version."tmp"."0.0.23"
       self.by-version."update-notifier"."0.1.7"
       self.by-version."which"."1.0.5"
       self.by-version."p-throttler"."0.0.1"
+      self.by-version."insight"."0.3.1"
+      self.by-version."is-root"."0.1.0"
+      self.by-version."shell-quote"."1.4.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower" ];
   };
-  "bower" = self.by-version."bower"."1.2.8";
+  "bower" = self.by-version."bower"."1.3.1";
   by-spec."bower-config"."~0.4.3" =
     self.by-version."bower-config"."0.4.5";
   by-version."bower-config"."0.4.5" = lib.makeOverridable self.buildNodePackage {
@@ -684,7 +724,7 @@
     ];
     passthru.names = [ "bower-json" ];
   };
-  by-spec."bower-logger"."~0.2.1" =
+  by-spec."bower-logger"."~0.2.2" =
     self.by-version."bower-logger"."0.2.2";
   by-version."bower-logger"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "node-bower-logger-0.2.2";
@@ -852,28 +892,7 @@
     ];
     passthru.names = [ "chalk" ];
   };
-  by-spec."chalk"."~0.1.1" =
-    self.by-version."chalk"."0.1.1";
-  by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz";
-        name = "chalk-0.1.1.tgz";
-        sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."has-color"."0.1.4"
-      self.by-version."ansi-styles"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chalk" ];
-  };
-  by-spec."chalk"."~0.2.0" =
+  by-spec."chalk"."~0.2.1" =
     self.by-version."chalk"."0.2.1";
   by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "node-chalk-0.2.1";
@@ -894,8 +913,6 @@
     ];
     passthru.names = [ "chalk" ];
   };
-  by-spec."chalk"."~0.2.1" =
-    self.by-version."chalk"."0.2.1";
   by-spec."chalk"."~0.4.0" =
     self.by-version."chalk"."0.4.0";
   by-spec."chmodr"."~0.1.0" =
@@ -937,14 +954,14 @@
     passthru.names = [ "chokidar" ];
   };
   by-spec."clean-css"."2.1.x" =
-    self.by-version."clean-css"."2.1.4";
-  by-version."clean-css"."2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.1.4";
+    self.by-version."clean-css"."2.1.6";
+  by-version."clean-css"."2.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.4.tgz";
-        name = "clean-css-2.1.4.tgz";
-        sha1 = "82b59182c8aa02d7050329b0b977f7651bf9875e";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.6.tgz";
+        name = "clean-css-2.1.6.tgz";
+        sha1 = "28732d9dd78225584c738b624d44b075e2a411ba";
       })
     ];
     buildInputs =
@@ -1016,25 +1033,6 @@
     ];
     passthru.names = [ "coffee-script" ];
   };
-  by-spec."coffee-script"."~1.6" =
-    self.by-version."coffee-script"."1.6.3";
-  by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        name = "coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
   by-spec."coffee-script-redux"."git+https://github.com/michaelficarra/CoffeeScriptRedux.git#9895cd1641fdf3a2424e662ab7583726bb0e35b3" =
     self.by-version."coffee-script-redux"."2.0.0-beta4";
   by-version."coffee-script-redux"."2.0.0-beta4" = lib.makeOverridable self.buildNodePackage {
@@ -1281,6 +1279,31 @@
     ];
     passthru.names = [ "configstore" ];
   };
+  by-spec."configstore"."~0.2.1" =
+    self.by-version."configstore"."0.2.2";
+  by-version."configstore"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-configstore-0.2.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/configstore/-/configstore-0.2.2.tgz";
+        name = "configstore-0.2.2.tgz";
+        sha1 = "ae0eb4f75833a4436f33456a4d2db11d69cc61ed";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."configstore" or []);
+    deps = [
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."js-yaml"."3.0.2"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.2"
+      self.by-version."uuid"."1.4.1"
+      self.by-version."object-assign"."0.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "configstore" ];
+  };
   by-spec."connect"."~2.12.0" =
     self.by-version."connect"."2.12.0";
   by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage {
@@ -1827,14 +1850,14 @@
     passthru.names = [ "es5-ext" ];
   };
   by-spec."escodegen"."*" =
-    self.by-version."escodegen"."1.2.0";
-  by-version."escodegen"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "escodegen-1.2.0";
+    self.by-version."escodegen"."1.3.0";
+  by-version."escodegen"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz";
-        name = "escodegen-1.2.0.tgz";
-        sha1 = "09de7967791cc958b7f89a2ddb6d23451af327e1";
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.0.tgz";
+        name = "escodegen-1.3.0.tgz";
+        sha1 = "9d7b4aa74aa32f300474381c098f930eb1e9973a";
       })
     ];
     buildInputs =
@@ -1873,6 +1896,27 @@
   };
   by-spec."escodegen"."1.2.x" =
     self.by-version."escodegen"."1.2.0";
+  by-version."escodegen"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-1.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz";
+        name = "escodegen-1.2.0.tgz";
+        sha1 = "09de7967791cc958b7f89a2ddb6d23451af327e1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."escodegen" or []);
+    deps = [
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."1.5.0"
+      self.by-version."esutils"."1.0.0"
+      self.by-version."source-map"."0.1.33"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "escodegen" ];
+  };
   by-spec."esprima"."1.0.3" =
     self.by-version."esprima"."1.0.3";
   by-version."esprima"."1.0.3" = lib.makeOverridable self.buildNodePackage {
@@ -2389,25 +2433,6 @@
     self.by-version."glob"."3.2.9";
   by-spec."glob"."~3.2.7" =
     self.by-version."glob"."3.2.9";
-  by-spec."graceful-fs"."~1.1" =
-    self.by-version."graceful-fs"."1.1.14";
-  by-version."graceful-fs"."1.1.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-1.1.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz";
-        name = "graceful-fs-1.1.14.tgz";
-        sha1 = "07078db5f6377f6321fceaaedf497de124dc9465";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
   by-spec."graceful-fs"."~1.2.0" =
     self.by-version."graceful-fs"."1.2.3";
   by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
@@ -2468,14 +2493,14 @@
     passthru.names = [ "growl" ];
   };
   by-spec."grunt"."0.4.x" =
-    self.by-version."grunt"."0.4.2";
-  by-version."grunt"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-0.4.2";
+    self.by-version."grunt"."0.4.3";
+  by-version."grunt"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz";
-        name = "grunt-0.4.2.tgz";
-        sha1 = "895b4f28a6102bffd41d365a65e8be2d6a293d93";
+        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.3.tgz";
+        name = "grunt-0.4.3.tgz";
+        sha1 = "6a8ab7010917ab3b08be9709109419b19d93ef8f";
       })
     ];
     buildInputs =
@@ -2492,27 +2517,30 @@
       self.by-version."iconv-lite"."0.2.11"
       self.by-version."minimatch"."0.2.14"
       self.by-version."nopt"."1.0.10"
-      self.by-version."rimraf"."2.0.3"
+      self.by-version."rimraf"."2.2.6"
       self.by-version."lodash"."0.9.2"
       self.by-version."underscore.string"."2.2.1"
       self.by-version."which"."1.0.5"
       self.by-version."js-yaml"."2.0.5"
       self.by-version."exit"."0.1.2"
       self.by-version."getobject"."0.1.0"
+      self.by-version."grunt-legacy-util"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt" ];
   };
   by-spec."grunt"."^0.4.0" =
-    self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
   by-spec."grunt"."~0.4" =
-    self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
   by-spec."grunt"."~0.4.0" =
-    self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
   by-spec."grunt"."~0.4.2" =
-    self.by-version."grunt"."0.4.2";
-  "grunt" = self.by-version."grunt"."0.4.2";
+    self.by-version."grunt"."0.4.3";
+  by-spec."grunt"."~0.4.3" =
+    self.by-version."grunt"."0.4.3";
+  "grunt" = self.by-version."grunt"."0.4.3";
   by-spec."grunt-cli"."~0.1.13" =
     self.by-version."grunt-cli"."0.1.13";
   by-version."grunt-cli"."0.1.13" = lib.makeOverridable self.buildNodePackage {
@@ -2552,7 +2580,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-copy" ];
   };
@@ -2574,7 +2602,7 @@
       self.by-version."jshint"."2.4.4"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-jshint" ];
   };
@@ -2598,7 +2626,7 @@
       self.by-version."chalk"."0.4.0"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-less" ];
   };
@@ -2620,7 +2648,7 @@
       self.by-version."requirejs"."2.1.11"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-requirejs" ];
   };
@@ -2639,12 +2667,12 @@
     buildInputs =
       (self.nativeDeps."grunt-contrib-uglify" or []);
     deps = [
-      self.by-version."uglify-js"."2.4.12"
+      self.by-version."uglify-js"."2.4.13"
       self.by-version."chalk"."0.4.0"
       self.by-version."maxmin"."0.1.0"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-contrib-uglify" ];
   };
@@ -2669,34 +2697,61 @@
       self.by-version."vow"."0.4.1"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-jscs-checker" ];
   };
   "grunt-jscs-checker" = self.by-version."grunt-jscs-checker"."0.4.0";
-  by-spec."grunt-karma"."~0.7.2" =
-    self.by-version."grunt-karma"."0.7.2";
-  by-version."grunt-karma"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-karma-0.7.2";
+  by-spec."grunt-karma"."~0.8.0" =
+    self.by-version."grunt-karma"."0.8.0";
+  by-version."grunt-karma"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-karma-0.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.7.2.tgz";
-        name = "grunt-karma-0.7.2.tgz";
-        sha1 = "1d041d9833671c2bca671cd66bd874c96b2a631e";
+        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.0.tgz";
+        name = "grunt-karma-0.8.0.tgz";
+        sha1 = "97dff7cf3b5b11c0262782ec2cc2a7be92313c37";
       })
     ];
     buildInputs =
       (self.nativeDeps."grunt-karma" or []);
     deps = [
       self.by-version."optimist"."0.6.1"
+      self.by-version."lodash"."2.4.1"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
-      self.by-version."karma"."0.11.14"
+      self.by-version."grunt"."0.4.3"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "grunt-karma" ];
   };
-  "grunt-karma" = self.by-version."grunt-karma"."0.7.2";
+  "grunt-karma" = self.by-version."grunt-karma"."0.8.0";
+  by-spec."grunt-legacy-util"."~0.1.2" =
+    self.by-version."grunt-legacy-util"."0.1.2";
+  by-version."grunt-legacy-util"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-grunt-legacy-util-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.1.2.tgz";
+        name = "grunt-legacy-util-0.1.2.tgz";
+        sha1 = "be84d337ef4a0137dc8566092a46528fd8957ebd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-legacy-util" or []);
+    deps = [
+      self.by-version."hooker"."0.2.3"
+      self.by-version."async"."0.1.22"
+      self.by-version."lodash"."0.9.2"
+      self.by-version."exit"."0.1.2"
+      self.by-version."underscore.string"."2.2.1"
+      self.by-version."getobject"."0.1.0"
+      self.by-version."which"."1.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "grunt-legacy-util" ];
+  };
   by-spec."grunt-lib-contrib"."~0.6.1" =
     self.by-version."grunt-lib-contrib"."0.6.1";
   by-version."grunt-lib-contrib"."0.6.1" = lib.makeOverridable self.buildNodePackage {
@@ -2734,7 +2789,7 @@
       self.by-version."replace"."0.2.9"
     ];
     peerDependencies = [
-      self.by-version."grunt"."0.4.2"
+      self.by-version."grunt"."0.4.3"
     ];
     passthru.names = [ "grunt-sed" ];
   };
@@ -2802,8 +2857,8 @@
     ];
     passthru.names = [ "handlebars" ];
   };
-  by-spec."handlebars"."~1.0.11" =
-    self.by-version."handlebars"."1.0.12";
+  by-spec."handlebars"."~1.3.0" =
+    self.by-version."handlebars"."1.3.0";
   by-spec."has-color"."~0.1.0" =
     self.by-version."has-color"."0.1.4";
   by-version."has-color"."0.1.4" = lib.makeOverridable self.buildNodePackage {
@@ -3030,7 +3085,7 @@
       self.by-version."coffee-script-redux"."2.0.0-beta4"
       self.by-version."istanbul"."0.2.6"
       self.by-version."optimist"."0.6.1"
-      self.by-version."escodegen"."1.2.0"
+      self.by-version."escodegen"."1.3.0"
       self.by-version."mkdirp"."0.3.5"
       self.by-version."which"."1.0.5"
       self.by-version."estraverse"."1.5.0"
@@ -3123,29 +3178,57 @@
   };
   by-spec."ini"."~1.1.0" =
     self.by-version."ini"."1.1.0";
-  by-spec."inquirer"."~0.3.0" =
-    self.by-version."inquirer"."0.3.5";
-  by-version."inquirer"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inquirer-0.3.5";
+  by-spec."inquirer"."~0.4.0" =
+    self.by-version."inquirer"."0.4.1";
+  by-version."inquirer"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inquirer-0.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz";
-        name = "inquirer-0.3.5.tgz";
-        sha1 = "a78be064ac9abf168147c02169a931d9a483a9f6";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.4.1.tgz";
+        name = "inquirer-0.4.1.tgz";
+        sha1 = "6cf74eb1a347f97a1a207bea8ad1c987d0ff4b81";
       })
     ];
     buildInputs =
       (self.nativeDeps."inquirer" or []);
     deps = [
-      self.by-version."lodash"."1.2.1"
+      self.by-version."lodash"."2.4.1"
       self.by-version."async"."0.2.10"
       self.by-version."cli-color"."0.2.3"
-      self.by-version."mute-stream"."0.0.3"
+      self.by-version."mute-stream"."0.0.4"
+      self.by-version."through"."2.3.4"
+      self.by-version."readline2"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
+  by-spec."insight"."~0.3.0" =
+    self.by-version."insight"."0.3.1";
+  by-version."insight"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-insight-0.3.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/insight/-/insight-0.3.1.tgz";
+        name = "insight-0.3.1.tgz";
+        sha1 = "1a14f32c06115c0850338c38a253d707b611d448";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."insight" or []);
+    deps = [
+      self.by-version."chalk"."0.4.0"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.2.2"
+      self.by-version."async"."0.2.10"
+      self.by-version."inquirer"."0.4.1"
+      self.by-version."object-assign"."0.1.2"
+      self.by-version."lodash.debounce"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "insight" ];
+  };
   by-spec."intersect"."~0.0.3" =
     self.by-version."intersect"."0.0.3";
   by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
@@ -3165,6 +3248,25 @@
     ];
     passthru.names = [ "intersect" ];
   };
+  by-spec."is-root"."~0.1.0" =
+    self.by-version."is-root"."0.1.0";
+  by-version."is-root"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-is-root-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/is-root/-/is-root-0.1.0.tgz";
+        name = "is-root-0.1.0.tgz";
+        sha1 = "825e394ab593df2d73c5d0092fce507270b53dcb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."is-root" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "is-root" ];
+  };
   by-spec."isbinaryfile"."~0.1.9" =
     self.by-version."isbinaryfile"."0.1.9";
   by-version."isbinaryfile"."0.1.9" = lib.makeOverridable self.buildNodePackage {
@@ -3369,6 +3471,8 @@
     ];
     passthru.names = [ "js-yaml" ];
   };
+  by-spec."js-yaml"."~3.0.1" =
+    self.by-version."js-yaml"."3.0.2";
   by-spec."jscs"."~1.3.0" =
     self.by-version."jscs"."1.3.0";
   by-version."jscs"."1.3.0" = lib.makeOverridable self.buildNodePackage {
@@ -3500,14 +3604,14 @@
     passthru.names = [ "junk" ];
   };
   by-spec."karma".">=0.11.11" =
-    self.by-version."karma"."0.11.14";
-  by-version."karma"."0.11.14" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.14";
+    self.by-version."karma"."0.12.0";
+  by-version."karma"."0.12.0" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.12.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.14.tgz";
-        name = "karma-0.11.14.tgz";
-        sha1 = "2f6f81611bfe62e588d4e1d63c14f3928971a77c";
+        url = "http://registry.npmjs.org/karma/-/karma-0.12.0.tgz";
+        name = "karma-0.12.0.tgz";
+        sha1 = "d4e3de26f5bd4e6d5d89b02a62d3f5ffe2ce96a3";
       })
     ];
     buildInputs =
@@ -3520,7 +3624,6 @@
       self.by-version."minimatch"."0.2.14"
       self.by-version."http-proxy"."0.10.4"
       self.by-version."optimist"."0.6.1"
-      self.by-version."coffee-script"."1.6.3"
       self.by-version."rimraf"."2.2.6"
       self.by-version."q"."0.9.7"
       self.by-version."colors"."0.6.2"
@@ -3537,14 +3640,12 @@
     passthru.names = [ "karma" ];
   };
   by-spec."karma".">=0.9" =
-    self.by-version."karma"."0.11.14";
+    self.by-version."karma"."0.12.0";
   by-spec."karma".">=0.9.3" =
-    self.by-version."karma"."0.11.14";
-  by-spec."karma"."~0.11.0" =
-    self.by-version."karma"."0.11.14";
-  by-spec."karma"."~0.11.14" =
-    self.by-version."karma"."0.11.14";
-  "karma" = self.by-version."karma"."0.11.14";
+    self.by-version."karma"."0.12.0";
+  by-spec."karma"."~0.12.0" =
+    self.by-version."karma"."0.12.0";
+  "karma" = self.by-version."karma"."0.12.0";
   by-spec."karma-chrome-launcher"."~0.1.2" =
     self.by-version."karma-chrome-launcher"."0.1.2";
   by-version."karma-chrome-launcher"."0.1.2" = lib.makeOverridable self.buildNodePackage {
@@ -3561,7 +3662,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-chrome-launcher" ];
   };
@@ -3585,7 +3686,7 @@
       self.by-version."dateformat"."1.0.7-1.2.3"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-coverage" ];
   };
@@ -3607,7 +3708,7 @@
       self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
@@ -3628,7 +3729,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
       self.by-version."mocha"."1.17.1"
     ];
     passthru.names = [ "karma-mocha" ];
@@ -3651,7 +3752,7 @@
       self.by-version."phantomjs"."1.9.7-1"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-phantomjs-launcher" ];
   };
@@ -3672,37 +3773,37 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
       self.by-version."requirejs"."2.1.11"
     ];
     passthru.names = [ "karma-requirejs" ];
   };
   "karma-requirejs" = self.by-version."karma-requirejs"."0.2.1";
-  by-spec."karma-sauce-launcher"."~0.2.0" =
-    self.by-version."karma-sauce-launcher"."0.2.0";
-  by-version."karma-sauce-launcher"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-sauce-launcher-0.2.0";
+  by-spec."karma-sauce-launcher"."~0.2.1" =
+    self.by-version."karma-sauce-launcher"."0.2.1";
+  by-version."karma-sauce-launcher"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-karma-sauce-launcher-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.0.tgz";
-        name = "karma-sauce-launcher-0.2.0.tgz";
-        sha1 = "0994da49a1774be876ff1b107fd47e8768e3ead0";
+        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.1.tgz";
+        name = "karma-sauce-launcher-0.2.1.tgz";
+        sha1 = "948a30c02def47eebbaaa538f54d4294a1885749";
       })
     ];
     buildInputs =
       (self.nativeDeps."karma-sauce-launcher" or []);
     deps = [
-      self.by-version."wd"."0.2.11"
+      self.by-version."wd"."0.2.12"
       self.by-version."sauce-connect-launcher"."0.2.2"
       self.by-version."q"."0.9.7"
       self.by-version."saucelabs"."0.1.1"
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
-  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.0";
+  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.1";
   by-spec."karma-script-launcher"."~0.1.0" =
     self.by-version."karma-script-launcher"."0.1.0";
   by-version."karma-script-launcher"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -3719,7 +3820,7 @@
     deps = [
     ];
     peerDependencies = [
-      self.by-version."karma"."0.11.14"
+      self.by-version."karma"."0.12.0"
     ];
     passthru.names = [ "karma-script-launcher" ];
   };
@@ -3839,7 +3940,7 @@
       self.by-version."mime"."1.2.11"
       self.by-version."request"."2.34.0"
       self.by-version."mkdirp"."0.3.5"
-      self.by-version."clean-css"."2.1.4"
+      self.by-version."clean-css"."2.1.6"
       self.by-version."source-map"."0.1.33"
     ];
     peerDependencies = [
@@ -3884,25 +3985,6 @@
     ];
     passthru.names = [ "lodash" ];
   };
-  by-spec."lodash"."~1.2.1" =
-    self.by-version."lodash"."1.2.1";
-  by-version."lodash"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz";
-        name = "lodash-1.2.1.tgz";
-        sha1 = "ed47b16e46f06b2b40309b68e9163c17e93ea304";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
-  };
   by-spec."lodash"."~1.3.1" =
     self.by-version."lodash"."1.3.1";
   by-version."lodash"."1.3.1" = lib.makeOverridable self.buildNodePackage {
@@ -4215,6 +4297,28 @@
     ];
     passthru.names = [ "lodash.bind" ];
   };
+  by-spec."lodash.debounce"."~2.4.1" =
+    self.by-version."lodash.debounce"."2.4.1";
+  by-version."lodash.debounce"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.debounce-2.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz";
+        name = "lodash.debounce-2.4.1.tgz";
+        sha1 = "d8cead246ec4b926e8b85678fc396bfeba8cc6fc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.debounce" or []);
+    deps = [
+      self.by-version."lodash.isfunction"."2.4.1"
+      self.by-version."lodash.isobject"."2.4.1"
+      self.by-version."lodash.now"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.debounce" ];
+  };
   by-spec."lodash.defaults"."~2.4.1" =
     self.by-version."lodash.defaults"."2.4.1";
   by-version."lodash.defaults"."2.4.1" = lib.makeOverridable self.buildNodePackage {
@@ -4335,6 +4439,26 @@
     ];
     passthru.names = [ "lodash.noop" ];
   };
+  by-spec."lodash.now"."~2.4.1" =
+    self.by-version."lodash.now"."2.4.1";
+  by-version."lodash.now"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-lodash.now-2.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz";
+        name = "lodash.now-2.4.1.tgz";
+        sha1 = "6872156500525185faf96785bb7fe7fe15b562c6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.now" or []);
+    deps = [
+      self.by-version."lodash._isnative"."2.4.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.now" ];
+  };
   by-spec."lodash.support"."~2.4.1" =
     self.by-version."lodash.support"."2.4.1";
   by-version."lodash.support"."2.4.1" = lib.makeOverridable self.buildNodePackage {
@@ -4453,6 +4577,8 @@
     ];
     passthru.names = [ "lru-cache" ];
   };
+  by-spec."lru-cache"."~2.5.0" =
+    self.by-version."lru-cache"."2.5.0";
   by-spec."maxmin"."^0.1.0" =
     self.by-version."maxmin"."0.1.0";
   by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -4733,15 +4859,15 @@
     ];
     passthru.names = [ "mout" ];
   };
-  by-spec."mout"."~0.7.0" =
-    self.by-version."mout"."0.7.1";
-  by-version."mout"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mout-0.7.1";
+  by-spec."mout"."~0.9.0" =
+    self.by-version."mout"."0.9.0";
+  by-version."mout"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mout-0.9.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mout/-/mout-0.7.1.tgz";
-        name = "mout-0.7.1.tgz";
-        sha1 = "218de2b0880b220d99f4fbaee3fc0c3a5310bda8";
+        url = "http://registry.npmjs.org/mout/-/mout-0.9.0.tgz";
+        name = "mout-0.9.0.tgz";
+        sha1 = "4b6ef8cae5099151d9a7ddb6ebb9a56f9de6aaeb";
       })
     ];
     buildInputs =
@@ -4773,26 +4899,7 @@
     ];
     passthru.names = [ "multiparty" ];
   };
-  by-spec."mute-stream"."0.0.3" =
-    self.by-version."mute-stream"."0.0.3";
-  by-version."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mute-stream-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz";
-        name = "mute-stream-0.0.3.tgz";
-        sha1 = "f09c090d333b3063f615cbbcca71b349893f0152";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mute-stream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mute-stream" ];
-  };
-  by-spec."mute-stream"."~0.0.4" =
+  by-spec."mute-stream"."0.0.4" =
     self.by-version."mute-stream"."0.0.4";
   by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "node-mute-stream-0.0.4";
@@ -4811,6 +4918,8 @@
     ];
     passthru.names = [ "mute-stream" ];
   };
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
   by-spec."nan"."~0.3.0" =
     self.by-version."nan"."0.3.2";
   by-version."nan"."0.3.2" = lib.makeOverridable self.buildNodePackage {
@@ -5079,6 +5188,27 @@
     ];
     passthru.names = [ "oauth-sign" ];
   };
+  by-spec."object-assign"."~0.1.1" =
+    self.by-version."object-assign"."0.1.2";
+  by-version."object-assign"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-object-assign-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/object-assign/-/object-assign-0.1.2.tgz";
+        name = "object-assign-0.1.2.tgz";
+        sha1 = "036992f073aff7b2db83d06b3fb3155a5ccac37f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."object-assign" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "object-assign" ];
+  };
+  by-spec."object-assign"."~0.1.2" =
+    self.by-version."object-assign"."0.1.2";
   by-spec."once"."~1.1.1" =
     self.by-version."once"."1.1.1";
   by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
@@ -5164,6 +5294,8 @@
     self.by-version."optimist"."0.3.7";
   by-spec."optimist"."~0.6.0" =
     self.by-version."optimist"."0.6.1";
+  by-spec."optimist"."~0.6.1" =
+    self.by-version."optimist"."0.6.1";
   by-spec."options".">=0.0.5" =
     self.by-version."options"."0.0.5";
   by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -5202,6 +5334,8 @@
     ];
     passthru.names = [ "osenv" ];
   };
+  by-spec."osenv"."~0.0.3" =
+    self.by-version."osenv"."0.0.3";
   by-spec."p-throttler"."~0.0.1" =
     self.by-version."p-throttler"."0.0.1";
   by-version."p-throttler"."0.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -5406,14 +5540,14 @@
   by-spec."q"."~0.9.7" =
     self.by-version."q"."0.9.7";
   by-spec."q"."~1.0.0" =
-    self.by-version."q"."1.0.0";
-  by-version."q"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-1.0.0";
+    self.by-version."q"."1.0.1";
+  by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-q-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-1.0.0.tgz";
-        name = "q-1.0.0.tgz";
-        sha1 = "dc1f92c4587be54f7853b29dc28e6d243a88498d";
+        url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
+        name = "q-1.0.1.tgz";
+        sha1 = "11872aeedee89268110b10a718448ffb10112a14";
       })
     ];
     buildInputs =
@@ -5571,6 +5705,28 @@
   };
   by-spec."readable-stream"."~1.1.9" =
     self.by-version."readable-stream"."1.1.11";
+  by-spec."readline2"."~0.1.0" =
+    self.by-version."readline2"."0.1.0";
+  by-version."readline2"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-readline2-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz";
+        name = "readline2-0.1.0.tgz";
+        sha1 = "6a272ef89731225b448e4c6799b6e50d5be12b98";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."readline2" or []);
+    deps = [
+      self.by-version."mute-stream"."0.0.4"
+      self.by-version."lodash"."2.4.1"
+      self.by-version."chalk"."0.4.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "readline2" ];
+  };
   by-spec."redeyed"."~0.4.0" =
     self.by-version."redeyed"."0.4.4";
   by-version."redeyed"."0.4.4" = lib.makeOverridable self.buildNodePackage {
@@ -5916,32 +6072,14 @@
   };
   by-spec."rimraf"."2.x.x" =
     self.by-version."rimraf"."2.2.6";
-  by-spec."rimraf"."~2.0.3" =
-    self.by-version."rimraf"."2.0.3";
-  by-version."rimraf"."2.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-2.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz";
-        name = "rimraf-2.0.3.tgz";
-        sha1 = "f50a2965e7144e9afd998982f15df706730f56a9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = [
-      self.by-version."graceful-fs"."1.1.14"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
   by-spec."rimraf"."~2.2.0" =
     self.by-version."rimraf"."2.2.6";
   by-spec."rimraf"."~2.2.2" =
     self.by-version."rimraf"."2.2.6";
   by-spec."rimraf"."~2.2.5" =
     self.by-version."rimraf"."2.2.6";
+  by-spec."rimraf"."~2.2.6" =
+    self.by-version."rimraf"."2.2.6";
   by-spec."sauce-connect-launcher"."~0.2.2" =
     self.by-version."sauce-connect-launcher"."0.2.2";
   by-version."sauce-connect-launcher"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -6023,6 +6161,25 @@
     ];
     passthru.names = [ "semver" ];
   };
+  by-spec."semver"."~2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+        name = "semver-2.2.1.tgz";
+        sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."semver" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "semver" ];
+  };
   by-spec."send"."0.1.4" =
     self.by-version."send"."0.1.4";
   by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
@@ -6046,6 +6203,29 @@
     ];
     passthru.names = [ "send" ];
   };
+  by-spec."shell-quote"."~1.4.1" =
+    self.by-version."shell-quote"."1.4.1";
+  by-version."shell-quote"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-shell-quote-1.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/shell-quote/-/shell-quote-1.4.1.tgz";
+        name = "shell-quote-1.4.1.tgz";
+        sha1 = "ae18442b536a08c720239b079d2f228acbedee40";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."shell-quote" or []);
+    deps = [
+      self.by-version."jsonify"."0.0.0"
+      self.by-version."array-filter"."0.0.1"
+      self.by-version."array-reduce"."0.0.0"
+      self.by-version."array-map"."0.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "shell-quote" ];
+  };
   by-spec."shelljs"."0.1.x" =
     self.by-version."shelljs"."0.1.4";
   by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage {
@@ -6196,6 +6376,8 @@
     self.by-version."source-map"."0.1.33";
   by-spec."source-map"."~0.1.31" =
     self.by-version."source-map"."0.1.33";
+  by-spec."source-map"."~0.1.33" =
+    self.by-version."source-map"."0.1.33";
   by-spec."source-map"."~0.1.7" =
     self.by-version."source-map"."0.1.33";
   by-spec."stream-counter"."~0.2.0" =
@@ -6237,15 +6419,15 @@
     ];
     passthru.names = [ "string_decoder" ];
   };
-  by-spec."stringify-object"."~0.1.4" =
-    self.by-version."stringify-object"."0.1.8";
-  by-version."stringify-object"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stringify-object-0.1.8";
+  by-spec."stringify-object"."~0.2.0" =
+    self.by-version."stringify-object"."0.2.0";
+  by-version."stringify-object"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-stringify-object-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz";
-        name = "stringify-object-0.1.8.tgz";
-        sha1 = "463348f38fdcd4fec1c011084c24a59ac653c1ee";
+        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.2.0.tgz";
+        name = "stringify-object-0.2.0.tgz";
+        sha1 = "832996ea55ab2aaa7570cc9bc0d5774adfc2c585";
       })
     ];
     buildInputs =
@@ -6294,26 +6476,6 @@
     ];
     passthru.names = [ "strip-json-comments" ];
   };
-  by-spec."sudo-block"."~0.2.0" =
-    self.by-version."sudo-block"."0.2.1";
-  by-version."sudo-block"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sudo-block-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz";
-        name = "sudo-block-0.2.1.tgz";
-        sha1 = "b394820741b66c0fe06f97b334f0674036837ba5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sudo-block" or []);
-    deps = [
-      self.by-version."chalk"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sudo-block" ];
-  };
   by-spec."tape"."~0.2.2" =
     self.by-version."tape"."0.2.2";
   by-version."tape"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -6377,6 +6539,25 @@
     ];
     passthru.names = [ "throttleit" ];
   };
+  by-spec."through"."~2.3.4" =
+    self.by-version."through"."2.3.4";
+  by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-through-2.3.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
+        name = "through-2.3.4.tgz";
+        sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."through" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "through" ];
+  };
   by-spec."tinycolor"."0.x" =
     self.by-version."tinycolor"."0.0.1";
   by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -6551,14 +6732,14 @@
     passthru.names = [ "uglify-js" ];
   };
   by-spec."uglify-js"."^2.4.0" =
-    self.by-version."uglify-js"."2.4.12";
-  by-version."uglify-js"."2.4.12" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.4.12";
+    self.by-version."uglify-js"."2.4.13";
+  by-version."uglify-js"."2.4.13" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.12.tgz";
-        name = "uglify-js-2.4.12.tgz";
-        sha1 = "2354d9659f85330c1e3e2910f8acd77fe14bb4a8";
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.13.tgz";
+        name = "uglify-js-2.4.13.tgz";
+        sha1 = "18debc9e6ecfc20db1a5ea035f839d436a605aba";
       })
     ];
     buildInputs =
@@ -6783,6 +6964,25 @@
     ];
     passthru.names = [ "utile" ];
   };
+  by-spec."uuid"."~1.4.1" =
+    self.by-version."uuid"."1.4.1";
+  by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uuid-1.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz";
+        name = "uuid-1.4.1.tgz";
+        sha1 = "a337828580d426e375b8ee11bd2bf901a596e0b8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uuid" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "uuid" ];
+  };
   by-spec."vargs"."~0.1.0" =
     self.by-version."vargs"."0.1.0";
   by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -6904,14 +7104,14 @@
     passthru.names = [ "vow-queue" ];
   };
   by-spec."wd"."~0.2.8" =
-    self.by-version."wd"."0.2.11";
-  by-version."wd"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "wd-0.2.11";
+    self.by-version."wd"."0.2.12";
+  by-version."wd"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+    name = "wd-0.2.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wd/-/wd-0.2.11.tgz";
-        name = "wd-0.2.11.tgz";
-        sha1 = "27889d290facf3d19e050b3c789f2e852ca03f10";
+        url = "http://registry.npmjs.org/wd/-/wd-0.2.12.tgz";
+        name = "wd-0.2.12.tgz";
+        sha1 = "b80884bf392075839d8ee433c9f8e0c525d26b6a";
       })
     ];
     buildInputs =
@@ -6919,7 +7119,7 @@
     deps = [
       self.by-version."async"."0.2.10"
       self.by-version."vargs"."0.1.0"
-      self.by-version."q"."1.0.0"
+      self.by-version."q"."1.0.1"
       self.by-version."request"."2.33.0"
       self.by-version."archiver"."0.5.2"
       self.by-version."lodash"."2.4.1"




-------------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CHANGES.log
Type: application/octet-stream
Size: 147453 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140312/685a5c17/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 361584 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140312/685a5c17/attachment-0003.obj>


More information about the Testbot mailing list