summary refs log tree commit diff
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2013-11-05 18:02:16 -0500
committerShea Levy <shea@shealevy.com>2013-11-05 18:02:21 -0500
commit9817bada91cb5b69ecaa8cf3ae393cc50a289881 (patch)
tree6c017ac585cd2c34fb3e346807385d82613e3461
parent1045df3197c5e735801952461538e3825961075d (diff)
downloadnixlib-9817bada91cb5b69ecaa8cf3ae393cc50a289881.tar
nixlib-9817bada91cb5b69ecaa8cf3ae393cc50a289881.tar.gz
nixlib-9817bada91cb5b69ecaa8cf3ae393cc50a289881.tar.bz2
nixlib-9817bada91cb5b69ecaa8cf3ae393cc50a289881.tar.lz
nixlib-9817bada91cb5b69ecaa8cf3ae393cc50a289881.tar.xz
nixlib-9817bada91cb5b69ecaa8cf3ae393cc50a289881.tar.zst
nixlib-9817bada91cb5b69ecaa8cf3ae393cc50a289881.zip
Update nodePackages to npm2nix-5.2.0
Signed-off-by: Shea Levy <shea@shealevy.com>
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix13
-rw-r--r--pkgs/top-level/node-packages-generated.nix12050
-rw-r--r--pkgs/top-level/node-packages.nix6
3 files changed, 4537 insertions, 7532 deletions
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index 217c81d43176..716bda30f0d1 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -11,6 +11,11 @@ let
     tar xf ${nodejs.src}
     mv *node* $out
   '';
+
+  peerDeps = listToAttrs (concatMap (dep: map (name: {
+    inherit name;
+    value = dep;
+  }) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
 in
 stdenv.mkDerivation ({
   unpackPhase = "true";
@@ -21,9 +26,9 @@ stdenv.mkDerivation ({
     ${concatStrings (concatMap (dep: map (name: ''
       ln -sv ${dep}/lib/node_modules/${name} node_modules/
     '') dep.names) deps)}
-    ${concatStrings (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     export HOME=$(pwd)
     runHook postConfigure
   '';
@@ -51,9 +56,9 @@ stdenv.mkDerivation ({
         done
       fi
     '') args.passthru.names)}
-    ${concatStrings (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       mv node_modules/${name} $out/lib/node_modules
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
     mv node_modules $out/.dependent-node-modules
     if [ -d "$out/lib/node_modules/.bin" ]; then
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 18ec19437dba..8df865009dc7 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1,7 +1,9 @@
 { self, fetchurl, lib }:
 
 {
-  full."CSSselect"."0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."CSSselect"."0.x" =
+    self.by-version."CSSselect"."0.3.11";
+  by-version."CSSselect"."0.3.11" = lib.makeOverridable self.buildNodePackage {
     name = "CSSselect-0.3.11";
     src = [
       (fetchurl {
@@ -10,16 +12,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSselect"."0.x" or []);
+      (self.nativeDeps."CSSselect" or []);
     deps = [
-      self.full."CSSwhat"."0.4"
-      self.full."domutils"."1.2"
+      self.by-version."CSSwhat"."0.4.1"
+      self.by-version."domutils"."1.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSselect" ];
   };
-  full."CSSwhat"."0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."CSSwhat"."0.4" =
+    self.by-version."CSSwhat"."0.4.1";
+  by-version."CSSwhat"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "CSSwhat-0.4.1";
     src = [
       (fetchurl {
@@ -28,14 +32,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSwhat"."0.4" or []);
+      (self.nativeDeps."CSSwhat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSwhat" ];
   };
-  full."abbrev"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."abbrev"."1" =
+    self.by-version."abbrev"."1.0.4";
+  by-version."abbrev"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "abbrev-1.0.4";
     src = [
       (fetchurl {
@@ -44,46 +50,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."abbrev"."1" or []);
+      (self.nativeDeps."abbrev" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "abbrev" ];
   };
-  full."abbrev"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "abbrev-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."abbrev"."1.0.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "abbrev" ];
-  };
-  full."abbrev"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "abbrev-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."abbrev"."~1.0.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "abbrev" ];
-  };
-  full."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."abbrev"."1.0.x" =
+    self.by-version."abbrev"."1.0.4";
+  by-spec."abbrev"."~1.0.4" =
+    self.by-version."abbrev"."1.0.4";
+  by-spec."active-x-obfuscator"."0.0.1" =
+    self.by-version."active-x-obfuscator"."0.0.1";
+  by-version."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "active-x-obfuscator-0.0.1";
     src = [
       (fetchurl {
@@ -92,31 +72,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."active-x-obfuscator"."0.0.1" or []);
+      (self.nativeDeps."active-x-obfuscator" or []);
     deps = [
-      self.full."zeparser"."0.0.5"
+      self.by-version."zeparser"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "active-x-obfuscator" ];
   };
-  full."addressparser"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "addressparser-0.1.3";
+  by-spec."addressparser"."~0.2.0" =
+    self.by-version."addressparser"."0.2.0";
+  by-version."addressparser"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "addressparser-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
-        sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
+        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.0.tgz";
+        sha1 = "853383313b7b60259ba4558ef1c0bc30efac08fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."addressparser"."~0.1" or []);
+      (self.nativeDeps."addressparser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "addressparser" ];
   };
-  full."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."adm-zip"."0.2.1" =
+    self.by-version."adm-zip"."0.2.1";
+  by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "adm-zip-0.2.1";
     src = [
       (fetchurl {
@@ -125,14 +109,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."0.2.1" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
-  full."adm-zip"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."adm-zip"."~0.4.3" =
+    self.by-version."adm-zip"."0.4.3";
+  by-version."adm-zip"."0.4.3" = lib.makeOverridable self.buildNodePackage {
     name = "adm-zip-0.4.3";
     src = [
       (fetchurl {
@@ -141,14 +127,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."~0.4.3" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
-  full."almond"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."almond"."*" =
+    self.by-version."almond"."0.2.6";
+  by-version."almond"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "almond-0.2.6";
     src = [
       (fetchurl {
@@ -157,49 +145,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."almond"."*" or []);
+      (self.nativeDeps."almond" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "almond" ];
   };
-  "almond" = self.full."almond"."*";
-  full."ambi"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "ambi-2.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ambi/-/ambi-2.1.4.tgz";
-        sha1 = "1c0bafb3b1058754e1c3f9d7383948fc1b7c6926";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ambi"."~2.1.4" or []);
-    deps = [
-      self.full."typechecker"."~2.0.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ambi" ];
-  };
-  full."amdefine"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "amdefine-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
-        sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."amdefine"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "amdefine" ];
-  };
-  "amdefine" = self.full."amdefine"."*";
-  full."amdefine".">=0.0.4" = lib.makeOverridable self.buildNodePackage {
+  "almond" = self.by-version."almond"."0.2.6";
+  by-spec."amdefine"."*" =
+    self.by-version."amdefine"."0.1.0";
+  by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "amdefine-0.1.0";
     src = [
       (fetchurl {
@@ -208,30 +164,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."amdefine".">=0.0.4" or []);
+      (self.nativeDeps."amdefine" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "amdefine" ];
   };
-  full."ansi"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ansi-0.1.2";
+  "amdefine" = self.by-version."amdefine"."0.1.0";
+  by-spec."amdefine".">=0.0.4" =
+    self.by-version."amdefine"."0.1.0";
+  by-spec."ansi"."~0.2.1" =
+    self.by-version."ansi"."0.2.1";
+  by-version."ansi"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ansi-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ansi/-/ansi-0.1.2.tgz";
-        sha1 = "2627e29498f06e2a1c2ece9c21e28fd494430827";
+        url = "http://registry.npmjs.org/ansi/-/ansi-0.2.1.tgz";
+        sha1 = "3ab568ec18cd0ab7753c83117d57dad684a1c017";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi"."~0.1.2" or []);
+      (self.nativeDeps."ansi" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi" ];
   };
-  full."ansi-remover"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansi-remover"."*" =
+    self.by-version."ansi-remover"."0.0.2";
+  by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "ansi-remover-0.0.2";
     src = [
       (fetchurl {
@@ -240,15 +203,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-remover"."*" or []);
+      (self.nativeDeps."ansi-remover" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-remover" ];
   };
-  "ansi-remover" = self.full."ansi-remover"."*";
-  full."ansi-styles"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "ansi-remover" = self.by-version."ansi-remover"."0.0.2";
+  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 = "ansi-styles-0.1.2";
     src = [
       (fetchurl {
@@ -257,14 +222,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.1.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansi-styles"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  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 {
     name = "ansi-styles-0.2.0";
     src = [
       (fetchurl {
@@ -273,14 +240,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.2.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansicolors"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansicolors"."~0.2.1" =
+    self.by-version."ansicolors"."0.2.1";
+  by-version."ansicolors"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "ansicolors-0.2.1";
     src = [
       (fetchurl {
@@ -289,14 +258,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansicolors"."~0.2.1" or []);
+      (self.nativeDeps."ansicolors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansicolors" ];
   };
-  full."apparatus".">= 0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."apparatus".">= 0.0.4" =
+    self.by-version."apparatus"."0.0.7";
+  by-version."apparatus"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "apparatus-0.0.7";
     src = [
       (fetchurl {
@@ -305,15 +276,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."apparatus".">= 0.0.4" or []);
+      (self.nativeDeps."apparatus" or []);
     deps = [
-      self.full."sylvester".">= 0.0.8"
+      self.by-version."sylvester"."0.0.21"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "apparatus" ];
   };
-  full."archiver"."~0.4.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archiver"."~0.4.6" =
+    self.by-version."archiver"."0.4.10";
+  by-version."archiver"."0.4.10" = lib.makeOverridable self.buildNodePackage {
     name = "archiver-0.4.10";
     src = [
       (fetchurl {
@@ -322,16 +295,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."archiver"."~0.4.6" or []);
+      (self.nativeDeps."archiver" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
-      self.full."iconv-lite"."~0.2.11"
+      self.by-version."readable-stream"."1.0.17"
+      self.by-version."iconv-lite"."0.2.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "archiver" ];
   };
-  full."archy"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archy"."0" =
+    self.by-version."archy"."0.0.2";
+  by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "archy-0.0.2";
     src = [
       (fetchurl {
@@ -340,48 +315,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."archy"."0" or []);
+      (self.nativeDeps."archy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "archy" ];
   };
-  full."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "archy-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
-        sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."archy"."0.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "archy" ];
-  };
-  full."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "argparse-0.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-        sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."argparse"."0.1.15" or []);
-    deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "argparse" ];
-  };
-  full."argparse"."~ 0.1.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archy"."0.0.2" =
+    self.by-version."archy"."0.0.2";
+  by-spec."argparse"."0.1.15" =
+    self.by-version."argparse"."0.1.15";
+  by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "argparse-0.1.15";
     src = [
       (fetchurl {
@@ -390,16 +335,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."argparse"."~ 0.1.11" or []);
+      (self.nativeDeps."argparse" or []);
     deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."underscore.string"."2.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "argparse" ];
   };
-  full."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."argparse"."~ 0.1.11" =
+    self.by-version."argparse"."0.1.15";
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
     name = "asn1-0.1.11";
     src = [
       (fetchurl {
@@ -408,14 +357,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."asn1"."0.1.11" or []);
+      (self.nativeDeps."asn1" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "asn1" ];
   };
-  full."assert"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."assert"."*" =
+    self.by-version."assert"."0.4.9";
+  by-version."assert"."0.4.9" = lib.makeOverridable self.buildNodePackage {
     name = "assert-0.4.9";
     src = [
       (fetchurl {
@@ -424,16 +375,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert"."*" or []);
+      (self.nativeDeps."assert" or []);
     deps = [
-      self.full."util".">= 0.4.9"
+      self.by-version."util"."0.4.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assert" ];
   };
-  "assert" = self.full."assert"."*";
-  full."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+  "assert" = self.by-version."assert"."0.4.9";
+  by-spec."assert-plus"."0.1.2" =
+    self.by-version."assert-plus"."0.1.2";
+  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "assert-plus-0.1.2";
     src = [
       (fetchurl {
@@ -442,14 +395,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert-plus"."0.1.2" or []);
+      (self.nativeDeps."assert-plus" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assert-plus" ];
   };
-  full."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."assertion-error"."1.0.0" =
+    self.by-version."assertion-error"."1.0.0";
+  by-version."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "assertion-error-1.0.0";
     src = [
       (fetchurl {
@@ -458,14 +413,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assertion-error"."1.0.0" or []);
+      (self.nativeDeps."assertion-error" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assertion-error" ];
   };
-  full."async"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."async"."*" =
+    self.by-version."async"."0.2.9";
+  by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.2.9";
     src = [
       (fetchurl {
@@ -474,15 +431,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."*" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  "async" = self.full."async"."*";
-  full."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
+  "async" = self.by-version."async"."0.2.9";
+  by-spec."async"."0.1.15" =
+    self.by-version."async"."0.1.15";
+  by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.1.15";
     src = [
       (fetchurl {
@@ -491,78 +450,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.1.15" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.22";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.1.22" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.22";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.2.x" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
+  by-spec."async"."0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.1.22";
     src = [
       (fetchurl {
@@ -571,115 +468,73 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.1.22" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.7" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."aws-sdk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
+  by-spec."async"."0.1.x" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."0.2.x" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."~0.2.6" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.7" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.8" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-spec."aws-sdk"."*" =
+    self.by-version."aws-sdk"."2.0.0-rc1";
+  by-version."aws-sdk"."2.0.0-rc1" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-2.0.0-rc1";
     src = [
       (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.0-rc1.tgz";
+        sha1 = "8f3b045ffa2050695a692f12ea76eff6d01a2349";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sdk"."*" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  "aws-sdk" = self.full."aws-sdk"."*";
-  full."aws-sdk".">=1.2.0 <2" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
+  "aws-sdk" = self.by-version."aws-sdk"."2.0.0-rc1";
+  by-spec."aws-sdk".">=1.2.0 <2" =
+    self.by-version."aws-sdk"."1.10.0";
+  by-version."aws-sdk"."1.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-1.10.0";
     src = [
       (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.10.0.tgz";
+        sha1 = "a9759f3c5533c215e3747f0060fc5c2ced9ca9ce";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sdk".">=1.2.0 <2" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  full."aws-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."aws-sign"."~0.2.0" =
+    self.by-version."aws-sign"."0.2.0";
+  by-version."aws-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "aws-sign-0.2.0";
     src = [
       (fetchurl {
@@ -688,14 +543,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.2.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."aws-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."aws-sign"."~0.3.0" =
+    self.by-version."aws-sign"."0.3.0";
+  by-version."aws-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "aws-sign-0.3.0";
     src = [
       (fetchurl {
@@ -704,14 +561,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.3.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."backbone"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."backbone"."*" =
+    self.by-version."backbone"."1.1.0";
+  by-version."backbone"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "backbone-1.1.0";
     src = [
       (fetchurl {
@@ -720,16 +579,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."backbone"."*" or []);
+      (self.nativeDeps."backbone" or []);
     deps = [
-      self.full."underscore".">=1.4.3"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backbone" ];
   };
-  "backbone" = self.full."backbone"."*";
-  full."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  "backbone" = self.by-version."backbone"."1.1.0";
+  by-spec."backoff"."2.1.0" =
+    self.by-version."backoff"."2.1.0";
+  by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "backoff-2.1.0";
     src = [
       (fetchurl {
@@ -738,14 +599,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."backoff"."2.1.0" or []);
+      (self.nativeDeps."backoff" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backoff" ];
   };
-  full."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."base64id"."0.1.0" =
+    self.by-version."base64id"."0.1.0";
+  by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "base64id-0.1.0";
     src = [
       (fetchurl {
@@ -754,14 +617,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."base64id"."0.1.0" or []);
+      (self.nativeDeps."base64id" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "base64id" ];
   };
-  full."bcrypt"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bcrypt"."*" =
+    self.by-version."bcrypt"."0.7.7";
+  by-version."bcrypt"."0.7.7" = lib.makeOverridable self.buildNodePackage {
     name = "bcrypt-0.7.7";
     src = [
       (fetchurl {
@@ -770,16 +635,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bcrypt"."*" or []);
+      (self.nativeDeps."bcrypt" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bcrypt" ];
   };
-  "bcrypt" = self.full."bcrypt"."*";
-  full."binary"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "bcrypt" = self.by-version."bcrypt"."0.7.7";
+  by-spec."binary"."~0.3.0" =
+    self.by-version."binary"."0.3.0";
+  by-version."binary"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "binary-0.3.0";
     src = [
       (fetchurl {
@@ -788,16 +655,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."binary"."~0.3.0" or []);
+      (self.nativeDeps."binary" or []);
     deps = [
-      self.full."chainsaw"."~0.1.0"
-      self.full."buffers"."~0.1.1"
+      self.by-version."chainsaw"."0.1.0"
+      self.by-version."buffers"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "binary" ];
   };
-  full."bindings"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bindings"."*" =
+    self.by-version."bindings"."1.1.1";
+  by-version."bindings"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "bindings-1.1.1";
     src = [
       (fetchurl {
@@ -806,14 +675,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."*" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bindings"."1.0.0" =
+    self.by-version."bindings"."1.0.0";
+  by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "bindings-1.0.0";
     src = [
       (fetchurl {
@@ -822,14 +693,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."1.0.0" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."block-stream"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."block-stream"."*" =
+    self.by-version."block-stream"."0.0.7";
+  by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "block-stream-0.0.7";
     src = [
       (fetchurl {
@@ -838,32 +711,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."block-stream"."*" or []);
+      (self.nativeDeps."block-stream" or []);
     deps = [
-      self.full."inherits"."~2.0.0"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "block-stream" ];
   };
-  full."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
-        sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."block-stream"."0.0.7" or []);
-    deps = [
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "block-stream" ];
-  };
-  full."blueimp-md5"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."block-stream"."0.0.7" =
+    self.by-version."block-stream"."0.0.7";
+  by-spec."blueimp-md5"."~1.0.3" =
+    self.by-version."blueimp-md5"."1.0.3";
+  by-version."blueimp-md5"."1.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "blueimp-md5-1.0.3";
     src = [
       (fetchurl {
@@ -872,14 +732,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."blueimp-md5"."~1.0.3" or []);
+      (self.nativeDeps."blueimp-md5" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "blueimp-md5" ];
   };
-  full."boom"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."boom"."0.3.x" =
+    self.by-version."boom"."0.3.8";
+  by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "boom-0.3.8";
     src = [
       (fetchurl {
@@ -888,15 +750,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.3.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."boom"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "boom-0.4.2";
     src = [
       (fetchurl {
@@ -905,15 +769,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.4.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.9.x"
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."bower"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower"."*" =
+    self.by-version."bower"."1.2.7";
+  by-version."bower"."1.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "bower-1.2.7";
     src = [
       (fetchurl {
@@ -922,105 +788,56 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower"."*" or []);
-    deps = [
-      self.full."abbrev"."~1.0.4"
-      self.full."archy"."0.0.2"
-      self.full."bower-config"."~0.5.0"
-      self.full."bower-endpoint-parser"."~0.2.0"
-      self.full."bower-json"."~0.4.0"
-      self.full."bower-logger"."~0.2.1"
-      self.full."bower-registry-client"."~0.1.4"
-      self.full."cardinal"."~0.4.0"
-      self.full."chalk"."~0.2.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."fstream"."~0.1.22"
-      self.full."fstream-ignore"."~0.0.6"
-      self.full."glob"."~3.2.1"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."handlebars"."~1.0.11"
-      self.full."inquirer"."~0.3.0"
-      self.full."junk"."~0.2.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.7.0"
-      self.full."nopt"."~2.1.1"
-      self.full."lru-cache"."~2.3.0"
-      self.full."open"."~0.0.3"
-      self.full."osenv"."0.0.3"
-      self.full."promptly"."~0.2.0"
-      self.full."q"."~0.9.2"
-      self.full."request"."~2.27.0"
-      self.full."request-progress"."~0.3.0"
-      self.full."retry"."~0.6.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."semver"."~2.1.0"
-      self.full."stringify-object"."~0.1.4"
-      self.full."sudo-block"."~0.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."tmp"."~0.0.20"
-      self.full."unzip"."~0.1.7"
-      self.full."update-notifier"."~0.1.3"
-      self.full."which"."~1.0.5"
+      (self.nativeDeps."bower" or []);
+    deps = [
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."archy"."0.0.2"
+      self.by-version."bower-config"."0.5.0"
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-json"."0.4.0"
+      self.by-version."bower-logger"."0.2.1"
+      self.by-version."bower-registry-client"."0.1.5"
+      self.by-version."cardinal"."0.4.2"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."glob"."3.2.6"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."handlebars"."1.0.12"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."junk"."0.2.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mout"."0.7.1"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lru-cache"."2.3.1"
+      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."request-progress"."0.3.1"
+      self.by-version."retry"."0.6.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."semver"."2.1.0"
+      self.by-version."stringify-object"."0.1.7"
+      self.by-version."sudo-block"."0.2.1"
+      self.by-version."tar"."0.1.18"
+      self.by-version."tmp"."0.0.21"
+      self.by-version."unzip"."0.1.9"
+      self.by-version."update-notifier"."0.1.7"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower" ];
   };
-  "bower" = self.full."bower"."*";
-  full."bower".">=0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
-        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bower".">=0.9.0" or []);
-    deps = [
-      self.full."abbrev"."~1.0.4"
-      self.full."archy"."0.0.2"
-      self.full."bower-config"."~0.5.0"
-      self.full."bower-endpoint-parser"."~0.2.0"
-      self.full."bower-json"."~0.4.0"
-      self.full."bower-logger"."~0.2.1"
-      self.full."bower-registry-client"."~0.1.4"
-      self.full."cardinal"."~0.4.0"
-      self.full."chalk"."~0.2.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."fstream"."~0.1.22"
-      self.full."fstream-ignore"."~0.0.6"
-      self.full."glob"."~3.2.1"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."handlebars"."~1.0.11"
-      self.full."inquirer"."~0.3.0"
-      self.full."junk"."~0.2.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.7.0"
-      self.full."nopt"."~2.1.1"
-      self.full."lru-cache"."~2.3.0"
-      self.full."open"."~0.0.3"
-      self.full."osenv"."0.0.3"
-      self.full."promptly"."~0.2.0"
-      self.full."q"."~0.9.2"
-      self.full."request"."~2.27.0"
-      self.full."request-progress"."~0.3.0"
-      self.full."retry"."~0.6.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."semver"."~2.1.0"
-      self.full."stringify-object"."~0.1.4"
-      self.full."sudo-block"."~0.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."tmp"."~0.0.20"
-      self.full."unzip"."~0.1.7"
-      self.full."update-notifier"."~0.1.3"
-      self.full."which"."~1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bower" ];
-  };
-  full."bower-config"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
+  "bower" = self.by-version."bower"."1.2.7";
+  by-spec."bower".">=0.9.0" =
+    self.by-version."bower"."1.2.7";
+  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 {
     name = "bower-config-0.4.5";
     src = [
       (fetchurl {
@@ -1029,18 +846,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.4.3" or []);
+      (self.nativeDeps."bower-config" or []);
     deps = [
-      self.full."graceful-fs"."~2.0.0"
-      self.full."mout"."~0.6.0"
-      self.full."optimist"."~0.6.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-config"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-config"."~0.5.0" =
+    self.by-version."bower-config"."0.5.0";
+  by-version."bower-config"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "bower-config-0.5.0";
     src = [
       (fetchurl {
@@ -1049,18 +868,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.5.0" or []);
+      (self.nativeDeps."bower-config" or []);
     deps = [
-      self.full."graceful-fs"."~2.0.0"
-      self.full."mout"."~0.6.0"
-      self.full."optimist"."~0.6.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-endpoint-parser"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-endpoint-parser"."~0.2.0" =
+    self.by-version."bower-endpoint-parser"."0.2.1";
+  by-version."bower-endpoint-parser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "bower-endpoint-parser-0.2.1";
     src = [
       (fetchurl {
@@ -1069,14 +890,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-endpoint-parser"."~0.2.0" or []);
+      (self.nativeDeps."bower-endpoint-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-endpoint-parser" ];
   };
-  full."bower-json"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-json"."~0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-version."bower-json"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "bower-json-0.4.0";
     src = [
       (fetchurl {
@@ -1085,17 +908,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-json"."~0.4.0" or []);
+      (self.nativeDeps."bower-json" or []);
     deps = [
-      self.full."deep-extend"."~0.2.5"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."intersect"."~0.0.3"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."intersect"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-json" ];
   };
-  full."bower-logger"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-logger"."~0.2.1" =
+    self.by-version."bower-logger"."0.2.1";
+  by-version."bower-logger"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "bower-logger-0.2.1";
     src = [
       (fetchurl {
@@ -1104,14 +929,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-logger"."~0.2.1" or []);
+      (self.nativeDeps."bower-logger" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-logger" ];
   };
-  full."bower-registry-client"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-registry-client"."~0.1.4" =
+    self.by-version."bower-registry-client"."0.1.5";
+  by-version."bower-registry-client"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "bower-registry-client-0.1.5";
     src = [
       (fetchurl {
@@ -1120,43 +947,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-registry-client"."~0.1.4" or []);
+      (self.nativeDeps."bower-registry-client" or []);
     deps = [
-      self.full."async"."~0.2.8"
-      self.full."bower-config"."~0.4.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."lru-cache"."~2.3.0"
-      self.full."request"."~2.27.0"
-      self.full."request-replay"."~0.2.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."mkdirp"."~0.3.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."bower-config"."0.4.5"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."request-replay"."0.2.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."mkdirp"."0.3.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-registry-client" ];
   };
-  full."broadway"."0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "broadway-0.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
-        sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."broadway"."0.2.7" or []);
-    deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "broadway" ];
-  };
-  full."broadway"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."broadway"."0.2.7" =
+    self.by-version."broadway"."0.2.7";
+  by-version."broadway"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "broadway-0.2.7";
     src = [
       (fetchurl {
@@ -1165,19 +973,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."broadway"."0.2.x" or []);
+      (self.nativeDeps."broadway" or []);
     deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."eventemitter2"."0.4.11"
+      self.by-version."nconf"."0.6.7"
+      self.by-version."winston"."0.6.2"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "broadway" ];
   };
-  full."browserchannel"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."broadway"."0.2.x" =
+    self.by-version."broadway"."0.2.7";
+  by-spec."browserchannel"."*" =
+    self.by-version."browserchannel"."1.0.8";
+  by-version."browserchannel"."1.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "browserchannel-1.0.8";
     src = [
       (fetchurl {
@@ -1186,18 +998,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."browserchannel"."*" or []);
+      (self.nativeDeps."browserchannel" or []);
     deps = [
-      self.full."hat"."*"
-      self.full."connect"."~2"
-      self.full."request"."~2"
+      self.by-version."hat"."0.0.3"
+      self.by-version."connect"."2.11.0"
+      self.by-version."request"."2.27.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "browserchannel" ];
   };
-  "browserchannel" = self.full."browserchannel"."*";
-  full."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+  "browserchannel" = self.by-version."browserchannel"."1.0.8";
+  by-spec."bson"."0.1.8" =
+    self.by-version."bson"."0.1.8";
+  by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "bson-0.1.8";
     src = [
       (fetchurl {
@@ -1206,14 +1020,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.1.8" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bson"."0.2.2" =
+    self.by-version."bson"."0.2.2";
+  by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "bson-0.2.2";
     src = [
       (fetchurl {
@@ -1222,14 +1038,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.2.2" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."0.1.1" =
+    self.by-version."buffer-crc32"."0.1.1";
+  by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffer-crc32-0.1.1";
     src = [
       (fetchurl {
@@ -1238,30 +1056,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.1.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer-crc32" ];
-  };
-  full."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.2.1" or []);
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffer-crc32"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-version."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffer-crc32-0.2.1";
     src = [
       (fetchurl {
@@ -1270,14 +1074,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."~0.2.1" or []);
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffers"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."~0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-spec."buffers"."~0.1.1" =
+    self.by-version."buffers"."0.1.1";
+  by-version."buffers"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffers-0.1.1";
     src = [
       (fetchurl {
@@ -1286,14 +1094,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffers"."~0.1.1" or []);
+      (self.nativeDeps."buffers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffers" ];
   };
-  full."buffertools"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffertools"."*" =
+    self.by-version."buffertools"."1.1.1";
+  by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffertools-1.1.1";
     src = [
       (fetchurl {
@@ -1302,65 +1112,75 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools"."*" or []);
+      (self.nativeDeps."buffertools" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
   };
-  "buffertools" = self.full."buffertools"."*";
-  full."buffertools".">=1.1.1 <2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "buffertools-1.1.1";
+  "buffertools" = self.by-version."buffertools"."1.1.1";
+  by-spec."buffertools".">=1.1.1 <2.0.0" =
+    self.by-version."buffertools"."1.1.1";
+  by-spec."bunyan"."0.21.1" =
+    self.by-version."bunyan"."0.21.1";
+  by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bunyan-0.21.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
-        sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+        url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
+        sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools".">=1.1.1 <2.0.0" or []);
+      (self.nativeDeps."bunyan" or []);
     deps = [
+      self.by-version."mv"."0.0.5"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "buffertools" ];
+    passthru.names = [ "bunyan" ];
   };
-  full."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bunyan-0.21.1";
+  by-spec."bytes"."0.2.0" =
+    self.by-version."bytes"."0.2.0";
+  by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bytes-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
-        sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
+        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bunyan"."0.21.1" or []);
+      (self.nativeDeps."bytes" or []);
     deps = [
-      self.full."mv"."0.0.5"
-      self.full."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "bunyan" ];
+    passthru.names = [ "bytes" ];
   };
-  full."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-0.2.0";
+  by-spec."bytes"."0.2.1" =
+    self.by-version."bytes"."0.2.1";
+  by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bytes-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
-        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
+        sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bytes"."0.2.0" or []);
+      (self.nativeDeps."bytes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
   };
-  full."cardinal"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cardinal"."~0.4.0" =
+    self.by-version."cardinal"."0.4.2";
+  by-version."cardinal"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "cardinal-0.4.2";
     src = [
       (fetchurl {
@@ -1369,16 +1189,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cardinal"."~0.4.0" or []);
+      (self.nativeDeps."cardinal" or []);
     deps = [
-      self.full."redeyed"."~0.4.0"
-      self.full."ansicolors"."~0.2.1"
+      self.by-version."redeyed"."0.4.2"
+      self.by-version."ansicolors"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cardinal" ];
   };
-  full."chai"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chai"."*" =
+    self.by-version."chai"."1.8.1";
+  by-version."chai"."1.8.1" = lib.makeOverridable self.buildNodePackage {
     name = "chai-1.8.1";
     src = [
       (fetchurl {
@@ -1387,17 +1209,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chai"."*" or []);
+      (self.nativeDeps."chai" or []);
     deps = [
-      self.full."assertion-error"."1.0.0"
-      self.full."deep-eql"."0.1.3"
+      self.by-version."assertion-error"."1.0.0"
+      self.by-version."deep-eql"."0.1.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chai" ];
   };
-  "chai" = self.full."chai"."*";
-  full."chainsaw"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "chai" = self.by-version."chai"."1.8.1";
+  by-spec."chainsaw"."~0.1.0" =
+    self.by-version."chainsaw"."0.1.0";
+  by-version."chainsaw"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chainsaw-0.1.0";
     src = [
       (fetchurl {
@@ -1406,15 +1230,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chainsaw"."~0.1.0" or []);
+      (self.nativeDeps."chainsaw" or []);
     deps = [
-      self.full."traverse".">=0.3.0 <0.4"
+      self.by-version."traverse"."0.3.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chainsaw" ];
   };
-  full."chalk"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.1.1" =
+    self.by-version."chalk"."0.1.1";
+  by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "chalk-0.1.1";
     src = [
       (fetchurl {
@@ -1423,34 +1249,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.1.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
+      self.by-version."has-color"."0.1.1"
+      self.by-version."ansi-styles"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."chalk"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "chalk-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz";
-        sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chalk"."~0.1.1" or []);
-    deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chalk" ];
-  };
-  full."chalk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.2.0" =
+    self.by-version."chalk"."0.2.1";
+  by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "chalk-0.2.1";
     src = [
       (fetchurl {
@@ -1459,16 +1269,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.2.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.2.0"
+      self.by-version."has-color"."0.1.1"
+      self.by-version."ansi-styles"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.2.1" =
+    self.by-version."chalk"."0.2.1";
+  by-spec."character-parser"."1.2.0" =
+    self.by-version."character-parser"."1.2.0";
+  by-version."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "character-parser-1.2.0";
     src = [
       (fetchurl {
@@ -1477,14 +1291,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."character-parser"."1.2.0" or []);
+      (self.nativeDeps."character-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "character-parser" ];
   };
-  full."cheerio"."~0.10.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cheerio"."~0.10.8" =
+    self.by-version."cheerio"."0.10.8";
+  by-version."cheerio"."0.10.8" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-0.10.8";
     src = [
       (fetchurl {
@@ -1493,38 +1309,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.10.8" or []);
-    deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."2.x"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cheerio" ];
-  };
-  full."cheerio"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
-        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.0" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."cheerio-select"."0.0.3"
+      self.by-version."htmlparser2"."2.6.0"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."entities"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio"."~0.12.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cheerio"."~0.12.0" =
+    self.by-version."cheerio"."0.12.3";
+  by-version."cheerio"."0.12.3" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-0.12.3";
     src = [
       (fetchurl {
@@ -1533,18 +1331,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.1" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."cheerio-select"."0.0.3"
+      self.by-version."htmlparser2"."3.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."entities"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio-select"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cheerio"."~0.12.1" =
+    self.by-version."cheerio"."0.12.3";
+  by-spec."cheerio-select"."*" =
+    self.by-version."cheerio-select"."0.0.3";
+  by-version."cheerio-select"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-select-0.0.3";
     src = [
       (fetchurl {
@@ -1553,15 +1355,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio-select"."*" or []);
+      (self.nativeDeps."cheerio-select" or []);
     deps = [
-      self.full."CSSselect"."0.x"
+      self.by-version."CSSselect"."0.3.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio-select" ];
   };
-  full."child-process-close"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."child-process-close"."~0.1.1" =
+    self.by-version."child-process-close"."0.1.1";
+  by-version."child-process-close"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "child-process-close-0.1.1";
     src = [
       (fetchurl {
@@ -1570,14 +1374,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."child-process-close"."~0.1.1" or []);
+      (self.nativeDeps."child-process-close" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "child-process-close" ];
   };
-  full."chmodr"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chmodr"."~0.1.0" =
+    self.by-version."chmodr"."0.1.0";
+  by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chmodr-0.1.0";
     src = [
       (fetchurl {
@@ -1586,30 +1392,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chmodr"."~0.1.0" or []);
+      (self.nativeDeps."chmodr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chmodr" ];
   };
-  full."chokidar"."~0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "chokidar-0.6.3";
+  by-spec."chokidar"."~0.7.0" =
+    self.by-version."chokidar"."0.7.0";
+  by-version."chokidar"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "chokidar-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.6.3.tgz";
-        sha1 = "e85968fa235f21773d388c617af085bf2104425a";
+        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.7.0.tgz";
+        sha1 = "bfaa9bdf30c0921dbe0a98bd93a3e06a5d5814e5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chokidar"."~0.6" or []);
+      (self.nativeDeps."chokidar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chokidar" ];
   };
-  full."chownr"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chownr"."0" =
+    self.by-version."chownr"."0.0.1";
+  by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "chownr-0.0.1";
     src = [
       (fetchurl {
@@ -1618,31 +1428,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chownr"."0" or []);
+      (self.nativeDeps."chownr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chownr" ];
   };
-  full."clean-css"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-1.1.3";
+  by-spec."clean-css"."1.0.x" =
+    self.by-version."clean-css"."1.0.12";
+  by-version."clean-css"."1.0.12" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-1.0.12";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.0.12.tgz";
+        sha1 = "e6e0d977860466363d9110a17423d27cd6874300";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."clean-css" or []);
+    deps = [
+      self.by-version."commander"."1.3.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "clean-css" ];
+  };
+  by-spec."clean-css"."~2.0.0" =
+    self.by-version."clean-css"."2.0.0";
+  by-version."clean-css"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.1.3.tgz";
-        sha1 = "5442cbf45643e09bdcfae25f2b5d8eb36e168ae1";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.0.0.tgz";
+        sha1 = "ece63c9ad25e3813c89a95566795a3d0a2ff0dac";
       })
     ];
     buildInputs =
-      (self.nativeDeps."clean-css"."~1.1.1" or []);
+      (self.nativeDeps."clean-css" or []);
     deps = [
-      self.full."commander"."2.0.x"
+      self.by-version."commander"."2.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clean-css" ];
   };
-  full."cli"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli"."0.4.x" =
+    self.by-version."cli"."0.4.5";
+  by-version."cli"."0.4.5" = lib.makeOverridable self.buildNodePackage {
     name = "cli-0.4.5";
     src = [
       (fetchurl {
@@ -1651,15 +1484,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli"."0.4.x" or []);
+      (self.nativeDeps."cli" or []);
     deps = [
-      self.full."glob".">= 3.1.4"
+      self.by-version."glob"."3.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli" ];
   };
-  full."cli-color"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli-color"."~0.2.2" =
+    self.by-version."cli-color"."0.2.3";
+  by-version."cli-color"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "cli-color-0.2.3";
     src = [
       (fetchurl {
@@ -1668,16 +1503,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-color"."~0.2.2" or []);
+      (self.nativeDeps."cli-color" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."memoizee"."~0.2.5"
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."memoizee"."0.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli-color" ];
   };
-  full."cli-table"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli-table"."~0.2.0" =
+    self.by-version."cli-table"."0.2.0";
+  by-version."cli-table"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "cli-table-0.2.0";
     src = [
       (fetchurl {
@@ -1686,15 +1523,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-table"."~0.2.0" or []);
+      (self.nativeDeps."cli-table" or []);
     deps = [
-      self.full."colors"."0.3.0"
+      self.by-version."colors"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli-table" ];
   };
-  full."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cliff"."0.1.8" =
+    self.by-version."cliff"."0.1.8";
+  by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "cliff-0.1.8";
     src = [
       (fetchurl {
@@ -1703,17 +1542,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cliff"."0.1.8" or []);
+      (self.nativeDeps."cliff" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."eyes"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."colors"."0.6.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cliff" ];
   };
-  full."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."clone"."0.1.5" =
+    self.by-version."clone"."0.1.5";
+  by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "clone-0.1.5";
     src = [
       (fetchurl {
@@ -1722,14 +1563,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.5" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."clone"."0.1.6" =
+    self.by-version."clone"."0.1.6";
+  by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "clone-0.1.6";
     src = [
       (fetchurl {
@@ -1738,32 +1581,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.6" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."cmd-shim"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cmd-shim-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.0.1.tgz";
-        sha1 = "75e917c2185240854718c686346770640083d7bc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.0.1" or []);
-    deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cmd-shim" ];
-  };
-  full."cmd-shim"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cmd-shim"."~1.1.1" =
+    self.by-version."cmd-shim"."1.1.1";
+  by-version."cmd-shim"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "cmd-shim-1.1.1";
     src = [
       (fetchurl {
@@ -1772,65 +1599,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.1.0" or []);
+      (self.nativeDeps."cmd-shim" or []);
     deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cmd-shim" ];
   };
-  full."coffee-script"."*" = 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";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  "coffee-script" = self.full."coffee-script"."*";
-  full."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";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script"."1.6.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script".">= 0.0.1" = 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";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script".">=1.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."coffee-script"."*" =
+    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 {
@@ -1839,14 +1619,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script".">=1.2.0" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  full."coffee-script"."~1.3.3" = lib.makeOverridable self.buildNodePackage {
+  "coffee-script" = self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script"."1.6.3" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script".">= 0.0.1" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script".">=1.2.0" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script"."~1.3.3" =
+    self.by-version."coffee-script"."1.3.3";
+  by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.3.3";
     src = [
       (fetchurl {
@@ -1855,30 +1644,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."~1.3.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script"."~1.6" = 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";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script"."~1.6" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  full."color"."~0.4.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."coffee-script"."~1.6" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."color"."~0.4.4" =
+    self.by-version."color"."0.4.4";
+  by-version."color"."0.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "color-0.4.4";
     src = [
       (fetchurl {
@@ -1887,16 +1664,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color"."~0.4.4" or []);
+      (self.nativeDeps."color" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
-      self.full."color-string"."0.1.x"
+      self.by-version."color-convert"."0.2.1"
+      self.by-version."color-string"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color" ];
   };
-  full."color-convert"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."color-convert"."0.2.x" =
+    self.by-version."color-convert"."0.2.1";
+  by-version."color-convert"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "color-convert-0.2.1";
     src = [
       (fetchurl {
@@ -1905,14 +1684,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-convert"."0.2.x" or []);
+      (self.nativeDeps."color-convert" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color-convert" ];
   };
-  full."color-string"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."color-string"."0.1.x" =
+    self.by-version."color-string"."0.1.2";
+  by-version."color-string"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "color-string-0.1.2";
     src = [
       (fetchurl {
@@ -1921,15 +1702,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-string"."0.1.x" or []);
+      (self.nativeDeps."color-string" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
+      self.by-version."color-convert"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color-string" ];
   };
-  full."colors"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.3.0" =
+    self.by-version."colors"."0.3.0";
+  by-version."colors"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.3.0";
     src = [
       (fetchurl {
@@ -1938,14 +1721,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.3.0" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.5.x" =
+    self.by-version."colors"."0.5.1";
+  by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.5.1";
     src = [
       (fetchurl {
@@ -1954,14 +1739,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.5.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.6.0-1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.6.0-1" =
+    self.by-version."colors"."0.6.0-1";
+  by-version."colors"."0.6.0-1" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.6.0-1";
     src = [
       (fetchurl {
@@ -1970,30 +1757,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.6.0-1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "colors" ];
-  };
-  full."colors"."0.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."colors"."0.6.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.6.x" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.6.2";
     src = [
       (fetchurl {
@@ -2002,30 +1775,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.x.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."~0.6.0-1" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."colors"."~0.6.0-1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "colors" ];
-  };
-  full."combined-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.x.x" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors"."~0.6.0-1" =
+    self.by-version."colors"."0.6.2";
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.4";
+  by-version."combined-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "combined-stream-0.0.4";
     src = [
       (fetchurl {
@@ -2034,15 +1797,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."combined-stream"."~0.0.4" or []);
+      (self.nativeDeps."combined-stream" or []);
     deps = [
-      self.full."delayed-stream"."0.0.5"
+      self.by-version."delayed-stream"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "combined-stream" ];
   };
-  full."commander"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."*" =
+    self.by-version."commander"."2.0.0";
+  by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "commander-2.0.0";
     src = [
       (fetchurl {
@@ -2051,14 +1816,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."*" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."0.5.1" =
+    self.by-version."commander"."0.5.1";
+  by-version."commander"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "commander-0.5.1";
     src = [
       (fetchurl {
@@ -2067,14 +1834,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.5.1" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
     name = "commander-0.6.1";
     src = [
       (fetchurl {
@@ -2083,62 +1852,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.6.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  full."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander"."2.0.0" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."2.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
+  by-spec."commander"."1.3.2" =
+    self.by-version."commander"."1.3.2";
+  by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-1.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
+        url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."2.0.x" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
+      self.by-version."keypress"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander"."~0.6.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  full."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."1.3.x" =
+    self.by-version."commander"."1.3.2";
+  by-spec."commander"."2.0.0" =
+    self.by-version."commander"."2.0.0";
+  by-spec."commander"."2.0.x" =
+    self.by-version."commander"."2.0.0";
+  by-spec."commander"."~0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-spec."config"."0.4.15" =
+    self.by-version."config"."0.4.15";
+  by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
     name = "config-0.4.15";
     src = [
       (fetchurl {
@@ -2147,17 +1897,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."config"."0.4.15" or []);
+      (self.nativeDeps."config" or []);
     deps = [
-      self.full."js-yaml"."0.3.x"
-      self.full."coffee-script".">=1.2.0"
-      self.full."vows".">=0.5.13"
+      self.by-version."js-yaml"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."vows"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config" ];
   };
-  full."config-chain"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."config-chain"."~1.1.1" =
+    self.by-version."config-chain"."1.1.8";
+  by-version."config-chain"."1.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "config-chain-1.1.8";
     src = [
       (fetchurl {
@@ -2166,16 +1918,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."config-chain"."~1.1.1" or []);
+      (self.nativeDeps."config-chain" or []);
     deps = [
-      self.full."proto-list"."~1.2.1"
-      self.full."ini"."1"
+      self.by-version."proto-list"."1.2.2"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config-chain" ];
   };
-  full."configstore"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."config-chain"."~1.1.8" =
+    self.by-version."config-chain"."1.1.8";
+  by-spec."configstore"."~0.1.0" =
+    self.by-version."configstore"."0.1.5";
+  by-version."configstore"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "configstore-0.1.5";
     src = [
       (fetchurl {
@@ -2184,18 +1940,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."configstore"."~0.1.0" or []);
+      (self.nativeDeps."configstore" or []);
     deps = [
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."js-yaml"."~2.1.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."js-yaml"."2.1.3"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "configstore" ];
   };
-  full."connect"."1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."1.x" =
+    self.by-version."connect"."1.9.2";
+  by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "connect-1.9.2";
     src = [
       (fetchurl {
@@ -2204,43 +1962,51 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."1.x" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs".">= 0.4.0"
-      self.full."mime".">= 0.0.1"
-      self.full."formidable"."1.0.x"
+      self.by-version."qs"."0.6.5"
+      self.by-version."mime"."1.2.11"
+      self.by-version."formidable"."1.0.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.11" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.11";
+  by-spec."connect"."2.11.0" =
+    self.by-version."connect"."2.11.0";
+  by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.11.tgz";
-        sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e";
+        url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
+        sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.11" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.1"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.6.5"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."debug"."0.7.3"
+      self.by-version."methods"."0.0.1"
+      self.by-version."raw-body"."0.0.3"
+      self.by-version."negotiator"."0.3.0"
+      self.by-version."multiparty"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."2.7.5" =
+    self.by-version."connect"."2.7.5";
+  by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
     name = "connect-2.7.5";
     src = [
       (fetchurl {
@@ -2249,24 +2015,26 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.5" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.0"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."2.7.6" =
+    self.by-version."connect"."2.7.6";
+  by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
     name = "connect-2.7.6";
     src = [
       (fetchurl {
@@ -2275,80 +2043,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.6" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect"."2.9.1" or []);
-    deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
-  full."connect"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect"."~2" or []);
-    deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
-  full."connect"."~2.8.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."~2" =
+    self.by-version."connect"."2.11.0";
+  by-spec."connect"."~2.8.4" =
+    self.by-version."connect"."2.8.8";
+  by-version."connect"."2.8.8" = lib.makeOverridable self.buildNodePackage {
     name = "connect-2.8.8";
     src = [
       (fetchurl {
@@ -2357,26 +2073,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."~2.8.4" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.14"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.2"
+      self.by-version."debug"."0.7.3"
+      self.by-version."methods"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect-flash"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect-flash"."*" =
+    self.by-version."connect-flash"."0.1.1";
+  by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "connect-flash-0.1.1";
     src = [
       (fetchurl {
@@ -2385,15 +2103,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."*" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  "connect-flash" = self.full."connect-flash"."*";
-  full."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "connect-flash" = self.by-version."connect-flash"."0.1.1";
+  by-spec."connect-flash"."0.1.0" =
+    self.by-version."connect-flash"."0.1.0";
+  by-version."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "connect-flash-0.1.0";
     src = [
       (fetchurl {
@@ -2402,14 +2122,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."0.1.0" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  full."connect-jade-static"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect-jade-static"."*" =
+    self.by-version."connect-jade-static"."0.1.1";
+  by-version."connect-jade-static"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "connect-jade-static-0.1.1";
     src = [
       (fetchurl {
@@ -2418,16 +2140,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-jade-static"."*" or []);
+      (self.nativeDeps."connect-jade-static" or []);
     deps = [
-      self.full."jade"."*"
+      self.by-version."jade"."0.35.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-jade-static" ];
   };
-  "connect-jade-static" = self.full."connect-jade-static"."*";
-  full."connect-mongo"."*" = lib.makeOverridable self.buildNodePackage {
+  "connect-jade-static" = self.by-version."connect-jade-static"."0.1.1";
+  by-spec."connect-mongo"."*" =
+    self.by-version."connect-mongo"."0.3.3";
+  by-version."connect-mongo"."0.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "connect-mongo-0.3.3";
     src = [
       (fetchurl {
@@ -2436,16 +2160,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-mongo"."*" or []);
+      (self.nativeDeps."connect-mongo" or []);
     deps = [
-      self.full."mongodb"."1.2.x"
+      self.by-version."mongodb"."1.2.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-mongo" ];
   };
-  "connect-mongo" = self.full."connect-mongo"."*";
-  full."console-browserify"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  "connect-mongo" = self.by-version."connect-mongo"."0.3.3";
+  by-spec."console-browserify"."0.1.x" =
+    self.by-version."console-browserify"."0.1.6";
+  by-version."console-browserify"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "console-browserify-0.1.6";
     src = [
       (fetchurl {
@@ -2454,14 +2180,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."console-browserify"."0.1.x" or []);
+      (self.nativeDeps."console-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "console-browserify" ];
   };
-  full."constantinople"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."constantinople"."~1.0.1" =
+    self.by-version."constantinople"."1.0.2";
+  by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "constantinople-1.0.2";
     src = [
       (fetchurl {
@@ -2470,15 +2198,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."constantinople"."~1.0.1" or []);
+      (self.nativeDeps."constantinople" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
+      self.by-version."uglify-js"."2.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
   };
-  full."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie"."0.0.5" =
+    self.by-version."cookie"."0.0.5";
+  by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-0.0.5";
     src = [
       (fetchurl {
@@ -2487,14 +2217,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.0.5" or []);
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie"."0.1.0" =
+    self.by-version."cookie"."0.1.0";
+  by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-0.1.0";
     src = [
       (fetchurl {
@@ -2503,14 +2235,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.1.0" or []);
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie-jar"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-jar"."~0.2.0" =
+    self.by-version."cookie-jar"."0.2.0";
+  by-version."cookie-jar"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-jar-0.2.0";
     src = [
       (fetchurl {
@@ -2519,14 +2253,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.2.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-jar"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-jar"."~0.3.0" =
+    self.by-version."cookie-jar"."0.3.0";
+  by-version."cookie-jar"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-jar-0.3.0";
     src = [
       (fetchurl {
@@ -2535,14 +2271,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.3.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-signature"."1.0.0" =
+    self.by-version."cookie-signature"."1.0.0";
+  by-version."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-signature-1.0.0";
     src = [
       (fetchurl {
@@ -2551,14 +2289,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.0" or []);
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-signature"."1.0.1" =
+    self.by-version."cookie-signature"."1.0.1";
+  by-version."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-signature-1.0.1";
     src = [
       (fetchurl {
@@ -2567,14 +2307,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.1" or []);
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookiejar"."1.3.0" =
+    self.by-version."cookiejar"."1.3.0";
+  by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookiejar-1.3.0";
     src = [
       (fetchurl {
@@ -2583,14 +2325,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookiejar"."1.3.0" or []);
+      (self.nativeDeps."cookiejar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
   };
-  full."cookies".">= 0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookies".">= 0.2.2" =
+    self.by-version."cookies"."0.3.6";
+  by-version."cookies"."0.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "cookies-0.3.6";
     src = [
       (fetchurl {
@@ -2599,14 +2343,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookies".">= 0.2.2" or []);
+      (self.nativeDeps."cookies" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookies" ];
   };
-  full."core-util-is"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.0";
+  by-version."core-util-is"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "core-util-is-1.0.0";
     src = [
       (fetchurl {
@@ -2615,31 +2361,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."core-util-is"."~1.0.0" or []);
+      (self.nativeDeps."core-util-is" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "core-util-is" ];
   };
-  full."couch-login"."~0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "couch-login-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.18.tgz";
-        sha1 = "a69fa40dd43d1f98d97e560f18187a578a116056";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.15" or []);
-    deps = [
-      self.full."request"."2 >=2.25.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "couch-login" ];
-  };
-  full."couch-login"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
+  by-spec."couch-login"."~0.1.15" =
+    self.by-version."couch-login"."0.1.18";
+  by-version."couch-login"."0.1.18" = lib.makeOverridable self.buildNodePackage {
     name = "couch-login-0.1.18";
     src = [
       (fetchurl {
@@ -2648,15 +2379,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.18" or []);
+      (self.nativeDeps."couch-login" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
+      self.by-version."request"."2.27.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "couch-login" ];
   };
-  full."coveralls"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."couch-login"."~0.1.18" =
+    self.by-version."couch-login"."0.1.18";
+  by-spec."coveralls"."*" =
+    self.by-version."coveralls"."2.3.0";
+  by-version."coveralls"."2.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "coveralls-2.3.0";
     src = [
       (fetchurl {
@@ -2665,19 +2400,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coveralls"."*" or []);
+      (self.nativeDeps."coveralls" or []);
     deps = [
-      self.full."yaml"."0.2.3"
-      self.full."request"."2.16.2"
-      self.full."lcov-parse"."0.0.4"
-      self.full."log-driver"."1.2.1"
+      self.by-version."yaml"."0.2.3"
+      self.by-version."request"."2.16.2"
+      self.by-version."lcov-parse"."0.0.4"
+      self.by-version."log-driver"."1.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coveralls" ];
   };
-  "coveralls" = self.full."coveralls"."*";
-  full."crossroads"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
+  "coveralls" = self.by-version."coveralls"."2.3.0";
+  by-spec."crossroads"."~0.12.0" =
+    self.by-version."crossroads"."0.12.0";
+  by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage {
     name = "crossroads-0.12.0";
     src = [
       (fetchurl {
@@ -2686,15 +2423,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."crossroads"."~0.12.0" or []);
+      (self.nativeDeps."crossroads" or []);
     deps = [
-      self.full."signals"."<2.0"
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "crossroads" ];
   };
-  full."cryptiles"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cryptiles"."0.1.x" =
+    self.by-version."cryptiles"."0.1.3";
+  by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "cryptiles-0.1.3";
     src = [
       (fetchurl {
@@ -2703,15 +2442,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.1.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.3.x"
+      self.by-version."boom"."0.3.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."cryptiles"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "cryptiles-0.2.2";
     src = [
       (fetchurl {
@@ -2720,15 +2461,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.2.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.4.x"
+      self.by-version."boom"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."css"."~1.0.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css"."~1.0.8" =
+    self.by-version."css"."1.0.8";
+  by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "css-1.0.8";
     src = [
       (fetchurl {
@@ -2737,16 +2480,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css"."~1.0.8" or []);
+      (self.nativeDeps."css" or []);
     deps = [
-      self.full."css-parse"."1.0.4"
-      self.full."css-stringify"."1.0.5"
+      self.by-version."css-parse"."1.0.4"
+      self.by-version."css-stringify"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css" ];
   };
-  full."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css-parse"."1.0.4" =
+    self.by-version."css-parse"."1.0.4";
+  by-version."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "css-parse-1.0.4";
     src = [
       (fetchurl {
@@ -2755,14 +2500,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-parse"."1.0.4" or []);
+      (self.nativeDeps."css-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
   };
-  full."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css-stringify"."1.0.5" =
+    self.by-version."css-stringify"."1.0.5";
+  by-version."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "css-stringify-1.0.5";
     src = [
       (fetchurl {
@@ -2771,14 +2518,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-stringify"."1.0.5" or []);
+      (self.nativeDeps."css-stringify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-stringify" ];
   };
-  full."cssom"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cssom"."0.2.x" =
+    self.by-version."cssom"."0.2.5";
+  by-version."cssom"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "cssom-0.2.5";
     src = [
       (fetchurl {
@@ -2787,14 +2536,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cssom"."0.2.x" or []);
+      (self.nativeDeps."cssom" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cssom" ];
   };
-  full."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ctype"."0.5.0" =
+    self.by-version."ctype"."0.5.0";
+  by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "ctype-0.5.0";
     src = [
       (fetchurl {
@@ -2803,14 +2554,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.0" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "ctype-0.5.2";
     src = [
       (fetchurl {
@@ -2819,14 +2572,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.2" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."cycle"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cycle"."1.0.x" =
+    self.by-version."cycle"."1.0.2";
+  by-version."cycle"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "cycle-1.0.2";
     src = [
       (fetchurl {
@@ -2835,14 +2590,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cycle"."1.0.x" or []);
+      (self.nativeDeps."cycle" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cycle" ];
   };
-  full."dargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dargs"."~0.1.0" =
+    self.by-version."dargs"."0.1.0";
+  by-version."dargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "dargs-0.1.0";
     src = [
       (fetchurl {
@@ -2851,14 +2608,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dargs"."~0.1.0" or []);
+      (self.nativeDeps."dargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dargs" ];
   };
-  full."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dateformat"."1.0.2-1.2.3" =
+    self.by-version."dateformat"."1.0.2-1.2.3";
+  by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "dateformat-1.0.2-1.2.3";
     src = [
       (fetchurl {
@@ -2867,14 +2626,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."1.0.2-1.2.3" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."dateformat"."~1.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dateformat"."~1.0.6" =
+    self.by-version."dateformat"."1.0.6-1.2.3";
+  by-version."dateformat"."1.0.6-1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "dateformat-1.0.6-1.2.3";
     src = [
       (fetchurl {
@@ -2883,30 +2644,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."~1.0.6" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."debug"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug"."*" =
+    self.by-version."debug"."0.7.3";
+  by-version."debug"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-0.7.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/debug/-/debug-0.7.3.tgz";
+        sha1 = "ba7ae369799066a28d234fb8dad6f05837839da8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."*" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."debug"."0.7.0" =
+    self.by-version."debug"."0.7.0";
+  by-version."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "debug-0.7.0";
     src = [
       (fetchurl {
@@ -2915,62 +2680,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."0.7.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  full."debug"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug"."~0.7.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  full."debug"."~0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug"."~0.7.2" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."debug"."~0.7.0" =
+    self.by-version."debug"."0.7.3";
+  by-spec."debug"."~0.7.2" =
+    self.by-version."debug"."0.7.3";
+  by-spec."debuglog"."0.0.2" =
+    self.by-version."debuglog"."0.0.2";
+  by-version."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "debuglog-0.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz";
-        sha1 = "83f4cd091f955f5da7053789727ad506f1010f1c";
+        sha1 = "6c0dcf07e2c3f74524629b741668bd46c7b362eb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debuglog"."0.0.2" or []);
+      (self.nativeDeps."debuglog" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debuglog" ];
   };
-  full."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-eql"."0.1.3" =
+    self.by-version."deep-eql"."0.1.3";
+  by-version."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "deep-eql-0.1.3";
     src = [
       (fetchurl {
@@ -2979,15 +2720,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-eql"."0.1.3" or []);
+      (self.nativeDeps."deep-eql" or []);
     deps = [
-      self.full."type-detect"."0.1.1"
+      self.by-version."type-detect"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-eql" ];
   };
-  full."deep-equal"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-equal"."*" =
+    self.by-version."deep-equal"."0.1.0";
+  by-version."deep-equal"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "deep-equal-0.1.0";
     src = [
       (fetchurl {
@@ -2996,14 +2739,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."*" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-equal"."0.0.0" =
+    self.by-version."deep-equal"."0.0.0";
+  by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "deep-equal-0.0.0";
     src = [
       (fetchurl {
@@ -3012,14 +2757,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."0.0.0" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-extend"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-extend"."~0.2.5" =
+    self.by-version."deep-extend"."0.2.6";
+  by-version."deep-extend"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "deep-extend-0.2.6";
     src = [
       (fetchurl {
@@ -3028,30 +2775,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.5" or []);
+      (self.nativeDeps."deep-extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-extend" ];
   };
-  full."deep-extend"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-extend-0.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz";
-        sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-extend" ];
-  };
-  full."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-extend"."~0.2.6" =
+    self.by-version."deep-extend"."0.2.6";
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "delayed-stream-0.0.5";
     src = [
       (fetchurl {
@@ -3060,14 +2795,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."delayed-stream"."0.0.5" or []);
+      (self.nativeDeps."delayed-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "delayed-stream" ];
   };
-  full."di"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."di"."~0.0.1" =
+    self.by-version."di"."0.0.1";
+  by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "di-0.0.1";
     src = [
       (fetchurl {
@@ -3076,30 +2813,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."di"."~0.0.1" or []);
+      (self.nativeDeps."di" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "di" ];
   };
-  full."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."diff"."1.0.7" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "diff" ];
-  };
-  full."diff"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."diff"."1.0.7" =
+    self.by-version."diff"."1.0.7";
+  by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "diff-1.0.7";
     src = [
       (fetchurl {
@@ -3108,30 +2831,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."diff"."~1.0.3" or []);
+      (self.nativeDeps."diff" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "diff" ];
   };
-  full."diff"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."diff"."~1.0.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "diff" ];
-  };
-  full."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."diff"."~1.0.3" =
+    self.by-version."diff"."1.0.7";
+  by-spec."diff"."~1.0.4" =
+    self.by-version."diff"."1.0.7";
+  by-spec."diff"."~1.0.7" =
+    self.by-version."diff"."1.0.7";
+  by-spec."director"."1.1.10" =
+    self.by-version."director"."1.1.10";
+  by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
     name = "director-1.1.10";
     src = [
       (fetchurl {
@@ -3140,14 +2855,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."director"."1.1.10" or []);
+      (self.nativeDeps."director" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "director" ];
   };
-  full."domelementtype"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domelementtype"."1" =
+    self.by-version."domelementtype"."1.1.1";
+  by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "domelementtype-1.1.1";
     src = [
       (fetchurl {
@@ -3156,14 +2873,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domelementtype"."1" or []);
+      (self.nativeDeps."domelementtype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domelementtype" ];
   };
-  full."domhandler"."2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domhandler"."2.0" =
+    self.by-version."domhandler"."2.0.3";
+  by-version."domhandler"."2.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "domhandler-2.0.3";
     src = [
       (fetchurl {
@@ -3172,15 +2891,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domhandler"."2.0" or []);
+      (self.nativeDeps."domhandler" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domhandler" ];
   };
-  full."domutils"."1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.0" =
+    self.by-version."domutils"."1.0.1";
+  by-version."domutils"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.0.1";
     src = [
       (fetchurl {
@@ -3189,15 +2910,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.0" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."domutils"."1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.1" =
+    self.by-version."domutils"."1.1.6";
+  by-version."domutils"."1.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.1.6";
     src = [
       (fetchurl {
@@ -3206,15 +2929,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.1" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."domutils"."1.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.2" =
+    self.by-version."domutils"."1.2.1";
+  by-version."domutils"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.2.1";
     src = [
       (fetchurl {
@@ -3223,15 +2948,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.2" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dtrace-provider"."0.2.8" =
+    self.by-version."dtrace-provider"."0.2.8";
+  by-version."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "dtrace-provider-0.2.8";
     src = [
       (fetchurl {
@@ -3240,30 +2967,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dtrace-provider"."0.2.8" or []);
+      (self.nativeDeps."dtrace-provider" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dtrace-provider" ];
   };
-  full."editor"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "editor-0.0.4";
+  by-spec."editor"."0.0.5" =
+    self.by-version."editor"."0.0.5";
+  by-version."editor"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "editor-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/editor/-/editor-0.0.4.tgz";
-        sha1 = "478920f77bca6c1c1749d5e3edde4bd5966efda8";
+        url = "http://registry.npmjs.org/editor/-/editor-0.0.5.tgz";
+        sha1 = "8c38877781f2547011c1aeffdbe50cafcc59794a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."editor"."0.0.4" or []);
+      (self.nativeDeps."editor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "editor" ];
   };
-  full."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ejs"."0.8.3" =
+    self.by-version."ejs"."0.8.3";
+  by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
     name = "ejs-0.8.3";
     src = [
       (fetchurl {
@@ -3272,14 +3003,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ejs"."0.8.3" or []);
+      (self.nativeDeps."ejs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ejs" ];
   };
-  full."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."emitter-component"."0.0.6" =
+    self.by-version."emitter-component"."0.0.6";
+  by-version."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "emitter-component-0.0.6";
     src = [
       (fetchurl {
@@ -3288,14 +3021,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."0.0.6" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
   };
-  full."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."emitter-component"."1.0.0" =
+    self.by-version."emitter-component"."1.0.0";
+  by-version."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "emitter-component-1.0.0";
     src = [
       (fetchurl {
@@ -3304,14 +3039,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."1.0.0" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
   };
-  full."encoding"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."encoding"."~0.1" =
+    self.by-version."encoding"."0.1.7";
+  by-version."encoding"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "encoding-0.1.7";
     src = [
       (fetchurl {
@@ -3320,15 +3057,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."encoding"."~0.1" or []);
+      (self.nativeDeps."encoding" or []);
     deps = [
-      self.full."iconv-lite"."~0.2.11"
+      self.by-version."iconv-lite"."0.2.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "encoding" ];
   };
-  full."entities"."0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ent"."~0.1.0" =
+    self.by-version."ent"."0.1.0";
+  by-version."ent"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ent-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ent/-/ent-0.1.0.tgz";
+        sha1 = "deb9cd7f3da25b1a94c248dbbdc91d0f0c094035";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ent" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ent" ];
+  };
+  by-spec."entities"."0.x" =
+    self.by-version."entities"."0.3.0";
+  by-version."entities"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "entities-0.3.0";
     src = [
       (fetchurl {
@@ -3337,14 +3094,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."entities"."0.x" or []);
+      (self.nativeDeps."entities" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "entities" ];
   };
-  full."es5-ext"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."es5-ext"."~0.9.2" =
+    self.by-version."es5-ext"."0.9.2";
+  by-version."es5-ext"."0.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "es5-ext-0.9.2";
     src = [
       (fetchurl {
@@ -3353,14 +3112,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."es5-ext"."~0.9.2" or []);
+      (self.nativeDeps."es5-ext" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "es5-ext" ];
   };
-  full."escape-html"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."escape-html"."*" =
+    self.by-version."escape-html"."1.0.0";
+  by-version."escape-html"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "escape-html-1.0.0";
     src = [
       (fetchurl {
@@ -3369,15 +3130,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."escape-html"."*" or []);
+      (self.nativeDeps."escape-html" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "escape-html" ];
   };
-  "escape-html" = self.full."escape-html"."*";
-  full."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
+  "escape-html" = self.by-version."escape-html"."1.0.0";
+  by-spec."escodegen"."0.0.23" =
+    self.by-version."escodegen"."0.0.23";
+  by-version."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-0.0.23";
     src = [
       (fetchurl {
@@ -3386,33 +3149,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."escodegen"."0.0.23" or []);
+      (self.nativeDeps."escodegen" or []);
     deps = [
-      self.full."esprima"."~1.0.2"
-      self.full."estraverse"."~0.0.4"
-      self.full."source-map".">= 0.1.2"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."0.0.4"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
   };
-  full."esprima"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esprima"."1.0.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esprima" ];
-  };
-  full."esprima"."~ 1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."esprima"."1.0.x" =
+    self.by-version."esprima"."1.0.4";
+  by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.0.4";
     src = [
       (fetchurl {
@@ -3421,46 +3170,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."~ 1.0.2" or []);
+      (self.nativeDeps."esprima" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
   };
-  full."esprima"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esprima"."~1.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esprima" ];
-  };
-  full."esprima"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esprima"."~1.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esprima" ];
-  };
-  full."estraverse"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."esprima"."~ 1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.0.0" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."estraverse"."~0.0.4" =
+    self.by-version."estraverse"."0.0.4";
+  by-version."estraverse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "estraverse-0.0.4";
     src = [
       (fetchurl {
@@ -3469,14 +3194,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."estraverse"."~0.0.4" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
   };
-  full."event-emitter"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."event-emitter"."~0.2.2" =
+    self.by-version."event-emitter"."0.2.2";
+  by-version."event-emitter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "event-emitter-0.2.2";
     src = [
       (fetchurl {
@@ -3485,15 +3212,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-emitter"."~0.2.2" or []);
+      (self.nativeDeps."event-emitter" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
+      self.by-version."es5-ext"."0.9.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "event-emitter" ];
   };
-  full."event-stream"."~0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."event-stream"."~0.5" =
+    self.by-version."event-stream"."0.5.3";
+  by-version."event-stream"."0.5.3" = lib.makeOverridable self.buildNodePackage {
     name = "event-stream-0.5.3";
     src = [
       (fetchurl {
@@ -3502,15 +3231,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-stream"."~0.5" or []);
+      (self.nativeDeps."event-stream" or []);
     deps = [
-      self.full."optimist"."0.2"
+      self.by-version."optimist"."0.2.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "event-stream" ];
   };
-  full."eventemitter2"."0.4.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."0.4.11" =
+    self.by-version."eventemitter2"."0.4.11";
+  by-version."eventemitter2"."0.4.11" = lib.makeOverridable self.buildNodePackage {
     name = "eventemitter2-0.4.11";
     src = [
       (fetchurl {
@@ -3519,14 +3250,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."0.4.11" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  full."eventemitter2"."~0.4.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."~0.4.11" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-version."eventemitter2"."0.4.13" = lib.makeOverridable self.buildNodePackage {
     name = "eventemitter2-0.4.13";
     src = [
       (fetchurl {
@@ -3535,30 +3268,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."~0.4.11" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  full."eventemitter2"."~0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "eventemitter2-0.4.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz";
-        sha1 = "0a8ab97f9c1b563361b8927f9e80606277509153";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."eventemitter2"."~0.4.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eventemitter2" ];
-  };
-  full."events.node".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."~0.4.9" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-spec."events.node".">= 0.4.0" =
+    self.by-version."events.node"."0.4.9";
+  by-version."events.node"."0.4.9" = lib.makeOverridable self.buildNodePackage {
     name = "events.node-0.4.9";
     src = [
       (fetchurl {
@@ -3567,42 +3288,46 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."events.node".">= 0.4.0" or []);
+      (self.nativeDeps."events.node" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "events.node" ];
   };
-  full."express"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."express"."*" =
+    self.by-version."express"."3.4.4";
+  by-version."express"."3.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+        url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
+        sha1 = "0b63ae626c96b71b78d13dfce079c10351635a86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."*" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.11.0"
+      self.by-version."commander"."1.3.2"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."methods"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  "express" = self.full."express"."*";
-  full."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
+  "express" = self.by-version."express"."3.4.4";
+  by-spec."express"."2.5.11" =
+    self.by-version."express"."2.5.11";
+  by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
     name = "express-2.5.11";
     src = [
       (fetchurl {
@@ -3611,18 +3336,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."2.5.11" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."1.x"
-      self.full."mime"."1.2.4"
-      self.full."qs"."0.4.x"
-      self.full."mkdirp"."0.3.0"
+      self.by-version."connect"."1.9.2"
+      self.by-version."mime"."1.2.4"
+      self.by-version."qs"."0.4.2"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."express"."3.2.0" =
+    self.by-version."express"."3.2.0";
+  by-version."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.2.0";
     src = [
       (fetchurl {
@@ -3631,79 +3358,29 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.2.0" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.7.6"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.7.6"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."3.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.2.6.tgz";
-        sha1 = "d8a9fe065adc23c5b41ec2c689c672b261430ffc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express"."3.2.6" or []);
-    deps = [
-      self.full."connect"."2.7.11"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.4"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  full."express"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express"."3.x" or []);
-    deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  full."express"."~3.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."express"."3.x" =
+    self.by-version."express"."3.4.4";
+  by-spec."express"."~3.1.1" =
+    self.by-version."express"."3.1.2";
+  by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.1.2";
     src = [
       (fetchurl {
@@ -3712,72 +3389,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."~3.1.1" or []);
-    deps = [
-      self.full."connect"."2.7.5"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.0"
-      self.full."debug"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  full."express"."~3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express"."~3.4" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.7.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."debug"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express-form"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-form-0.8.1";
+  by-spec."express"."~3.4" =
+    self.by-version."express"."3.4.4";
+  by-spec."express"."~3.4.4" =
+    self.by-version."express"."3.4.4";
+  by-spec."express-form"."*" =
+    self.by-version."express-form"."0.10.0";
+  by-version."express-form"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "express-form-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-form/-/express-form-0.8.1.tgz";
-        sha1 = "14299158646a796fac584cb5980d63e587c02019";
+        url = "http://registry.npmjs.org/express-form/-/express-form-0.10.0.tgz";
+        sha1 = "f16180c3804007a548b2d74c21400ce3fc1c00cd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-form"."*" or []);
+      (self.nativeDeps."express-form" or []);
     deps = [
-      self.full."validator"."0.4.x"
-      self.full."object-additions".">= 0.5.0"
+      self.by-version."validator"."0.4.28"
+      self.by-version."object-additions"."0.5.1"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
-      self.full."express"."3.x"
+      self.by-version."express"."3.4.4"
     ];
     passthru.names = [ "express-form" ];
   };
-  "express-form" = self.full."express-form"."*";
-  full."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+  "express-form" = self.by-version."express-form"."0.10.0";
+  by-spec."express-partials"."0.0.6" =
+    self.by-version."express-partials"."0.0.6";
+  by-version."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "express-partials-0.0.6";
     src = [
       (fetchurl {
@@ -3786,14 +3445,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-partials"."0.0.6" or []);
+      (self.nativeDeps."express-partials" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express-partials" ];
   };
-  full."extend"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extend"."*" =
+    self.by-version."extend"."1.2.1";
+  by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "extend-1.2.1";
     src = [
       (fetchurl {
@@ -3802,15 +3463,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extend"."*" or []);
+      (self.nativeDeps."extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extend" ];
   };
-  "extend" = self.full."extend"."*";
-  full."extract-opts"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
+  "extend" = self.by-version."extend"."1.2.1";
+  by-spec."extract-opts"."~2.2.0" =
+    self.by-version."extract-opts"."2.2.0";
+  by-version."extract-opts"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "extract-opts-2.2.0";
     src = [
       (fetchurl {
@@ -3819,15 +3482,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extract-opts"."~2.2.0" or []);
+      (self.nativeDeps."extract-opts" or []);
     deps = [
-      self.full."typechecker"."~2.0.1"
+      self.by-version."typechecker"."2.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extract-opts" ];
   };
-  full."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extsprintf"."1.0.0" =
+    self.by-version."extsprintf"."1.0.0";
+  by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "extsprintf-1.0.0";
     src = [
       (fetchurl {
@@ -3836,14 +3501,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.0" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
   };
-  full."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extsprintf"."1.0.2" =
+    self.by-version."extsprintf"."1.0.2";
+  by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "extsprintf-1.0.2";
     src = [
       (fetchurl {
@@ -3852,14 +3519,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.2" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
   };
-  full."eyes"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eyes"."0.1.x" =
+    self.by-version."eyes"."0.1.8";
+  by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "eyes-0.1.8";
     src = [
       (fetchurl {
@@ -3868,30 +3537,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eyes"."0.1.x" or []);
+      (self.nativeDeps."eyes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eyes" ];
   };
-  full."eyes".">=0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "eyes-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."eyes".">=0.1.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eyes" ];
-  };
-  full."faye-websocket"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eyes".">=0.1.6" =
+    self.by-version."eyes"."0.1.8";
+  by-spec."faye-websocket"."*" =
+    self.by-version."faye-websocket"."0.7.0";
+  by-version."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "faye-websocket-0.7.0";
     src = [
       (fetchurl {
@@ -3900,33 +3557,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."faye-websocket"."*" or []);
+      (self.nativeDeps."faye-websocket" or []);
     deps = [
-      self.full."websocket-driver".">=0.3.0"
+      self.by-version."websocket-driver"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "faye-websocket" ];
   };
-  "faye-websocket" = self.full."faye-websocket"."*";
-  full."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "faye-websocket-0.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz";
-        sha1 = "c16c50ec0d483357a8eafd1ec6fcc313d027f5be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."faye-websocket"."0.7.0" or []);
-    deps = [
-      self.full."websocket-driver".">=0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "faye-websocket" ];
-  };
-  full."fileset"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  "faye-websocket" = self.by-version."faye-websocket"."0.7.0";
+  by-spec."faye-websocket"."0.7.0" =
+    self.by-version."faye-websocket"."0.7.0";
+  by-spec."fileset"."0.1.x" =
+    self.by-version."fileset"."0.1.5";
+  by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "fileset-0.1.5";
     src = [
       (fetchurl {
@@ -3935,16 +3579,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fileset"."0.1.x" or []);
+      (self.nativeDeps."fileset" or []);
     deps = [
-      self.full."minimatch"."0.x"
-      self.full."glob"."3.x"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."glob"."3.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fileset" ];
   };
-  full."findup-sync"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."findup-sync"."~0.1.0" =
+    self.by-version."findup-sync"."0.1.2";
+  by-version."findup-sync"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "findup-sync-0.1.2";
     src = [
       (fetchurl {
@@ -3953,34 +3599,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.0" or []);
+      (self.nativeDeps."findup-sync" or []);
     deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
+      self.by-version."glob"."3.1.21"
+      self.by-version."lodash"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "findup-sync" ];
   };
-  full."findup-sync"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "findup-sync-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz";
-        sha1 = "da2b96ca9f800e5a13d0a11110f490b65f62e96d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.2" or []);
-    deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "findup-sync" ];
-  };
-  full."flatiron"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."findup-sync"."~0.1.2" =
+    self.by-version."findup-sync"."0.1.2";
+  by-spec."flatiron"."*" =
+    self.by-version."flatiron"."0.3.8";
+  by-version."flatiron"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.8";
     src = [
       (fetchurl {
@@ -3989,20 +3621,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."*" or []);
+      (self.nativeDeps."flatiron" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.11"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."optimist"."0.3.5"
+      self.by-version."prompt"."0.2.11"
+      self.by-version."director"."1.1.10"
+      self.by-version."pkginfo"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
   };
-  "flatiron" = self.full."flatiron"."*";
-  full."flatiron"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+  "flatiron" = self.by-version."flatiron"."0.3.8";
+  by-spec."flatiron"."0.3.5" =
+    self.by-version."flatiron"."0.3.5";
+  by-version."flatiron"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.5";
     src = [
       (fetchurl {
@@ -4011,19 +3645,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."0.3.5" or []);
+      (self.nativeDeps."flatiron" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.9"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."optimist"."0.3.5"
+      self.by-version."prompt"."0.2.9"
+      self.by-version."director"."1.1.10"
+      self.by-version."pkginfo"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
   };
-  full."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."follow-redirects"."0.0.3" =
+    self.by-version."follow-redirects"."0.0.3";
+  by-version."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "follow-redirects-0.0.3";
     src = [
       (fetchurl {
@@ -4032,15 +3668,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."follow-redirects"."0.0.3" or []);
+      (self.nativeDeps."follow-redirects" or []);
     deps = [
-      self.full."underscore"."*"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "follow-redirects" ];
   };
-  full."forEachAsync"."~2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forEachAsync"."~2.2" =
+    self.by-version."forEachAsync"."2.2.0";
+  by-version."forEachAsync"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "forEachAsync-2.2.0";
     src = [
       (fetchurl {
@@ -4049,15 +3687,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forEachAsync"."~2.2" or []);
+      (self.nativeDeps."forEachAsync" or []);
     deps = [
-      self.full."sequence".">= 2.2.1"
+      self.by-version."sequence"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forEachAsync" ];
   };
-  full."forever"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever"."*" =
+    self.by-version."forever"."0.10.9";
+  by-version."forever"."0.10.9" = lib.makeOverridable self.buildNodePackage {
     name = "forever-0.10.9";
     src = [
       (fetchurl {
@@ -4066,27 +3706,29 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever"."*" or []);
+      (self.nativeDeps."forever" or []);
     deps = [
-      self.full."colors"."0.6.0-1"
-      self.full."cliff"."0.1.8"
-      self.full."flatiron"."0.3.5"
-      self.full."forever-monitor"."1.2.3"
-      self.full."nconf"."0.6.7"
-      self.full."nssocket"."~0.5.1"
-      self.full."optimist"."0.4.0"
-      self.full."pkginfo"."0.3.0"
-      self.full."timespan"."2.0.1"
-      self.full."watch"."0.7.0"
-      self.full."utile"."0.1.7"
-      self.full."winston"."0.7.1"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."flatiron"."0.3.5"
+      self.by-version."forever-monitor"."1.2.3"
+      self.by-version."nconf"."0.6.7"
+      self.by-version."nssocket"."0.5.1"
+      self.by-version."optimist"."0.4.0"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."timespan"."2.0.1"
+      self.by-version."watch"."0.7.0"
+      self.by-version."utile"."0.1.7"
+      self.by-version."winston"."0.7.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever" ];
   };
-  "forever" = self.full."forever"."*";
-  full."forever-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  "forever" = self.by-version."forever"."0.10.9";
+  by-spec."forever-agent"."~0.2.0" =
+    self.by-version."forever-agent"."0.2.0";
+  by-version."forever-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-agent-0.2.0";
     src = [
       (fetchurl {
@@ -4095,14 +3737,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.2.0" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
   };
-  full."forever-agent"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.0";
+  by-version."forever-agent"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-agent-0.5.0";
     src = [
       (fetchurl {
@@ -4111,14 +3755,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.5.0" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
   };
-  full."forever-monitor"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-monitor"."*" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "forever-monitor-1.2.3";
     src = [
       (fetchurl {
@@ -4127,21 +3773,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."*" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."ps-tree"."0.0.3"
+      self.by-version."watch"."0.5.1"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
   };
-  "forever-monitor" = self.full."forever-monitor"."*";
-  full."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  "forever-monitor" = self.by-version."forever-monitor"."1.2.3";
+  by-spec."forever-monitor"."1.1.0" =
+    self.by-version."forever-monitor"."1.1.0";
+  by-version."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-monitor-1.1.0";
     src = [
       (fetchurl {
@@ -4150,42 +3798,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."1.1.0" or []);
-    deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.0.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-monitor" ];
-  };
-  full."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-monitor-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
-        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-monitor"."1.2.3" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."minimatch"."0.0.5"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."ps-tree"."0.0.3"
+      self.by-version."watch"."0.5.1"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
   };
-  full."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-monitor"."1.2.3" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-spec."form-data"."0.0.8" =
+    self.by-version."form-data"."0.0.8";
+  by-version."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.0.8";
     src = [
       (fetchurl {
@@ -4194,17 +3824,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."0.0.8" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."form-data"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."form-data"."~0.0.3" =
+    self.by-version."form-data"."0.0.10";
+  by-version."form-data"."0.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.0.10";
     src = [
       (fetchurl {
@@ -4213,17 +3845,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.0.3" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."form-data"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.2";
+  by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.1.2";
     src = [
       (fetchurl {
@@ -4232,17 +3866,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.1.0" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.11"
-      self.full."async"."~0.2.9"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.11" =
+    self.by-version."formidable"."1.0.11";
+  by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.11";
     src = [
       (fetchurl {
@@ -4251,14 +3887,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.11" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.13" =
+    self.by-version."formidable"."1.0.13";
+  by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.13";
     src = [
       (fetchurl {
@@ -4267,14 +3905,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.13" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.14" =
+    self.by-version."formidable"."1.0.14";
+  by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.14";
     src = [
       (fetchurl {
@@ -4283,14 +3923,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.14" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.9" =
+    self.by-version."formidable"."1.0.9";
+  by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.9";
     src = [
       (fetchurl {
@@ -4299,30 +3941,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
-  };
-  full."formidable"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable"."1.0.x" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.x" =
+    self.by-version."formidable"."1.0.14";
+  by-spec."fresh"."0.1.0" =
+    self.by-version."fresh"."0.1.0";
+  by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "fresh-0.1.0";
     src = [
       (fetchurl {
@@ -4331,14 +3961,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.1.0" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
-  full."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fresh"."0.2.0" =
+    self.by-version."fresh"."0.2.0";
+  by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "fresh-0.2.0";
     src = [
       (fetchurl {
@@ -4347,14 +3979,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.2.0" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
-  full."fs-walk"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fs-walk"."*" =
+    self.by-version."fs-walk"."0.0.1";
+  by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "fs-walk-0.0.1";
     src = [
       (fetchurl {
@@ -4363,36 +3997,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fs-walk"."*" or []);
+      (self.nativeDeps."fs-walk" or []);
     deps = [
-      self.full."async"."*"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fs-walk" ];
   };
-  "fs-walk" = self.full."fs-walk"."*";
-  full."fstream"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."0" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
+  "fs-walk" = self.by-version."fs-walk"."0.0.1";
+  by-spec."fstream"."0" =
+    self.by-version."fstream"."0.1.24";
+  by-version."fstream"."0.1.24" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-0.1.24";
     src = [
       (fetchurl {
@@ -4401,98 +4017,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.17" or []);
+      (self.nativeDeps."fstream" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream" ];
   };
-  full."fstream"."~0.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.21" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.22" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.23" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.23" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.8" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream-ignore"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fstream"."~0.1.17" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.21" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.22" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.23" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.8" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream-ignore"."~0.0.5" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-version."fstream-ignore"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-ignore-0.0.7";
     src = [
       (fetchurl {
@@ -4501,36 +4049,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.5" or []);
+      (self.nativeDeps."fstream-ignore" or []);
     deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream-ignore" ];
   };
-  full."fstream-ignore"."~0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-ignore-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
-        sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.6" or []);
-    deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream-ignore" ];
-  };
-  full."fstream-npm"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fstream-ignore"."~0.0.6" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-spec."fstream-npm"."~0.1.6" =
+    self.by-version."fstream-npm"."0.1.6";
+  by-version."fstream-npm"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-npm-0.1.6";
     src = [
       (fetchurl {
@@ -4539,54 +4072,60 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-npm"."~0.1.3" or []);
+      (self.nativeDeps."fstream-npm" or []);
     deps = [
-      self.full."fstream-ignore"."~0.0.5"
-      self.full."inherits"."2"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream-npm" ];
   };
-  full."generator-angular"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-angular-0.5.0";
+  by-spec."generator-angular"."*" =
+    self.by-version."generator-angular"."0.5.1";
+  by-version."generator-angular"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-angular-0.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.5.0.tgz";
-        sha1 = "f637a6c42984fd949678358be369e413a2e7c6e2";
+        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.5.1.tgz";
+        sha1 = "b7cd8ef2aaec9cdd4d9d792bf38ff74bb8971cc8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-angular"."*" or []);
+      (self.nativeDeps."generator-angular" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
+      self.by-version."yeoman-generator"."0.13.4"
     ];
     peerDependencies = [
-      self.full."generator-karma"."~0.5.0"
-      self.full."yo".">=1.0.0-rc.1.1"
+      self.by-version."generator-karma"."0.6.0"
+      self.by-version."yo"."1.0.4"
     ];
     passthru.names = [ "generator-angular" ];
   };
-  "generator-angular" = self.full."generator-angular"."*";
-  full."generator-karma"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-karma-0.5.0";
+  "generator-angular" = self.by-version."generator-angular"."0.5.1";
+  by-spec."generator-karma"."~0.6.0" =
+    self.by-version."generator-karma"."0.6.0";
+  by-version."generator-karma"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-karma-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.5.0.tgz";
-        sha1 = "3b9dc1154e232a135c0e4598834540977038617d";
+        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.6.0.tgz";
+        sha1 = "e89b6195c186771e8bdddde37441abb6ce07e1a0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-karma"."~0.5.0" or []);
+      (self.nativeDeps."generator-karma" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
+      self.by-version."yeoman-generator"."0.13.4"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
+      self.by-version."yo"."1.0.4"
     ];
     passthru.names = [ "generator-karma" ];
   };
-  full."generator-mocha"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."generator-mocha"."~0.1.1" =
+    self.by-version."generator-mocha"."0.1.1";
+  by-version."generator-mocha"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "generator-mocha-0.1.1";
     src = [
       (fetchurl {
@@ -4595,15 +4134,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-mocha"."~0.1.1" or []);
+      (self.nativeDeps."generator-mocha" or []);
     deps = [
-      self.full."yeoman-generator"."~0.10.0"
+      self.by-version."yeoman-generator"."0.10.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "generator-mocha" ];
   };
-  full."generator-webapp"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."generator-webapp"."*" =
+    self.by-version."generator-webapp"."0.4.3";
+  by-version."generator-webapp"."0.4.3" = lib.makeOverridable self.buildNodePackage {
     name = "generator-webapp-0.4.3";
     src = [
       (fetchurl {
@@ -4612,38 +4153,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-webapp"."*" or []);
+      (self.nativeDeps."generator-webapp" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.1"
-      self.full."cheerio"."~0.12.1"
+      self.by-version."yeoman-generator"."0.13.4"
+      self.by-version."cheerio"."0.12.3"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
-      self.full."generator-mocha"."~0.1.1"
+      self.by-version."yo"."1.0.4"
+      self.by-version."generator-mocha"."0.1.1"
     ];
     passthru.names = [ "generator-webapp" ];
   };
-  "generator-webapp" = self.full."generator-webapp"."*";
-  full."getmac"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "getmac-1.0.5";
+  "generator-webapp" = self.by-version."generator-webapp"."0.4.3";
+  by-spec."getmac"."~1.0.6" =
+    self.by-version."getmac"."1.0.6";
+  by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "getmac-1.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.5.tgz";
-        sha1 = "4ce0468a83e5fc2f2d337fc0c3c9be2c94a6344f";
+        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
+        sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522";
       })
     ];
     buildInputs =
-      (self.nativeDeps."getmac"."~1.0.5" or []);
+      (self.nativeDeps."getmac" or []);
     deps = [
-      self.full."extract-opts"."~2.2.0"
-      self.full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0"
-      self.full."joe-reporter-console"."~1.2.1"
+      self.by-version."extract-opts"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "getmac" ];
   };
-  full."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."github-url-from-git"."1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-version."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "github-url-from-git-1.1.1";
     src = [
       (fetchurl {
@@ -4652,30 +4195,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."1.1.1" or []);
+      (self.nativeDeps."github-url-from-git" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "github-url-from-git" ];
   };
-  full."github-url-from-git"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "github-url-from-git-1.1.1";
+  by-spec."github-url-from-git"."~1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-spec."github-url-from-username-repo"."0.0.2" =
+    self.by-version."github-url-from-username-repo"."0.0.2";
+  by-version."github-url-from-username-repo"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "github-url-from-username-repo-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
+        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.0.2.tgz";
+        sha1 = "0d9ee8e2bca36d5f065a1bcd23eb3f1fa3d636bd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."~1.1.1" or []);
+      (self.nativeDeps."github-url-from-username-repo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "github-url-from-git" ];
+    passthru.names = [ "github-url-from-username-repo" ];
   };
-  full."glob"."3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."3" =
+    self.by-version."glob"."3.2.6";
+  by-version."glob"."3.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "glob-3.2.6";
     src = [
       (fetchurl {
@@ -4684,16 +4233,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."3.2.3" =
+    self.by-version."glob"."3.2.3";
+  by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "glob-3.2.3";
     src = [
       (fetchurl {
@@ -4702,53 +4253,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3.2.3" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."3.x" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."glob".">= 3.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob".">= 3.1.4" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.1.21" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."3.x" =
+    self.by-version."glob"."3.2.6";
+  by-spec."glob".">= 3.1.4" =
+    self.by-version."glob"."3.2.6";
+  by-spec."glob"."~3.1.21" =
+    self.by-version."glob"."3.1.21";
+  by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
     name = "glob-3.1.21";
     src = [
       (fetchurl {
@@ -4757,87 +4278,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."~3.1.21" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~1.2.0"
-      self.full."inherits"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."~3.2.0" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."~3.2.1" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."~3.2.6" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."inherits"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."graceful-fs"."1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."1.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."~3.2.0" =
+    self.by-version."glob"."3.2.6";
+  by-spec."glob"."~3.2.1" =
+    self.by-version."glob"."3.2.6";
+  by-spec."glob"."~3.2.6" =
+    self.by-version."glob"."3.2.6";
+  by-spec."graceful-fs"."2" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-version."graceful-fs"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-2.0.1";
     src = [
       (fetchurl {
@@ -4846,14 +4305,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."2" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-1.2.3";
     src = [
       (fetchurl {
@@ -4862,14 +4323,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~1.1" = lib.makeOverridable self.buildNodePackage {
+  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 = "graceful-fs-1.1.14";
     src = [
       (fetchurl {
@@ -4878,94 +4341,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.1" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~2.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."gridfs-stream"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1.2.0" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-spec."graceful-fs"."~1.2.1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-spec."graceful-fs"."~2" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-spec."graceful-fs"."~2.0.0" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-spec."gridfs-stream"."*" =
+    self.by-version."gridfs-stream"."0.4.0";
+  by-version."gridfs-stream"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "gridfs-stream-0.4.0";
     src = [
       (fetchurl {
@@ -4974,15 +4367,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."gridfs-stream"."*" or []);
+      (self.nativeDeps."gridfs-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "gridfs-stream" ];
   };
-  "gridfs-stream" = self.full."gridfs-stream"."*";
-  full."growl"."1.7.x" = lib.makeOverridable self.buildNodePackage {
+  "gridfs-stream" = self.by-version."gridfs-stream"."0.4.0";
+  by-spec."growl"."1.7.x" =
+    self.by-version."growl"."1.7.0";
+  by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "growl-1.7.0";
     src = [
       (fetchurl {
@@ -4991,14 +4386,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."growl"."1.7.x" or []);
+      (self.nativeDeps."growl" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "growl" ];
   };
-  full."grunt"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."grunt"."0.4.x" =
+    self.by-version."grunt"."0.4.1";
+  by-version."grunt"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-0.4.1";
     src = [
       (fetchurl {
@@ -5007,192 +4404,127 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."0.4.x" or []);
+      (self.nativeDeps."grunt" or []);
     deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
+      self.by-version."async"."0.1.22"
+      self.by-version."coffee-script"."1.3.3"
+      self.by-version."colors"."0.6.2"
+      self.by-version."dateformat"."1.0.2-1.2.3"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."glob"."3.1.21"
+      self.by-version."hooker"."0.2.3"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."rimraf"."2.0.3"
+      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"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt" ];
   };
-  full."grunt"."~0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  by-spec."grunt"."~0.4" =
+    self.by-version."grunt"."0.4.1";
+  by-spec."grunt"."~0.4.0" =
+    self.by-version."grunt"."0.4.1";
+  by-spec."grunt"."~0.4.1" =
+    self.by-version."grunt"."0.4.1";
+  by-spec."grunt-cli"."*" =
+    self.by-version."grunt-cli"."0.1.10";
+  by-version."grunt-cli"."0.1.10" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-cli-0.1.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt"."~0.4" or []);
-    deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt" ];
-  };
-  full."grunt"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt"."~0.4.0" or []);
-    deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt" ];
-  };
-  full."grunt-cli"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-cli-0.1.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
-        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.10.tgz";
+        sha1 = "cba4bdab74df4336f5ba7335a9f22d97a1f2dd3a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-cli"."*" or []);
+      (self.nativeDeps."grunt-cli" or []);
     deps = [
-      self.full."nopt"."~1.0.10"
-      self.full."findup-sync"."~0.1.0"
-      self.full."resolve"."~0.3.1"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."resolve"."0.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt-cli" ];
   };
-  "grunt-cli" = self.full."grunt-cli"."*";
-  full."grunt-cli"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-cli-0.1.9";
+  "grunt-cli" = self.by-version."grunt-cli"."0.1.10";
+  by-spec."grunt-cli"."~0.1.7" =
+    self.by-version."grunt-cli"."0.1.10";
+  by-spec."grunt-contrib-cssmin"."*" =
+    self.by-version."grunt-contrib-cssmin"."0.7.0";
+  by-version."grunt-contrib-cssmin"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-cssmin-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
-        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz";
+        sha1 = "a5735e9f1d263149e49fe035294e429d8c670bab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-cli"."~0.1.7" or []);
+      (self.nativeDeps."grunt-contrib-cssmin" or []);
     deps = [
-      self.full."nopt"."~1.0.10"
-      self.full."findup-sync"."~0.1.0"
-      self.full."resolve"."~0.3.1"
+      self.by-version."clean-css"."2.0.0"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-    ];
-    passthru.names = [ "grunt-cli" ];
-  };
-  full."grunt-contrib-cssmin"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-cssmin-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.6.2.tgz";
-        sha1 = "2804dc0e81f98e8a54d61eee84a1d3fe1a3af8e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-cssmin"."*" or []);
-    deps = [
-      self.full."clean-css"."~1.1.1"
-      self.full."grunt-lib-contrib"."~0.6.0"
-    ];
-    peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-contrib-cssmin" ];
   };
-  "grunt-contrib-cssmin" = self.full."grunt-contrib-cssmin"."*";
-  full."grunt-contrib-jshint"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-jshint-0.6.4";
+  "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.7.0";
+  by-spec."grunt-contrib-jshint"."*" =
+    self.by-version."grunt-contrib-jshint"."0.7.1";
+  by-version."grunt-contrib-jshint"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-jshint-0.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.4.tgz";
-        sha1 = "c5a0e56c13d3f758cf1b5d0786dcb4a7d4b4d748";
+        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.7.1.tgz";
+        sha1 = "b636e1100b5804c4be56ad88d8a574ef0637d97a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-jshint"."*" or []);
+      (self.nativeDeps."grunt-contrib-jshint" or []);
     deps = [
-      self.full."jshint"."~2.1.10"
+      self.by-version."jshint"."2.3.0"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-contrib-jshint" ];
   };
-  "grunt-contrib-jshint" = self.full."grunt-contrib-jshint"."*";
-  full."grunt-contrib-less"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-less-0.7.0";
+  "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.7.1";
+  by-spec."grunt-contrib-less"."*" =
+    self.by-version."grunt-contrib-less"."0.8.1";
+  by-version."grunt-contrib-less"."0.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-less-0.8.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.7.0.tgz";
-        sha1 = "35f6513e47ec5f3c99188d46efa9dcf378207be8";
+        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.8.1.tgz";
+        sha1 = "0b819ebcadf737177fc7b9c4a239ed9d5834fbe4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-less"."*" or []);
+      (self.nativeDeps."grunt-contrib-less" or []);
     deps = [
-      self.full."less"."~1.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
+      self.by-version."less"."1.5.0"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-contrib-less" ];
   };
-  "grunt-contrib-less" = self.full."grunt-contrib-less"."*";
-  full."grunt-contrib-requirejs"."*" = lib.makeOverridable self.buildNodePackage {
+  "grunt-contrib-less" = self.by-version."grunt-contrib-less"."0.8.1";
+  by-spec."grunt-contrib-requirejs"."*" =
+    self.by-version."grunt-contrib-requirejs"."0.4.1";
+  by-version."grunt-contrib-requirejs"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-contrib-requirejs-0.4.1";
     src = [
       (fetchurl {
@@ -5201,37 +4533,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-requirejs"."*" or []);
+      (self.nativeDeps."grunt-contrib-requirejs" or []);
     deps = [
-      self.full."requirejs"."~2.1.0"
+      self.by-version."requirejs"."2.1.9"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-contrib-requirejs" ];
   };
-  "grunt-contrib-requirejs" = self.full."grunt-contrib-requirejs"."*";
-  full."grunt-contrib-uglify"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-uglify-0.2.4";
+  "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.1";
+  by-spec."grunt-contrib-uglify"."*" =
+    self.by-version."grunt-contrib-uglify"."0.2.5";
+  by-version."grunt-contrib-uglify"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-uglify-0.2.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.4.tgz";
-        sha1 = "51113f28a72432521e35e63f7f18a251fda2fd49";
+        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.5.tgz";
+        sha1 = "fd8bd7cb4ff809630ae864aaf40dea64dea5b15c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-uglify"."*" or []);
+      (self.nativeDeps."grunt-contrib-uglify" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
+      self.by-version."uglify-js"."2.4.2"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-contrib-uglify" ];
   };
-  "grunt-contrib-uglify" = self.full."grunt-contrib-uglify"."*";
-  full."grunt-karma"."*" = lib.makeOverridable self.buildNodePackage {
+  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.2.5";
+  by-spec."grunt-karma"."*" =
+    self.by-version."grunt-karma"."0.7.1";
+  by-version."grunt-karma"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-karma-0.7.1";
     src = [
       (fetchurl {
@@ -5240,18 +4576,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-karma"."*" or []);
+      (self.nativeDeps."grunt-karma" or []);
     deps = [
-      self.full."optimist"."~0.6.0"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
-      self.full."grunt"."0.4.x"
-      self.full."karma"."~0.10.0"
+      self.by-version."grunt"."0.4.1"
+      self.by-version."karma"."0.10.4"
     ];
     passthru.names = [ "grunt-karma" ];
   };
-  "grunt-karma" = self.full."grunt-karma"."*";
-  full."grunt-lib-contrib"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  "grunt-karma" = self.by-version."grunt-karma"."0.7.1";
+  by-spec."grunt-lib-contrib"."~0.6.0" =
+    self.by-version."grunt-lib-contrib"."0.6.1";
+  by-version."grunt-lib-contrib"."0.6.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-lib-contrib-0.6.1";
     src = [
       (fetchurl {
@@ -5260,32 +4598,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-lib-contrib"."~0.6.0" or []);
+      (self.nativeDeps."grunt-lib-contrib" or []);
     deps = [
-      self.full."zlib-browserify"."0.0.1"
+      self.by-version."zlib-browserify"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt-lib-contrib" ];
   };
-  full."grunt-lib-contrib"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-lib-contrib-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz";
-        sha1 = "3f56adb7da06e814795ee2415b0ebe5fb8903ebb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-lib-contrib"."~0.6.1" or []);
-    deps = [
-      self.full."zlib-browserify"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt-lib-contrib" ];
-  };
-  full."grunt-sed"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."grunt-lib-contrib"."~0.6.1" =
+    self.by-version."grunt-lib-contrib"."0.6.1";
+  by-spec."grunt-sed"."*" =
+    self.by-version."grunt-sed"."0.1.1";
+  by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-sed-0.1.1";
     src = [
       (fetchurl {
@@ -5294,17 +4619,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-sed"."*" or []);
+      (self.nativeDeps."grunt-sed" or []);
     deps = [
-      self.full."replace"."~0.2.4"
+      self.by-version."replace"."0.2.7"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-sed" ];
   };
-  "grunt-sed" = self.full."grunt-sed"."*";
-  full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " = lib.makeOverridable self.buildNodePackage {
+  "grunt-sed" = self.by-version."grunt-sed"."0.1.1";
+  by-spec."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " =
+    self.by-version."guifi-earth"."0.2.1";
+  by-version."guifi-earth"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "guifi-earth-0.2.1";
     src = [
       (fetchurl {
@@ -5313,20 +4640,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " or []);
+      (self.nativeDeps."guifi-earth" or []);
     deps = [
-      self.full."coffee-script".">= 0.0.1"
-      self.full."jade".">= 0.0.1"
-      self.full."q".">= 0.0.1"
-      self.full."xml2js".">= 0.0.1"
-      self.full."msgpack".">= 0.0.1"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."jade"."0.35.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."xml2js"."0.2.8"
+      self.by-version."msgpack"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "guifi-earth" ];
   };
-  "guifi-earth" = self.full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 ";
-  full."gzippo"."*" = lib.makeOverridable self.buildNodePackage {
+  "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
+  by-spec."gzippo"."*" =
+    self.by-version."gzippo"."0.2.0";
+  by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "gzippo-0.2.0";
     src = [
       (fetchurl {
@@ -5335,34 +4664,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."gzippo"."*" or []);
+      (self.nativeDeps."gzippo" or []);
     deps = [
-      self.full."send"."*"
+      self.by-version."send"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "gzippo" ];
   };
-  "gzippo" = self.full."gzippo"."*";
-  full."handlebars"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "handlebars-1.0.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz";
-        sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."handlebars"."1.0.x" or []);
-    deps = [
-      self.full."optimist"."~0.3"
-      self.full."uglify-js"."~2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "handlebars" ];
-  };
-  full."handlebars"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
+  "gzippo" = self.by-version."gzippo"."0.2.0";
+  by-spec."handlebars"."1.0.x" =
+    self.by-version."handlebars"."1.0.12";
+  by-version."handlebars"."1.0.12" = lib.makeOverridable self.buildNodePackage {
     name = "handlebars-1.0.12";
     src = [
       (fetchurl {
@@ -5371,16 +4684,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."handlebars"."~1.0.11" or []);
+      (self.nativeDeps."handlebars" or []);
     deps = [
-      self.full."optimist"."~0.3"
-      self.full."uglify-js"."~2.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-js"."2.3.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "handlebars" ];
   };
-  full."has-color"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."handlebars"."~1.0.11" =
+    self.by-version."handlebars"."1.0.12";
+  by-spec."has-color"."~0.1.0" =
+    self.by-version."has-color"."0.1.1";
+  by-version."has-color"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "has-color-0.1.1";
     src = [
       (fetchurl {
@@ -5389,14 +4706,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."has-color"."~0.1.0" or []);
+      (self.nativeDeps."has-color" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "has-color" ];
   };
-  full."hasher"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hasher"."~1.1.4" =
+    self.by-version."hasher"."1.1.4";
+  by-version."hasher"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "hasher-1.1.4";
     src = [
       (fetchurl {
@@ -5405,15 +4724,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hasher"."~1.1.4" or []);
+      (self.nativeDeps."hasher" or []);
     deps = [
-      self.full."signals".">0.7 <2.0"
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hasher" ];
   };
-  full."hat"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hat"."*" =
+    self.by-version."hat"."0.0.3";
+  by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "hat-0.0.3";
     src = [
       (fetchurl {
@@ -5422,34 +4743,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hat"."*" or []);
+      (self.nativeDeps."hat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hat" ];
   };
-  full."hawk"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.10.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk"."~0.10.0" or []);
-    deps = [
-      self.full."hoek"."0.7.x"
-      self.full."boom"."0.3.x"
-      self.full."cryptiles"."0.1.x"
-      self.full."sntp"."0.1.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
-  };
-  full."hawk"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hawk"."~0.10.0" =
+    self.by-version."hawk"."0.10.2";
+  by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage {
     name = "hawk-0.10.2";
     src = [
       (fetchurl {
@@ -5458,18 +4761,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.10.2" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
-      self.full."hoek"."0.7.x"
-      self.full."boom"."0.3.x"
-      self.full."cryptiles"."0.1.x"
-      self.full."sntp"."0.1.x"
+      self.by-version."hoek"."0.7.6"
+      self.by-version."boom"."0.3.8"
+      self.by-version."cryptiles"."0.1.3"
+      self.by-version."sntp"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hawk"."~0.10.2" =
+    self.by-version."hawk"."0.10.2";
+  by-spec."hawk"."~0.13.0" =
+    self.by-version."hawk"."0.13.1";
+  by-version."hawk"."0.13.1" = lib.makeOverridable self.buildNodePackage {
     name = "hawk-0.13.1";
     src = [
       (fetchurl {
@@ -5478,18 +4785,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.13.0" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
-      self.full."hoek"."0.8.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
+      self.by-version."hoek"."0.8.5"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hawk"."~1.0.0" =
+    self.by-version."hawk"."1.0.0";
+  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "hawk-1.0.0";
     src = [
       (fetchurl {
@@ -5498,18 +4807,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~1.0.0" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
-      self.full."hoek"."0.9.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
+      self.by-version."hoek"."0.9.1"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hiredis"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hiredis"."*" =
+    self.by-version."hiredis"."0.1.15";
+  by-version."hiredis"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "hiredis-0.1.15";
     src = [
       (fetchurl {
@@ -5518,15 +4829,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hiredis"."*" or []);
+      (self.nativeDeps."hiredis" or []);
     deps = [
-      self.full."bindings"."*"
+      self.by-version."bindings"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hiredis" ];
   };
-  full."hoek"."0.7.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.7.x" =
+    self.by-version."hoek"."0.7.6";
+  by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.7.6";
     src = [
       (fetchurl {
@@ -5535,14 +4848,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.7.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hoek"."0.8.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.8.x" =
+    self.by-version."hoek"."0.8.5";
+  by-version."hoek"."0.8.5" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.8.5";
     src = [
       (fetchurl {
@@ -5551,14 +4866,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.8.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hoek"."0.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.9.1";
     src = [
       (fetchurl {
@@ -5567,14 +4884,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.9.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hooker"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hooker"."~0.2.3" =
+    self.by-version."hooker"."0.2.3";
+  by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "hooker-0.2.3";
     src = [
       (fetchurl {
@@ -5583,14 +4902,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooker"."~0.2.3" or []);
+      (self.nativeDeps."hooker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hooker" ];
   };
-  full."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hooks"."0.2.1" =
+    self.by-version."hooks"."0.2.1";
+  by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "hooks-0.2.1";
     src = [
       (fetchurl {
@@ -5599,14 +4920,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooks"."0.2.1" or []);
+      (self.nativeDeps."hooks" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hooks" ];
   };
-  full."htdigest"."1.0.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htdigest"."1.0.7" =
+    self.by-version."htdigest"."1.0.7";
+  by-version."htdigest"."1.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "htdigest-1.0.7";
     src = [
       (fetchurl {
@@ -5615,15 +4938,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htdigest"."1.0.7" or []);
+      (self.nativeDeps."htdigest" or []);
     deps = [
-      self.full."commander"."0.5.1"
+      self.by-version."commander"."0.5.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htdigest" ];
   };
-  full."htmlparser2"."2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htmlparser2"."2.x" =
+    self.by-version."htmlparser2"."2.6.0";
+  by-version."htmlparser2"."2.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "htmlparser2-2.6.0";
     src = [
       (fetchurl {
@@ -5632,17 +4957,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."2.x" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.0"
-      self.full."domelementtype"."1"
+      self.by-version."domhandler"."2.0.3"
+      self.by-version."domutils"."1.0.1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
   };
-  full."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htmlparser2"."3.1.4" =
+    self.by-version."htmlparser2"."3.1.4";
+  by-version."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "htmlparser2-3.1.4";
     src = [
       (fetchurl {
@@ -5651,18 +4978,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."3.1.4" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.1"
-      self.full."domelementtype"."1"
-      self.full."readable-stream"."1.0"
+      self.by-version."domhandler"."2.0.3"
+      self.by-version."domutils"."1.1.6"
+      self.by-version."domelementtype"."1.1.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
   };
-  full."htpasswd"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htpasswd"."1.1.0" =
+    self.by-version."htpasswd"."1.1.0";
+  by-version."htpasswd"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "htpasswd-1.1.0";
     src = [
       (fetchurl {
@@ -5671,15 +5000,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htpasswd"."1.1.0" or []);
+      (self.nativeDeps."htpasswd" or []);
     deps = [
-      self.full."commander"."0.5.1"
+      self.by-version."commander"."0.5.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htpasswd" ];
   };
-  full."http-auth"."1.2.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-auth"."1.2.7" =
+    self.by-version."http-auth"."1.2.7";
+  by-version."http-auth"."1.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "http-auth-1.2.7";
     src = [
       (fetchurl {
@@ -5688,17 +5019,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-auth"."1.2.7" or []);
+      (self.nativeDeps."http-auth" or []);
     deps = [
-      self.full."node-uuid"."1.2.0"
-      self.full."htpasswd"."1.1.0"
-      self.full."htdigest"."1.0.7"
+      self.by-version."node-uuid"."1.2.0"
+      self.by-version."htpasswd"."1.1.0"
+      self.by-version."htdigest"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-auth" ];
   };
-  full."http-proxy"."~0.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-proxy"."~0.10" =
+    self.by-version."http-proxy"."0.10.3";
+  by-version."http-proxy"."0.10.3" = lib.makeOverridable self.buildNodePackage {
     name = "http-proxy-0.10.3";
     src = [
       (fetchurl {
@@ -5707,18 +5040,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-proxy"."~0.10" or []);
+      (self.nativeDeps."http-proxy" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."utile"."~0.1.7"
+      self.by-version."colors"."0.6.2"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-proxy" ];
   };
-  full."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-signature"."0.9.11" =
+    self.by-version."http-signature"."0.9.11";
+  by-version."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
     name = "http-signature-0.9.11";
     src = [
       (fetchurl {
@@ -5727,17 +5062,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."0.9.11" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
   };
-  full."http-signature"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
     name = "http-signature-0.10.0";
     src = [
       (fetchurl {
@@ -5746,36 +5083,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."~0.10.0" or []);
-    deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
-  };
-  full."http-signature"."~0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.9.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
-        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature"."~0.9.11" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
   };
-  full."i"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-signature"."~0.9.11" =
+    self.by-version."http-signature"."0.9.11";
+  by-spec."i"."0.3.x" =
+    self.by-version."i"."0.3.2";
+  by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "i-0.3.2";
     src = [
       (fetchurl {
@@ -5784,14 +5106,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."i"."0.3.x" or []);
+      (self.nativeDeps."i" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "i" ];
   };
-  full."i18next"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."i18next"."*" =
+    self.by-version."i18next"."1.7.1";
+  by-version."i18next"."1.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "i18next-1.7.1";
     src = [
       (fetchurl {
@@ -5800,32 +5124,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."i18next"."*" or []);
+      (self.nativeDeps."i18next" or []);
     deps = [
-      self.full."cookies".">= 0.2.2"
+      self.by-version."cookies"."0.3.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "i18next" ];
   };
-  "i18next" = self.full."i18next"."*";
-  full."iconv-lite"."~0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.10" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  full."iconv-lite"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
+  "i18next" = self.by-version."i18next"."1.7.1";
+  by-spec."iconv-lite"."~0.2.10" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "iconv-lite-0.2.11";
     src = [
       (fetchurl {
@@ -5834,46 +5144,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.11" or []);
+      (self.nativeDeps."iconv-lite" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
   };
-  full."iconv-lite"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  full."inherits"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."iconv-lite"."~0.2.11" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-spec."iconv-lite"."~0.2.5" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-spec."inherits"."1" =
+    self.by-version."inherits"."1.0.0";
+  by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "inherits-1.0.0";
     src = [
       (fetchurl {
@@ -5882,14 +5166,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."1.x" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
   };
-  full."inherits"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inherits"."1.x" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "inherits-2.0.1";
     src = [
       (fetchurl {
@@ -5898,46 +5186,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."2" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
   };
-  full."inherits"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."~1.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."~2.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."ini"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inherits"."~1.0.0" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."~2.0.0" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."ini"."1" =
+    self.by-version."ini"."1.1.0";
+  by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "ini-1.1.0";
     src = [
       (fetchurl {
@@ -5946,66 +5208,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ini"."1" or []);
+      (self.nativeDeps."ini" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ini" ];
   };
-  full."ini"."1.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini"."1.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
-  };
-  full."ini"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini"."~1.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
-  };
-  full."init-package-json"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "init-package-json-0.0.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.10.tgz";
-        sha1 = "7baf10535227e0878105a04e44b78f132475da6a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.10" or []);
-    deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "init-package-json" ];
-  };
-  full."init-package-json"."0.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ini"."1.x.x" =
+    self.by-version."ini"."1.1.0";
+  by-spec."ini"."~1.1.0" =
+    self.by-version."ini"."1.1.0";
+  by-spec."init-package-json"."0.0.11" =
+    self.by-version."init-package-json"."0.0.11";
+  by-version."init-package-json"."0.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "init-package-json-0.0.11";
     src = [
       (fetchurl {
@@ -6014,18 +5230,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.11" or []);
+      (self.nativeDeps."init-package-json" or []);
     deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
+      self.by-version."promzard"."0.2.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."semver"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "init-package-json" ];
   };
-  full."inquirer"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inquirer"."~0.2.4" =
+    self.by-version."inquirer"."0.2.5";
+  by-version."inquirer"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "inquirer-0.2.5";
     src = [
       (fetchurl {
@@ -6034,58 +5252,44 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.2.4" or []);
-    deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inquirer" ];
-  };
-  full."inquirer"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.0" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."lodash"."1.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."inquirer"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
+  by-spec."inquirer"."~0.3.0" =
+    self.by-version."inquirer"."0.3.5";
+  by-version."inquirer"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "inquirer-0.3.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz";
+        sha1 = "a78be064ac9abf168147c02169a931d9a483a9f6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.1" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."lodash"."1.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."insight"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inquirer"."~0.3.1" =
+    self.by-version."inquirer"."0.3.5";
+  by-spec."insight"."~0.2.0" =
+    self.by-version."insight"."0.2.0";
+  by-version."insight"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "insight-0.2.0";
     src = [
       (fetchurl {
@@ -6094,20 +5298,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."insight"."~0.2.0" or []);
+      (self.nativeDeps."insight" or []);
     deps = [
-      self.full."chalk"."~0.2.0"
-      self.full."request"."~2.27.0"
-      self.full."configstore"."~0.1.0"
-      self.full."async"."~0.2.9"
-      self.full."lodash"."~1.3.1"
-      self.full."inquirer"."~0.2.4"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.1.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."inquirer"."0.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "insight" ];
   };
-  full."intersect"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."intersect"."~0.0.3" =
+    self.by-version."intersect"."0.0.3";
+  by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "intersect-0.0.3";
     src = [
       (fetchurl {
@@ -6116,14 +5322,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."intersect"."~0.0.3" or []);
+      (self.nativeDeps."intersect" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "intersect" ];
   };
-  full."ironhorse"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ironhorse"."*" =
+    self.by-version."ironhorse"."0.0.9";
+  by-version."ironhorse"."0.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "ironhorse-0.0.9";
     src = [
       (fetchurl {
@@ -6132,31 +5340,33 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ironhorse"."*" or []);
+      (self.nativeDeps."ironhorse" or []);
     deps = [
-      self.full."underscore"."~1.5.2"
-      self.full."winston"."*"
-      self.full."nconf"."*"
-      self.full."fs-walk"."*"
-      self.full."async"."*"
-      self.full."express"."*"
-      self.full."jade"."*"
-      self.full."passport"."*"
-      self.full."passport-http"."*"
-      self.full."js-yaml"."*"
-      self.full."mongoose"."*"
-      self.full."gridfs-stream"."*"
-      self.full."temp"."*"
-      self.full."kue"."*"
-      self.full."redis"."*"
-      self.full."hiredis"."*"
+      self.by-version."underscore"."1.5.2"
+      self.by-version."winston"."0.7.2"
+      self.by-version."nconf"."0.6.8"
+      self.by-version."fs-walk"."0.0.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."express"."3.4.4"
+      self.by-version."jade"."0.35.0"
+      self.by-version."passport"."0.1.17"
+      self.by-version."passport-http"."0.2.2"
+      self.by-version."js-yaml"."2.1.3"
+      self.by-version."mongoose"."3.8.0"
+      self.by-version."gridfs-stream"."0.4.0"
+      self.by-version."temp"."0.6.0"
+      self.by-version."kue"."0.6.2"
+      self.by-version."redis"."0.9.0"
+      self.by-version."hiredis"."0.1.15"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ironhorse" ];
   };
-  "ironhorse" = self.full."ironhorse"."*";
-  full."is-promise"."~1" = lib.makeOverridable self.buildNodePackage {
+  "ironhorse" = self.by-version."ironhorse"."0.0.9";
+  by-spec."is-promise"."~1" =
+    self.by-version."is-promise"."1.0.0";
+  by-version."is-promise"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "is-promise-1.0.0";
     src = [
       (fetchurl {
@@ -6165,14 +5375,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."is-promise"."~1" or []);
+      (self.nativeDeps."is-promise" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "is-promise" ];
   };
-  full."isbinaryfile"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."isbinaryfile"."~0.1.8" =
+    self.by-version."isbinaryfile"."0.1.9";
+  by-version."isbinaryfile"."0.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "isbinaryfile-0.1.9";
     src = [
       (fetchurl {
@@ -6181,14 +5393,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."isbinaryfile"."~0.1.8" or []);
+      (self.nativeDeps."isbinaryfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "isbinaryfile" ];
   };
-  full."istanbul"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."istanbul"."*" =
+    self.by-version."istanbul"."0.1.44";
+  by-version."istanbul"."0.1.44" = lib.makeOverridable self.buildNodePackage {
     name = "istanbul-0.1.44";
     src = [
       (fetchurl {
@@ -6197,53 +5411,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."istanbul"."*" or []);
+      (self.nativeDeps."istanbul" or []);
     deps = [
-      self.full."esprima"."1.0.x"
-      self.full."escodegen"."0.0.23"
-      self.full."handlebars"."1.0.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."nopt"."2.1.x"
-      self.full."fileset"."0.1.x"
-      self.full."which"."1.0.x"
-      self.full."async"."0.2.x"
-      self.full."abbrev"."1.0.x"
-      self.full."wordwrap"."0.0.x"
-      self.full."resolve"."0.5.x"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."escodegen"."0.0.23"
+      self.by-version."handlebars"."1.0.12"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."fileset"."0.1.5"
+      self.by-version."which"."1.0.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."resolve"."0.5.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "istanbul" ];
   };
-  "istanbul" = self.full."istanbul"."*";
-  full."istanbul"."~0.1.41" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.1.44";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.44.tgz";
-        sha1 = "7ea1d55e34234e7b7d8f2f61cceb29b59439d983";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."istanbul"."~0.1.41" or []);
-    deps = [
-      self.full."esprima"."1.0.x"
-      self.full."escodegen"."0.0.23"
-      self.full."handlebars"."1.0.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."nopt"."2.1.x"
-      self.full."fileset"."0.1.x"
-      self.full."which"."1.0.x"
-      self.full."async"."0.2.x"
-      self.full."abbrev"."1.0.x"
-      self.full."wordwrap"."0.0.x"
-      self.full."resolve"."0.5.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "istanbul" ];
-  };
-  full."jade"."*" = lib.makeOverridable self.buildNodePackage {
+  "istanbul" = self.by-version."istanbul"."0.1.44";
+  by-spec."istanbul"."~0.1.41" =
+    self.by-version."istanbul"."0.1.44";
+  by-spec."jade"."*" =
+    self.by-version."jade"."0.35.0";
+  by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.35.0";
     src = [
       (fetchurl {
@@ -6252,22 +5443,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."*" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
+      self.by-version."commander"."2.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."transformers"."2.1.0"
+      self.by-version."character-parser"."1.2.0"
+      self.by-version."monocle"."1.1.50"
+      self.by-version."with"."1.1.1"
+      self.by-version."constantinople"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  "jade" = self.full."jade"."*";
-  full."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
+  "jade" = self.by-version."jade"."0.35.0";
+  by-spec."jade"."0.26.3" =
+    self.by-version."jade"."0.26.3";
+  by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.26.3";
     src = [
       (fetchurl {
@@ -6276,16 +5469,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.26.3" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  full."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."jade"."0.27.0" =
+    self.by-version."jade"."0.27.0";
+  by-version."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.27.0";
     src = [
       (fetchurl {
@@ -6294,39 +5489,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.27.0" or []);
-    deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
-  };
-  full."jade".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-0.35.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
-        sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade".">= 0.0.1" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  full."jayschema"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."jade".">= 0.0.1" =
+    self.by-version."jade"."0.35.0";
+  by-spec."jayschema"."*" =
+    self.by-version."jayschema"."0.2.0";
+  by-version."jayschema"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "jayschema-0.2.0";
     src = [
       (fetchurl {
@@ -6335,85 +5511,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jayschema"."*" or []);
+      (self.nativeDeps."jayschema" or []);
     deps = [
-      self.full."when"."~2.2.1"
+      self.by-version."when"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jayschema" ];
   };
-  "jayschema" = self.full."jayschema"."*";
-  full."joe"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe"."1.x" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe"."~1.3.0" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe-reporter-console"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-reporter-console-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe-reporter-console/-/joe-reporter-console-1.2.1.tgz";
-        sha1 = "6887fa067121b0e67b571672aa63b358055eddc1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe-reporter-console"."~1.2.1" or []);
-    deps = [
-      self.full."cli-color"."~0.2.2"
-    ];
-    peerDependencies = [
-      self.full."joe"."1.x"
-    ];
-    passthru.names = [ "joe-reporter-console" ];
-  };
-  full."js-yaml"."*" = lib.makeOverridable self.buildNodePackage {
+  "jayschema" = self.by-version."jayschema"."0.2.0";
+  by-spec."js-yaml"."*" =
+    self.by-version."js-yaml"."2.1.3";
+  by-version."js-yaml"."2.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.3";
     src = [
       (fetchurl {
@@ -6422,17 +5531,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."*" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  "js-yaml" = self.full."js-yaml"."*";
-  full."js-yaml"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  "js-yaml" = self.by-version."js-yaml"."2.1.3";
+  by-spec."js-yaml"."0.3.x" =
+    self.by-version."js-yaml"."0.3.7";
+  by-version."js-yaml"."0.3.7" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-0.3.7";
     src = [
       (fetchurl {
@@ -6441,14 +5552,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."0.3.x" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."js-yaml"."2.1.0" =
+    self.by-version."js-yaml"."2.1.0";
+  by-version."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.0";
     src = [
       (fetchurl {
@@ -6457,16 +5570,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."2.1.0" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."js-yaml"."~2.0.2" =
+    self.by-version."js-yaml"."2.0.5";
+  by-version."js-yaml"."2.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.0.5";
     src = [
       (fetchurl {
@@ -6475,77 +5590,64 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."~2.0.2" or []);
-    deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "js-yaml" ];
-  };
-  full."js-yaml"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz";
-        sha1 = "0ffb5617be55525878063d7a16aee7fdd282e84c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."js-yaml"."~2.1.0" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."jshint"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.2.0";
+  by-spec."js-yaml"."~2.1.0" =
+    self.by-version."js-yaml"."2.1.3";
+  by-spec."jsesc"."0.4.3" =
+    self.by-version."jsesc"."0.4.3";
+  by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "jsesc-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.2.0.tgz";
-        sha1 = "9cd120e17c6635a5bfd6339531b088ed33eb5af2";
+        url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
+        sha1 = "a9c7f90afd5a1bf2ee64df6c416dab61672d2ae9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jshint"."*" or []);
+      (self.nativeDeps."jsesc" or []);
     deps = [
-      self.full."shelljs"."0.1.x"
-      self.full."underscore"."1.4.x"
-      self.full."cli"."0.4.x"
-      self.full."minimatch"."0.x.x"
-      self.full."console-browserify"."0.1.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "jshint" ];
+    passthru.names = [ "jsesc" ];
   };
-  "jshint" = self.full."jshint"."*";
-  full."jshint"."~2.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.1.11";
+  by-spec."jshint"."*" =
+    self.by-version."jshint"."2.3.0";
+  by-version."jshint"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz";
-        sha1 = "eb5108fef9ba5ddebb830983f572d242e49e3f96";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.3.0.tgz";
+        sha1 = "19504455a2c20c46ee183361eb87f3a1c0b7dc47";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jshint"."~2.1.10" or []);
+      (self.nativeDeps."jshint" or []);
     deps = [
-      self.full."shelljs"."0.1.x"
-      self.full."underscore"."1.4.x"
-      self.full."cli"."0.4.x"
-      self.full."minimatch"."0.x.x"
-      self.full."console-browserify"."0.1.x"
+      self.by-version."shelljs"."0.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."cli"."0.4.5"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."console-browserify"."0.1.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jshint" ];
   };
-  full."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+  "jshint" = self.by-version."jshint"."2.3.0";
+  by-spec."jshint"."~2.3.0" =
+    self.by-version."jshint"."2.3.0";
+  by-spec."json-schema"."0.2.2" =
+    self.by-version."json-schema"."0.2.2";
+  by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "json-schema-0.2.2";
     src = [
       (fetchurl {
@@ -6554,14 +5656,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-schema"."0.2.2" or []);
+      (self.nativeDeps."json-schema" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-schema" ];
   };
-  full."json-stringify-safe"."~3.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~3.0.0" =
+    self.by-version."json-stringify-safe"."3.0.0";
+  by-version."json-stringify-safe"."3.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-3.0.0";
     src = [
       (fetchurl {
@@ -6570,14 +5674,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~3.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."json-stringify-safe"."~4.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~4.0.0" =
+    self.by-version."json-stringify-safe"."4.0.0";
+  by-version."json-stringify-safe"."4.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-4.0.0";
     src = [
       (fetchurl {
@@ -6586,14 +5692,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~4.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."json-stringify-safe"."~5.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-5.0.0";
     src = [
       (fetchurl {
@@ -6602,14 +5710,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~5.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."jsontool"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."jsontool"."*" =
+    self.by-version."jsontool"."6.0.0";
+  by-version."jsontool"."6.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "jsontool-6.0.0";
     src = [
       (fetchurl {
@@ -6618,15 +5728,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsontool"."*" or []);
+      (self.nativeDeps."jsontool" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jsontool" ];
   };
-  "jsontool" = self.full."jsontool"."*";
-  full."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "jsontool" = self.by-version."jsontool"."6.0.0";
+  by-spec."jsprim"."0.3.0" =
+    self.by-version."jsprim"."0.3.0";
+  by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "jsprim-0.3.0";
     src = [
       (fetchurl {
@@ -6635,17 +5747,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsprim"."0.3.0" or []);
+      (self.nativeDeps."jsprim" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
-      self.full."json-schema"."0.2.2"
-      self.full."verror"."1.3.3"
+      self.by-version."extsprintf"."1.0.0"
+      self.by-version."json-schema"."0.2.2"
+      self.by-version."verror"."1.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jsprim" ];
   };
-  full."junk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."junk"."~0.2.0" =
+    self.by-version."junk"."0.2.1";
+  by-version."junk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "junk-0.2.1";
     src = [
       (fetchurl {
@@ -6654,246 +5768,114 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."junk"."~0.2.0" or []);
+      (self.nativeDeps."junk" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "junk" ];
   };
-  full."karma"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."karma"."*" =
+    self.by-version."karma"."0.11.2";
+  "karma" = self.by-version."karma"."0.11.2";
+  by-spec."karma".">=0.9" =
+    self.by-version."karma"."0.11.2";
+  by-spec."karma".">=0.9.3" =
+    self.by-version."karma"."0.11.2";
+  by-spec."karma"."~0.10.0" =
+    self.by-version."karma"."0.10.4";
+  by-version."karma"."0.10.4" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.10.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/karma/-/karma-0.10.4.tgz";
+        sha1 = "b53eda54b8a5f61296a8bd9bb95801652e75b659";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."*" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."karma" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."di"."0.0.1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."chokidar"."0.7.0"
+      self.by-version."glob"."3.1.21"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."q"."0.9.7"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."log4js"."0.6.9"
+      self.by-version."useragent"."2.0.7"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."connect"."2.8.8"
     ];
     peerDependencies = [
+      self.by-version."karma-jasmine"."0.1.3"
+      self.by-version."karma-requirejs"."0.1.0"
+      self.by-version."karma-coffee-preprocessor"."0.1.0"
+      self.by-version."karma-html2js-preprocessor"."0.1.0"
+      self.by-version."karma-chrome-launcher"."0.1.0"
+      self.by-version."karma-firefox-launcher"."0.1.0"
+      self.by-version."karma-phantomjs-launcher"."0.1.0"
+      self.by-version."karma-script-launcher"."0.1.0"
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "karma" ];
   };
-  "karma" = self.full."karma"."*";
-  full."karma".">=0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."karma-chrome-launcher"."*" =
+    self.by-version."karma-chrome-launcher"."0.1.0";
+  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.0";
+  by-spec."karma-coffee-preprocessor"."*" =
+    self.by-version."karma-coffee-preprocessor"."0.1.0";
+  by-spec."karma-coverage"."*" =
+    self.by-version."karma-coverage"."0.1.1";
+  by-version."karma-coverage"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-coverage-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.1.tgz";
+        sha1 = "e588d65307b8addf7b2b7589d1d1aeafdef318db";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma".">=0.9" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."karma-coverage" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."istanbul"."0.1.44"
+      self.by-version."dateformat"."1.0.6-1.2.3"
     ];
     peerDependencies = [
+      self.by-version."karma"."0.11.2"
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "karma-coverage" ];
   };
-  full."karma".">=0.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  "karma-coverage" = self.by-version."karma-coverage"."0.1.1";
+  by-spec."karma-firefox-launcher"."*" =
+    self.by-version."karma-firefox-launcher"."0.1.0";
+  by-spec."karma-html2js-preprocessor"."*" =
+    self.by-version."karma-html2js-preprocessor"."0.1.0";
+  by-spec."karma-jasmine"."*" =
+    self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma"."0.11.2" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-requirejs"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-coffee-preprocessor"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-html2js-preprocessor"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-chrome-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-firefox-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-phantomjs-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-script-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-jasmine"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-jasmine-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
         url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
         sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma".">=0.9.3" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
-    deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
-  };
-  full."karma"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.10.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.10.2.tgz";
-        sha1 = "4e100bd346bb24a1260dcd34b5b3d2d4a9b27b17";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
+        url = "http://registry.npmjs.org/karma/-/karma-0.11.2.tgz";
+        sha1 = "cb9d7ff974f3f0c8834980ebf8e689a88091008e";
       })
       (fetchurl {
         url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
@@ -6925,66 +5907,42 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."~0.10.0" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
-    deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
-  };
-  full."karma-chrome-launcher"."*" = self.full."karma"."~0.10.0";
-  "karma-chrome-launcher" = self.full."karma-chrome-launcher"."*";
-  full."karma-coffee-preprocessor"."*" = self.full."karma"."~0.10.0";
-  full."karma-coverage"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-coverage-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.0.tgz";
-        sha1 = "6d5d03352cbe2d529807e558688dceea55f9dbb0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-coverage"."*" or []);
-    deps = [
-      self.full."istanbul"."~0.1.41"
-      self.full."dateformat"."~1.0.6"
-    ];
-    peerDependencies = [
-      self.full."karma".">=0.9"
-    ];
-    passthru.names = [ "karma-coverage" ];
-  };
-  "karma-coverage" = self.full."karma-coverage"."*";
-  full."karma-firefox-launcher"."*" = self.full."karma"."~0.10.0";
-  full."karma-html2js-preprocessor"."*" = self.full."karma"."~0.10.0";
-  full."karma-jasmine"."*" = self.full."karma"."~0.10.0";
-  full."karma-junit-reporter"."*" = lib.makeOverridable self.buildNodePackage {
+      (self.nativeDeps."karma-jasmine" or [])
+      ++ (self.nativeDeps."karma" or [])
+      ++ (self.nativeDeps."karma-requirejs" or [])
+      ++ (self.nativeDeps."karma-coffee-preprocessor" or [])
+      ++ (self.nativeDeps."karma-html2js-preprocessor" or [])
+      ++ (self.nativeDeps."karma-chrome-launcher" or [])
+      ++ (self.nativeDeps."karma-firefox-launcher" or [])
+      ++ (self.nativeDeps."karma-phantomjs-launcher" or [])
+      ++ (self.nativeDeps."karma-script-launcher" or []);
+    deps = [
+      self.by-version."di"."0.0.1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."chokidar"."0.7.0"
+      self.by-version."glob"."3.1.21"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."q"."0.9.7"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."log4js"."0.6.9"
+      self.by-version."useragent"."2.0.7"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."connect"."2.8.8"
+      self.by-version."phantomjs"."1.9.2-2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "karma-jasmine" "karma" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+  };
+  by-spec."karma-junit-reporter"."*" =
+    self.by-version."karma-junit-reporter"."0.1.0";
+  by-version."karma-junit-reporter"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "karma-junit-reporter-0.1.0";
     src = [
       (fetchurl {
@@ -6993,17 +5951,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-junit-reporter"."*" or []);
+      (self.nativeDeps."karma-junit-reporter" or []);
     deps = [
-      self.full."xmlbuilder"."0.4.2"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
+      self.by-version."karma"."0.11.2"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
-  "karma-junit-reporter" = self.full."karma-junit-reporter"."*";
-  full."karma-mocha"."*" = lib.makeOverridable self.buildNodePackage {
+  "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.1.0";
+  by-spec."karma-mocha"."*" =
+    self.by-version."karma-mocha"."0.1.0";
+  by-version."karma-mocha"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "karma-mocha-0.1.0";
     src = [
       (fetchurl {
@@ -7012,20 +5972,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-mocha"."*" or []);
+      (self.nativeDeps."karma-mocha" or []);
     deps = [
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
-      self.full."mocha"."*"
+      self.by-version."karma"."0.11.2"
+      self.by-version."mocha"."1.14.0"
     ];
     passthru.names = [ "karma-mocha" ];
   };
-  "karma-mocha" = self.full."karma-mocha"."*";
-  full."karma-phantomjs-launcher"."*" = self.full."karma"."~0.10.0";
-  full."karma-requirejs"."*" = self.full."karma"."~0.10.0";
-  "karma-requirejs" = self.full."karma-requirejs"."*";
-  full."karma-sauce-launcher"."*" = lib.makeOverridable self.buildNodePackage {
+  "karma-mocha" = self.by-version."karma-mocha"."0.1.0";
+  by-spec."karma-phantomjs-launcher"."*" =
+    self.by-version."karma-phantomjs-launcher"."0.1.0";
+  by-spec."karma-requirejs"."*" =
+    self.by-version."karma-requirejs"."0.1.0";
+  "karma-requirejs" = self.by-version."karma-requirejs"."0.1.0";
+  by-spec."karma-sauce-launcher"."*" =
+    self.by-version."karma-sauce-launcher"."0.1.1";
+  by-version."karma-sauce-launcher"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "karma-sauce-launcher-0.1.1";
     src = [
       (fetchurl {
@@ -7034,20 +5998,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-sauce-launcher"."*" or []);
+      (self.nativeDeps."karma-sauce-launcher" or []);
     deps = [
-      self.full."wd"."~0.1.5"
-      self.full."sauce-connect-launcher"."~0.1.10"
-      self.full."q"."~0.9.6"
+      self.by-version."wd"."0.1.5"
+      self.by-version."sauce-connect-launcher"."0.1.11"
+      self.by-version."q"."0.9.7"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
+      self.by-version."karma"."0.11.2"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
-  "karma-sauce-launcher" = self.full."karma-sauce-launcher"."*";
-  full."karma-script-launcher"."*" = self.full."karma"."~0.10.0";
-  full."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.1.1";
+  by-spec."karma-script-launcher"."*" =
+    self.by-version."karma-script-launcher"."0.1.0";
+  by-spec."keen.io"."0.0.3" =
+    self.by-version."keen.io"."0.0.3";
+  by-version."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "keen.io-0.0.3";
     src = [
       (fetchurl {
@@ -7056,16 +6023,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."keen.io"."0.0.3" or []);
+      (self.nativeDeps."keen.io" or []);
     deps = [
-      self.full."superagent"."~0.13.0"
-      self.full."underscore"."~1.4.4"
+      self.by-version."superagent"."0.13.0"
+      self.by-version."underscore"."1.4.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "keen.io" ];
   };
-  full."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."keep-alive-agent"."0.0.1" =
+    self.by-version."keep-alive-agent"."0.0.1";
+  by-version."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "keep-alive-agent-0.0.1";
     src = [
       (fetchurl {
@@ -7074,14 +6043,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."keep-alive-agent"."0.0.1" or []);
+      (self.nativeDeps."keep-alive-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "keep-alive-agent" ];
   };
-  full."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."kerberos"."0.0.3" =
+    self.by-version."kerberos"."0.0.3";
+  by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "kerberos-0.0.3";
     src = [
       (fetchurl {
@@ -7090,14 +6061,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kerberos"."0.0.3" or []);
+      (self.nativeDeps."kerberos" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kerberos" ];
   };
-  full."kew"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."kew"."~0.1.7" =
+    self.by-version."kew"."0.1.7";
+  by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "kew-0.1.7";
     src = [
       (fetchurl {
@@ -7106,14 +6079,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kew"."~0.1.7" or []);
+      (self.nativeDeps."kew" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kew" ];
   };
-  full."knox"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."keypress"."0.1.x" =
+    self.by-version."keypress"."0.1.0";
+  by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "keypress-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
+        sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."keypress" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "keypress" ];
+  };
+  by-spec."knox"."*" =
+    self.by-version."knox"."0.8.6";
+  by-version."knox"."0.8.6" = lib.makeOverridable self.buildNodePackage {
     name = "knox-0.8.6";
     src = [
       (fetchurl {
@@ -7122,19 +6115,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."knox"."*" or []);
+      (self.nativeDeps."knox" or []);
     deps = [
-      self.full."mime"."*"
-      self.full."xml2js"."0.2.x"
-      self.full."debug"."~0.7.0"
-      self.full."stream-counter"."~0.1.0"
+      self.by-version."mime"."1.2.11"
+      self.by-version."xml2js"."0.2.8"
+      self.by-version."debug"."0.7.3"
+      self.by-version."stream-counter"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "knox" ];
   };
-  "knox" = self.full."knox"."*";
-  full."kue"."*" = lib.makeOverridable self.buildNodePackage {
+  "knox" = self.by-version."knox"."0.8.6";
+  by-spec."kue"."*" =
+    self.by-version."kue"."0.6.2";
+  by-version."kue"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "kue-0.6.2";
     src = [
       (fetchurl {
@@ -7143,21 +6138,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kue"."*" or []);
+      (self.nativeDeps."kue" or []);
     deps = [
-      self.full."redis"."0.7.2"
-      self.full."express"."~3.1.1"
-      self.full."jade"."0.26.3"
-      self.full."stylus"."0.27.2"
-      self.full."nib"."0.5.0"
-      self.full."reds"."0.1.4"
+      self.by-version."redis"."0.7.2"
+      self.by-version."express"."3.1.2"
+      self.by-version."jade"."0.26.3"
+      self.by-version."stylus"."0.27.2"
+      self.by-version."nib"."0.5.0"
+      self.by-version."reds"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kue" ];
   };
-  "kue" = self.full."kue"."*";
-  full."lazy"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
+  "kue" = self.by-version."kue"."0.6.2";
+  by-spec."lazy"."~1.0.11" =
+    self.by-version."lazy"."1.0.11";
+  by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "lazy-1.0.11";
     src = [
       (fetchurl {
@@ -7166,14 +6163,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lazy"."~1.0.11" or []);
+      (self.nativeDeps."lazy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lazy" ];
   };
-  full."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lcov-parse"."0.0.4" =
+    self.by-version."lcov-parse"."0.0.4";
+  by-version."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-parse-0.0.4";
     src = [
       (fetchurl {
@@ -7182,14 +6181,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-parse"."0.0.4" or []);
+      (self.nativeDeps."lcov-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lcov-parse" ];
   };
-  full."lcov-result-merger"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lcov-result-merger"."*" =
+    self.by-version."lcov-result-merger"."0.0.2";
+  by-version."lcov-result-merger"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-result-merger-0.0.2";
     src = [
       (fetchurl {
@@ -7198,36 +6199,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-result-merger"."*" or []);
+      (self.nativeDeps."lcov-result-merger" or []);
     deps = [
-      self.full."glob"."~3.2.1"
+      self.by-version."glob"."3.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lcov-result-merger" ];
   };
-  "lcov-result-merger" = self.full."lcov-result-merger"."*";
-  full."less"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "less-1.4.2";
+  "lcov-result-merger" = self.by-version."lcov-result-merger"."0.0.2";
+  by-spec."less"."~1.5.0" =
+    self.by-version."less"."1.5.0";
+  by-version."less"."1.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "less-1.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/less/-/less-1.4.2.tgz";
-        sha1 = "b7deefe98a3a87bee364411b3df2d1efe5a412d0";
+        url = "http://registry.npmjs.org/less/-/less-1.5.0.tgz";
+        sha1 = "a97be1d2607577f5f33632a7e098024ab828f699";
       })
     ];
     buildInputs =
-      (self.nativeDeps."less"."~1.4.0" or []);
+      (self.nativeDeps."less" or []);
     deps = [
-      self.full."mime"."1.2.x"
-      self.full."request".">=2.12.0"
-      self.full."mkdirp"."~0.3.4"
-      self.full."ycssmin".">=1.0.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."request"."2.27.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."clean-css"."1.0.12"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "less" ];
   };
-  full."libxmljs"."~0.8.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."libxmljs"."~0.8.1" =
+    self.by-version."libxmljs"."0.8.1";
+  by-version."libxmljs"."0.8.1" = lib.makeOverridable self.buildNodePackage {
     name = "libxmljs-0.8.1";
     src = [
       (fetchurl {
@@ -7236,15 +6242,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."libxmljs"."~0.8.1" or []);
+      (self.nativeDeps."libxmljs" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "libxmljs" ];
   };
-  full."libyaml"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."libyaml"."*" =
+    self.by-version."libyaml"."0.2.2";
+  by-version."libyaml"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "libyaml-0.2.2";
     src = [
       (fetchurl {
@@ -7253,31 +6261,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."libyaml"."*" or []);
+      (self.nativeDeps."libyaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "libyaml" ];
   };
-  "libyaml" = self.full."libyaml"."*";
-  full."lockfile"."~0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "lockfile-0.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.3.4.tgz";
-        sha1 = "932b63546e4915f81b71924b36187740358eda03";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lockfile"."~0.3.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lockfile" ];
-  };
-  full."lockfile"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  "libyaml" = self.by-version."libyaml"."0.2.2";
+  by-spec."lockfile"."~0.4.0" =
+    self.by-version."lockfile"."0.4.2";
+  by-version."lockfile"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "lockfile-0.4.2";
     src = [
       (fetchurl {
@@ -7286,14 +6280,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile"."~0.4.0" or []);
+      (self.nativeDeps."lockfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lockfile" ];
   };
-  full."lodash"."~0.9.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~0.9.0" =
+    self.by-version."lodash"."0.9.2";
+  by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-0.9.2";
     src = [
       (fetchurl {
@@ -7302,14 +6298,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~0.9.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.0.1" =
+    self.by-version."lodash"."1.0.1";
+  by-version."lodash"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.0.1";
     src = [
       (fetchurl {
@@ -7318,14 +6316,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.0.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.1" =
+    self.by-version."lodash"."1.1.1";
+  by-version."lodash"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.1.1";
     src = [
       (fetchurl {
@@ -7334,30 +6334,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.1.1.tgz";
-        sha1 = "41a2b2e9a00e64d6d1999f143ff6b0755f6bbb24";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash"."~1.1.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
-  };
-  full."lodash"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.1.1" =
+    self.by-version."lodash"."1.1.1";
+  by-spec."lodash"."~1.2.1" =
+    self.by-version."lodash"."1.2.1";
+  by-version."lodash"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.2.1";
     src = [
       (fetchurl {
@@ -7366,14 +6354,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.3.0" =
+    self.by-version."lodash"."1.3.1";
+  by-version."lodash"."1.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.3.1";
     src = [
       (fetchurl {
@@ -7382,497 +6372,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.3.1";
+  by-spec."lodash"."~1.3.1" =
+    self.by-version."lodash"."1.3.1";
+  by-spec."lodash"."~2.2.1" =
+    self.by-version."lodash"."2.2.1";
+  by-version."lodash"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+        url = "http://registry.npmjs.org/lodash/-/lodash-2.2.1.tgz";
+        sha1 = "ca935fd14ab3c0c872abacf198b9cda501440867";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash._arraypool"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._arraypool-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.2.1.tgz";
-        sha1 = "09c741461dde7a7bc467d826ee50c8b1216427f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._arraypool"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._arraypool" ];
-  };
-  full."lodash._basecreatecallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._basecreatecallback-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.2.1.tgz";
-        sha1 = "486940419a6f195996cb0f7644af71341c608ce4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._basecreatecallback"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.bind"."~2.2.1"
-      self.full."lodash.identity"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._basecreatecallback" ];
-  };
-  full."lodash._baseisequal"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._baseisequal-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-2.2.1.tgz";
-        sha1 = "8bd0156ad5c47d927b58d54456329922b24ce0e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._baseisequal"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.forin"."~2.2.1"
-      self.full."lodash._getarray"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-      self.full."lodash._releasearray"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._baseisequal" ];
-  };
-  full."lodash._createbound"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createbound-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createbound/-/lodash._createbound-2.2.1.tgz";
-        sha1 = "27218a40dc73eaf7a1bc90c3f86b0bf79c272ccc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._createbound"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._createobject"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._createbound" ];
-  };
-  full."lodash._createobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createobject-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createobject/-/lodash._createobject-2.2.1.tgz";
-        sha1 = "8c38ad5d83de703537c863330b97059417fbfee9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._createobject"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._createobject" ];
-  };
-  full."lodash._getarray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._getarray-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.2.1.tgz";
-        sha1 = "aa5caa269f1649a186811d5be4a78e56e70e9699";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._getarray"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._arraypool"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._getarray" ];
-  };
-  full."lodash._maxpoolsize"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._maxpoolsize-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.2.1.tgz";
-        sha1 = "1e8b6d433271db7c12ec953d49604ea098542fa7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._maxpoolsize"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._maxpoolsize" ];
-  };
-  full."lodash._noop"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._noop-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._noop/-/lodash._noop-2.2.1.tgz";
-        sha1 = "f790734f9f683c9fda8da9f4d8a8000a2201c6e9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._noop"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._noop" ];
-  };
-  full."lodash._objecttypes"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._objecttypes-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.2.1.tgz";
-        sha1 = "c72d42a5dec0b55664f82162ed74c5f3f94942ba";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._objecttypes"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._objecttypes" ];
-  };
-  full."lodash._releasearray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._releasearray-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.2.1.tgz";
-        sha1 = "81626c89e26ce2fbc90a11ce8f6ef26ea15c4b28";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._releasearray"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._arraypool"."~2.2.1"
-      self.full."lodash._maxpoolsize"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._releasearray" ];
-  };
-  full."lodash._renative"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._renative-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._renative/-/lodash._renative-2.2.1.tgz";
-        sha1 = "ab77d711371ebae8ffdcf5c83b576d558d6bb522";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._renative"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._renative" ];
-  };
-  full."lodash._setbinddata"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._setbinddata-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.2.1.tgz";
-        sha1 = "df1d5228229c71e28185aae4f828f3b5e78f0904";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._setbinddata"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._setbinddata" ];
-  };
-  full."lodash._shimkeys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._shimkeys-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.2.1.tgz";
-        sha1 = "ed4e4b5d61214b2685400b185a59fabf59343455";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._shimkeys"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._shimkeys" ];
-  };
-  full."lodash.bind"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.bind-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.bind/-/lodash.bind-2.2.1.tgz";
-        sha1 = "4c24fe00b4c6fa277e4058d353edcf399b3755c2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.bind"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._createbound"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.bind" ];
-  };
-  full."lodash.createcallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.createcallback-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.createcallback/-/lodash.createcallback-2.2.1.tgz";
-        sha1 = "bb5291c473202a391c1a495a0806bf4b1d1842d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.createcallback"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._baseisequal"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.createcallback" ];
-  };
-  full."lodash.debounce"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.debounce" ];
-  };
-  full."lodash.debounce"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.debounce" ];
-  };
-  full."lodash.find"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.find-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.find/-/lodash.find-2.2.1.tgz";
-        sha1 = "768cc2149a589d2fd7b7203c6abe34bcb724d01a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.find"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.createcallback"."~2.2.1"
-      self.full."lodash.forown"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.find" ];
-  };
-  full."lodash.forin"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forin-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forin/-/lodash.forin-2.2.1.tgz";
-        sha1 = "d96a47f547002f322dcdc533b0f9e914cba7d050";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.forin"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.forin" ];
-  };
-  full."lodash.forown"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forown-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forown/-/lodash.forown-2.2.1.tgz";
-        sha1 = "77ee0877c135b603dafe8f2d9ceff215b16458ea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.forown"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.forown" ];
-  };
-  full."lodash.identity"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.identity-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.identity/-/lodash.identity-2.2.1.tgz";
-        sha1 = "63518772143d450a772511f6671e23038c67bcae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.identity"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.identity" ];
-  };
-  full."lodash.isfunction"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isfunction-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.2.1.tgz";
-        sha1 = "fcfa79b7b2c072b320468ecdc0244bbbac5e49c0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.isfunction"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.isfunction" ];
-  };
-  full."lodash.isobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isobject-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.2.1.tgz";
-        sha1 = "cbce101e3e3b718cb51b1113e4597d6e8e038831";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.isobject"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.isobject" ];
-  };
-  full."lodash.keys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.keys-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.2.1.tgz";
-        sha1 = "f372597e6f411d7537e32ba0efc85b5f874d5cca";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.keys"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._shimkeys"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.keys" ];
-  };
-  full."lodash.support"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.support-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.support/-/lodash.support-2.2.1.tgz";
-        sha1 = "5b6c267c6fc5302011f0c14e4529c7fbc08e94ce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.support"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.support" ];
-  };
-  full."lodash.throttle"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.throttle-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.throttle/-/lodash.throttle-2.2.1.tgz";
-        sha1 = "ae49bd6173b0cfb4e09d9645fdac507db77211f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.throttle"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.debounce"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.throttle" ];
-  };
-  full."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."log-driver"."1.2.1" =
+    self.by-version."log-driver"."1.2.1";
+  by-version."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "log-driver-1.2.1";
     src = [
       (fetchurl {
@@ -7881,14 +6410,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."log-driver"."1.2.1" or []);
+      (self.nativeDeps."log-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "log-driver" ];
   };
-  full."log4js"."~0.6.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."log4js"."~0.6.3" =
+    self.by-version."log4js"."0.6.9";
+  by-version."log4js"."0.6.9" = lib.makeOverridable self.buildNodePackage {
     name = "log4js-0.6.9";
     src = [
       (fetchurl {
@@ -7897,17 +6428,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."log4js"."~0.6.3" or []);
+      (self.nativeDeps."log4js" or []);
     deps = [
-      self.full."async"."0.1.15"
-      self.full."semver"."~1.1.4"
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."async"."0.1.15"
+      self.by-version."semver"."1.1.4"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "log4js" ];
   };
-  full."lru-cache"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.3.1";
+  by-version."lru-cache"."2.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.3.1";
     src = [
       (fetchurl {
@@ -7916,14 +6449,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.2.0" =
+    self.by-version."lru-cache"."2.2.0";
+  by-version."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.2.0";
     src = [
       (fetchurl {
@@ -7932,14 +6467,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.0" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.2.x" =
+    self.by-version."lru-cache"."2.2.4";
+  by-version."lru-cache"."2.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.2.4";
     src = [
       (fetchurl {
@@ -7948,14 +6485,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.x" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.3.0" =
+    self.by-version."lru-cache"."2.3.0";
+  by-version."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.3.0";
     src = [
       (fetchurl {
@@ -7964,14 +6503,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.3.0" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."~1.0.2" =
+    self.by-version."lru-cache"."1.0.6";
+  by-version."lru-cache"."1.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-1.0.6";
     src = [
       (fetchurl {
@@ -7980,64 +6521,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~1.0.2" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."~2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
+  by-spec."lru-cache"."~2.3.0" =
+    self.by-version."lru-cache"."2.3.1";
+  by-spec."lru-cache"."~2.3.1" =
+    self.by-version."lru-cache"."2.3.1";
+  by-spec."mailcomposer".">= 0.1.27" =
+    self.by-version."mailcomposer"."0.2.3";
+  by-version."mailcomposer"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "mailcomposer-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
-  };
-  full."lru-cache"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
-  };
-  full."mailcomposer".">= 0.1.27" = lib.makeOverridable self.buildNodePackage {
-    name = "mailcomposer-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.2.tgz";
-        sha1 = "ce93bdea7cb51e60eb76491b6a64c39f382c20e5";
+        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.3.tgz";
+        sha1 = "763b96561159ea233cb29ab6995ee45e78be5918";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mailcomposer".">= 0.1.27" or []);
+      (self.nativeDeps."mailcomposer" or []);
     deps = [
-      self.full."mimelib"."~0.2"
-      self.full."mime"."1.2.9"
+      self.by-version."mimelib"."0.2.14"
+      self.by-version."mime"."1.2.9"
+      self.by-version."ent"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mailcomposer" ];
   };
-  full."match-stream"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."match-stream"."~0.0.2" =
+    self.by-version."match-stream"."0.0.2";
+  by-version."match-stream"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "match-stream-0.0.2";
     src = [
       (fetchurl {
@@ -8046,16 +6564,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."match-stream"."~0.0.2" or []);
+      (self.nativeDeps."match-stream" or []);
     deps = [
-      self.full."buffers"."~0.1.1"
-      self.full."readable-stream"."~1.0.0"
+      self.by-version."buffers"."0.1.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "match-stream" ];
   };
-  full."meat"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."meat"."*" =
+    self.by-version."meat"."0.2.5";
+  by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "meat-0.2.5";
     src = [
       (fetchurl {
@@ -8064,21 +6584,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."meat"."*" or []);
+      (self.nativeDeps."meat" or []);
     deps = [
-      self.full."express"."2.5.11"
-      self.full."jade"."0.27.0"
-      self.full."open"."0.0.2"
-      self.full."winston"."0.6.2"
-      self.full."mkdirp"."0.3.0"
-      self.full."node.extend"."1.0.0"
+      self.by-version."express"."2.5.11"
+      self.by-version."jade"."0.27.0"
+      self.by-version."open"."0.0.2"
+      self.by-version."winston"."0.6.2"
+      self.by-version."mkdirp"."0.3.0"
+      self.by-version."node.extend"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "meat" ];
   };
-  "meat" = self.full."meat"."*";
-  full."memoizee"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
+  "meat" = self.by-version."meat"."0.2.5";
+  by-spec."memoizee"."~0.2.5" =
+    self.by-version."memoizee"."0.2.6";
+  by-version."memoizee"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "memoizee-0.2.6";
     src = [
       (fetchurl {
@@ -8087,17 +6609,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."memoizee"."~0.2.5" or []);
+      (self.nativeDeps."memoizee" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."event-emitter"."~0.2.2"
-      self.full."next-tick"."0.1.x"
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."event-emitter"."0.2.2"
+      self.by-version."next-tick"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "memoizee" ];
   };
-  full."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."methods"."0.0.1" =
+    self.by-version."methods"."0.0.1";
+  by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "methods-0.0.1";
     src = [
       (fetchurl {
@@ -8106,14 +6630,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."methods"."0.0.1" or []);
+      (self.nativeDeps."methods" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
   };
-  full."mime"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."methods"."0.1.0" =
+    self.by-version."methods"."0.1.0";
+  by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "methods-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
+        sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  by-spec."mime"."*" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.11";
     src = [
       (fetchurl {
@@ -8122,14 +6666,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."*" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.4" =
+    self.by-version."mime"."1.2.4";
+  by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.4";
     src = [
       (fetchurl {
@@ -8138,14 +6684,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.4" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.5" =
+    self.by-version."mime"."1.2.5";
+  by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.5";
     src = [
       (fetchurl {
@@ -8154,14 +6702,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.5" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.6" =
+    self.by-version."mime"."1.2.6";
+  by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.6";
     src = [
       (fetchurl {
@@ -8170,14 +6720,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.6" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.9" =
+    self.by-version."mime"."1.2.9";
+  by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.9";
     src = [
       (fetchurl {
@@ -8186,144 +6738,50 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."1.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."1.2.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."~1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."mime"."1.2.x" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime".">= 0.0.1" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.7" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.9" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mimelib"."~0.2.14" =
+    self.by-version."mimelib"."0.2.14";
+  by-version."mimelib"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "mimelib-0.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2.11" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz";
+        sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."~1.2.7" or []);
+      (self.nativeDeps."mimelib" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mimelib"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mimelib-0.2.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.13.tgz";
-        sha1 = "0668eb85e870c510be747a67ece43b9bbf8e20b0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mimelib"."~0.2" or []);
-    deps = [
-      self.full."encoding"."~0.1"
-      self.full."addressparser"."~0.1"
+      self.by-version."encoding"."0.1.7"
+      self.by-version."addressparser"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mimelib" ];
   };
-  full."minimatch"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0" =
+    self.by-version."minimatch"."0.2.12";
+  by-version."minimatch"."0.2.12" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.2.12";
     src = [
       (fetchurl {
@@ -8332,16 +6790,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."sigmund"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimatch"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0.0.x" =
+    self.by-version."minimatch"."0.0.5";
+  by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.0.5";
     src = [
       (fetchurl {
@@ -8350,195 +6810,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0.0.x" or []);
-    deps = [
-      self.full."lru-cache"."~1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."0.2.x" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."0.x" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."0.x.x" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch".">=0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch".">=0.2.4" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.0" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.11" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.12" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.12" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.6" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.9" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."lru-cache"."1.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimist"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0.2.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."0.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."0.x.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch".">=0.2.4" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.0" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.11" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.12" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.6" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.9" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimist"."~0.0.1" =
+    self.by-version."minimist"."0.0.5";
+  by-version."minimist"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "minimist-0.0.5";
     src = [
       (fetchurl {
@@ -8547,14 +6849,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimist"."~0.0.1" or []);
+      (self.nativeDeps."minimist" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
   };
-  full."mkdirp"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mkdirp"."*" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.3.5";
     src = [
       (fetchurl {
@@ -8563,47 +6867,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."*" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  "mkdirp" = self.full."mkdirp"."*";
-  full."mkdirp"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "mkdirp" = self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.0" =
+    self.by-version."mkdirp"."0.3.0";
+  by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.3.0";
     src = [
       (fetchurl {
@@ -8612,199 +6890,111 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.0" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  full."mkdirp"."0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.4";
+  by-spec."mkdirp"."0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.x.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.4" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mocha"."*" =
+    self.by-version."mocha"."1.14.0";
+  by-version."mocha"."1.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-1.14.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz";
-        sha1 = "f8c81d213b7299a031f193a57d752a17d2f6c7d8";
+        url = "http://registry.npmjs.org/mocha/-/mocha-1.14.0.tgz";
+        sha1 = "713db6dc5000191a9d0358195d0908790ecb6157";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.4" or []);
+      (self.nativeDeps."mocha" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mocha"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-1.13.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mocha/-/mocha-1.13.0.tgz";
-        sha1 = "8d8fa4e310b94cc6efeb3ed26aeca96dea93307c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mocha"."*" or []);
-    deps = [
-      self.full."commander"."0.6.1"
-      self.full."growl"."1.7.x"
-      self.full."jade"."0.26.3"
-      self.full."diff"."1.0.7"
-      self.full."debug"."*"
-      self.full."mkdirp"."0.3.5"
-      self.full."glob"."3.2.3"
+      self.by-version."commander"."2.0.0"
+      self.by-version."growl"."1.7.0"
+      self.by-version."jade"."0.26.3"
+      self.by-version."diff"."1.0.7"
+      self.by-version."debug"."0.7.3"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mocha" ];
   };
-  "mocha" = self.full."mocha"."*";
-  full."mocha-unfunk-reporter"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-unfunk-reporter-0.2.3";
+  "mocha" = self.by-version."mocha"."1.14.0";
+  by-spec."mocha-unfunk-reporter"."*" =
+    self.by-version."mocha-unfunk-reporter"."0.3.4";
+  by-version."mocha-unfunk-reporter"."0.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-unfunk-reporter-0.3.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.2.3.tgz";
-        sha1 = "41c2aa001dc44eef80d073404728d2e4d4a09c90";
+        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.3.4.tgz";
+        sha1 = "79c5977520677a6b8944106896b320481a4dd737";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mocha-unfunk-reporter"."*" or []);
+      (self.nativeDeps."mocha-unfunk-reporter" or []);
     deps = [
+      self.by-version."jsesc"."0.4.3"
+      self.by-version."diff"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mocha-unfunk-reporter" ];
   };
-  "mocha-unfunk-reporter" = self.full."mocha-unfunk-reporter"."*";
-  full."moment"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "moment-2.0.0";
+  "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.3.4";
+  by-spec."moment"."2.1.0" =
+    self.by-version."moment"."2.1.0";
+  by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "moment-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.0.0.tgz";
-        sha1 = "2bbc5b44c321837693ab6efcadbd46ed946211fe";
+        url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
+        sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
       })
     ];
     buildInputs =
-      (self.nativeDeps."moment"."2.0.0" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
-  full."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "moment-2.1.0";
+  by-spec."moment"."~2.4.0" =
+    self.by-version."moment"."2.4.0";
+  by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "moment-2.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
-        sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+        url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
+        sha1 = "06dd8dfbbfdb53a03510080ac788163c9490e75d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."moment"."2.1.0" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
-  full."mongodb"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongodb"."*" =
+    self.by-version."mongodb"."1.3.19";
+  by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
     name = "mongodb-1.3.19";
     src = [
       (fetchurl {
@@ -8813,17 +7003,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."*" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
+      self.by-version."bson"."0.2.2"
+      self.by-version."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  "mongodb" = self.full."mongodb"."*";
-  full."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
+  "mongodb" = self.by-version."mongodb"."1.3.19";
+  by-spec."mongodb"."1.2.14" =
+    self.by-version."mongodb"."1.2.14";
+  by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
     name = "mongodb-1.2.14";
     src = [
       (fetchurl {
@@ -8832,75 +7024,48 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.14" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.1.8"
+      self.by-version."bson"."0.1.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  full."mongodb"."1.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.2.14";
+  by-spec."mongodb"."1.2.x" =
+    self.by-version."mongodb"."1.2.14";
+  by-spec."mongodb"."1.3.19" =
+    self.by-version."mongodb"."1.3.19";
+  by-spec."mongoose"."*" =
+    self.by-version."mongoose"."3.8.0";
+  by-version."mongoose"."3.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mongoose-3.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
-        sha1 = "269665552066437308d0942036646e6795c3a9a3";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.0.tgz";
+        sha1 = "0e7b34fe90ad996c72ce7cfec6822176ea137e48";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.x" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."bson"."0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
-  };
-  full."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.3.19";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
-        sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongodb"."1.3.19" or []);
-    deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
-  };
-  full."mongoose"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.7.4.tgz";
-        sha1 = "5ed8cdbc91c92b18ab49ac3526c7ac5264c7b292";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongoose"."*" or []);
-    deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.3.0"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
-      self.full."mquery"."0.3.2"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.19"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.3.0"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
+      self.by-version."mquery"."0.3.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  full."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose"."3.6.7" =
+    self.by-version."mongoose"."3.6.7";
+  by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-3.6.7";
     src = [
       (fetchurl {
@@ -8909,21 +7074,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.7" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.2.14"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.3"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.2.14"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.3"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  full."mongoose"."3.6.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose"."3.6.x" =
+    self.by-version."mongoose"."3.6.20";
+  by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-3.6.20";
     src = [
       (fetchurl {
@@ -8932,23 +7099,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.x" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.19"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  "mongoose" = self.full."mongoose"."3.6.x";
-  full."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  "mongoose" = self.by-version."mongoose"."3.6.20";
+  by-spec."mongoose-lifecycle"."1.0.0" =
+    self.by-version."mongoose-lifecycle"."1.0.0";
+  by-version."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-lifecycle-1.0.0";
     src = [
       (fetchurl {
@@ -8957,14 +7126,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-lifecycle"."1.0.0" or []);
+      (self.nativeDeps."mongoose-lifecycle" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-lifecycle" ];
   };
-  full."mongoose-schema-extend"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose-schema-extend"."*" =
+    self.by-version."mongoose-schema-extend"."0.1.5";
+  by-version."mongoose-schema-extend"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-schema-extend-0.1.5";
     src = [
       (fetchurl {
@@ -8973,16 +7144,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-schema-extend"."*" or []);
+      (self.nativeDeps."mongoose-schema-extend" or []);
     deps = [
-      self.full."owl-deepcopy"."~0.0.1"
+      self.by-version."owl-deepcopy"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-schema-extend" ];
   };
-  "mongoose-schema-extend" = self.full."mongoose-schema-extend"."*";
-  full."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
+  "mongoose-schema-extend" = self.by-version."mongoose-schema-extend"."0.1.5";
+  by-spec."monocle"."1.1.50" =
+    self.by-version."monocle"."1.1.50";
+  by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
     name = "monocle-1.1.50";
     src = [
       (fetchurl {
@@ -8991,15 +7164,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."monocle"."1.1.50" or []);
+      (self.nativeDeps."monocle" or []);
     deps = [
-      self.full."readdirp"."~0.2.3"
+      self.by-version."readdirp"."0.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "monocle" ];
   };
-  full."mout"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mout"."~0.6.0" =
+    self.by-version."mout"."0.6.0";
+  by-version."mout"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "mout-0.6.0";
     src = [
       (fetchurl {
@@ -9008,14 +7183,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.6.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mout"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mout"."~0.7.0" =
+    self.by-version."mout"."0.7.1";
+  by-version."mout"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "mout-0.7.1";
     src = [
       (fetchurl {
@@ -9024,14 +7201,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.7.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpath"."0.1.1" =
+    self.by-version."mpath"."0.1.1";
+  by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "mpath-0.1.1";
     src = [
       (fetchurl {
@@ -9040,14 +7219,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpath"."0.1.1" or []);
+      (self.nativeDeps."mpath" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpath" ];
   };
-  full."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpromise"."0.2.1" =
+    self.by-version."mpromise"."0.2.1";
+  by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "mpromise-0.2.1";
     src = [
       (fetchurl {
@@ -9056,15 +7237,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.2.1" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.4"
+      self.by-version."sliced"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mpromise"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpromise"."0.3.0" =
+    self.by-version."mpromise"."0.3.0";
+  by-version."mpromise"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "mpromise-0.3.0";
     src = [
       (fetchurl {
@@ -9073,15 +7256,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.3.0" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.5"
+      self.by-version."sliced"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mquery"."0.3.2" =
+    self.by-version."mquery"."0.3.2";
+  by-version."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "mquery-0.3.2";
     src = [
       (fetchurl {
@@ -9090,17 +7275,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mquery"."0.3.2" or []);
+      (self.nativeDeps."mquery" or []);
     deps = [
-      self.full."sliced"."0.0.5"
-      self.full."debug"."0.7.0"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."debug"."0.7.0"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mquery" ];
   };
-  full."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ms"."0.1.0" =
+    self.by-version."ms"."0.1.0";
+  by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "ms-0.1.0";
     src = [
       (fetchurl {
@@ -9109,14 +7296,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ms"."0.1.0" or []);
+      (self.nativeDeps."ms" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
   };
-  full."msgpack".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."msgpack".">= 0.0.1" =
+    self.by-version."msgpack"."0.2.1";
+  by-version."msgpack"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "msgpack-0.2.1";
     src = [
       (fetchurl {
@@ -9125,14 +7314,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."msgpack".">= 0.0.1" or []);
+      (self.nativeDeps."msgpack" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "msgpack" ];
   };
-  full."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."multiparty"."2.2.0" =
+    self.by-version."multiparty"."2.2.0";
+  by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "multiparty-2.2.0";
     src = [
       (fetchurl {
@@ -9141,16 +7332,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."multiparty"."2.2.0" or []);
+      (self.nativeDeps."multiparty" or []);
     deps = [
-      self.full."readable-stream"."~1.1.9"
-      self.full."stream-counter"."~0.2.0"
+      self.by-version."readable-stream"."1.1.9"
+      self.by-version."stream-counter"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
   };
-  full."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."muri"."0.3.1" =
+    self.by-version."muri"."0.3.1";
+  by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "muri-0.3.1";
     src = [
       (fetchurl {
@@ -9159,14 +7352,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."muri"."0.3.1" or []);
+      (self.nativeDeps."muri" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "muri" ];
   };
-  full."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  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 = "mute-stream-0.0.3";
     src = [
       (fetchurl {
@@ -9175,14 +7370,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."0.0.3" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mute-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
+  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 = "mute-stream-0.0.4";
     src = [
       (fetchurl {
@@ -9191,14 +7388,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."~0.0.4" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mv"."0.0.5" =
+    self.by-version."mv"."0.0.5";
+  by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "mv-0.0.5";
     src = [
       (fetchurl {
@@ -9207,14 +7406,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mv"."0.0.5" or []);
+      (self.nativeDeps."mv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mv" ];
   };
-  full."nan"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nan"."~0.3.0" =
+    self.by-version."nan"."0.3.2";
+  by-version."nan"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "nan-0.3.2";
     src = [
       (fetchurl {
@@ -9223,14 +7424,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nan"."~0.3.0" or []);
+      (self.nativeDeps."nan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
   };
-  full."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage {
+  by-spec."natural"."0.0.69" =
+    self.by-version."natural"."0.0.69";
+  by-version."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage {
     name = "natural-0.0.69";
     src = [
       (fetchurl {
@@ -9239,38 +7442,42 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."natural"."0.0.69" or []);
+      (self.nativeDeps."natural" or []);
     deps = [
-      self.full."sylvester".">= 0.0.12"
-      self.full."apparatus".">= 0.0.4"
-      self.full."underscore"."*"
+      self.by-version."sylvester"."0.0.21"
+      self.by-version."apparatus"."0.0.7"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "natural" ];
   };
-  full."nconf"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nconf-0.6.7";
+  by-spec."nconf"."*" =
+    self.by-version."nconf"."0.6.8";
+  by-version."nconf"."0.6.8" = lib.makeOverridable self.buildNodePackage {
+    name = "nconf-0.6.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
-        sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.8.tgz";
+        sha1 = "bb54b5f660eb3f44d8b2cdccaa5d60453973ffb0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."*" or []);
+      (self.nativeDeps."nconf" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."ini"."1.1.0"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
   };
-  "nconf" = self.full."nconf"."*";
-  full."nconf"."0.6.7" = lib.makeOverridable self.buildNodePackage {
+  "nconf" = self.by-version."nconf"."0.6.8";
+  by-spec."nconf"."0.6.7" =
+    self.by-version."nconf"."0.6.7";
+  by-version."nconf"."0.6.7" = lib.makeOverridable self.buildNodePackage {
     name = "nconf-0.6.7";
     src = [
       (fetchurl {
@@ -9279,18 +7486,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."0.6.7" or []);
+      (self.nativeDeps."nconf" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."ini"."1.1.0"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
   };
-  full."ncp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."0.2.x" =
+    self.by-version."ncp"."0.2.7";
+  by-version."ncp"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.2.7";
     src = [
       (fetchurl {
@@ -9299,14 +7508,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.2.x" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."0.4.2" =
+    self.by-version."ncp"."0.4.2";
+  by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.4.2";
     src = [
       (fetchurl {
@@ -9315,14 +7526,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.4.2" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."negotiator"."0.2.5" =
+    self.by-version."negotiator"."0.2.5";
+  by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "negotiator-0.2.5";
     src = [
       (fetchurl {
@@ -9331,14 +7544,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."negotiator"."0.2.5" or []);
+      (self.nativeDeps."negotiator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
   };
-  full."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."negotiator"."0.3.0" =
+    self.by-version."negotiator"."0.3.0";
+  by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "negotiator-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
+        sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
+  by-spec."net-ping"."1.1.7" =
+    self.by-version."net-ping"."1.1.7";
+  by-version."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "net-ping-1.1.7";
     src = [
       (fetchurl {
@@ -9347,15 +7580,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."net-ping"."1.1.7" or []);
+      (self.nativeDeps."net-ping" or []);
     deps = [
-      self.full."raw-socket"."*"
+      self.by-version."raw-socket"."1.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "net-ping" ];
   };
-  full."next-tick"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."next-tick"."0.1.x" =
+    self.by-version."next-tick"."0.1.0";
+  by-version."next-tick"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "next-tick-0.1.0";
     src = [
       (fetchurl {
@@ -9364,14 +7599,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."next-tick"."0.1.x" or []);
+      (self.nativeDeps."next-tick" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "next-tick" ];
   };
-  full."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nib"."0.5.0" =
+    self.by-version."nib"."0.5.0";
+  by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "nib-0.5.0";
     src = [
       (fetchurl {
@@ -9380,14 +7617,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nib"."0.5.0" or []);
+      (self.nativeDeps."nib" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nib" ];
   };
-  full."nijs"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nijs"."*" =
+    self.by-version."nijs"."0.0.12";
+  by-version."nijs"."0.0.12" = lib.makeOverridable self.buildNodePackage {
     name = "nijs-0.0.12";
     src = [
       (fetchurl {
@@ -9396,16 +7635,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nijs"."*" or []);
+      (self.nativeDeps."nijs" or []);
     deps = [
-      self.full."optparse".">= 1.0.3"
+      self.by-version."optparse"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nijs" ];
   };
-  "nijs" = self.full."nijs"."*";
-  full."node-expat"."*" = lib.makeOverridable self.buildNodePackage {
+  "nijs" = self.by-version."nijs"."0.0.12";
+  by-spec."node-expat"."*" =
+    self.by-version."node-expat"."2.0.0";
+  by-version."node-expat"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-expat-2.0.0";
     src = [
       (fetchurl {
@@ -9414,103 +7655,51 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-expat"."*" or []);
+      (self.nativeDeps."node-expat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-expat" ];
   };
-  "node-expat" = self.full."node-expat"."*";
-  full."node-gyp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp"."*" or []);
-    deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
-  };
-  "node-gyp" = self.full."node-gyp"."*";
-  full."node-gyp"."~0.10.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  "node-expat" = self.by-version."node-expat"."2.0.0";
+  by-spec."node-gyp"."*" =
+    self.by-version."node-gyp"."0.11.0";
+  by-version."node-gyp"."0.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gyp-0.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.11.0.tgz";
+        sha1 = "ee61d3f9a2cf4e9e2c00293d86620096e0184411";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.10" or []);
+      (self.nativeDeps."node-gyp" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."glob"."3.2.6"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."request"."2.27.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."tar"."0.1.18"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-gyp" ];
   };
-  full."node-gyp"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.2" or []);
-    deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
-  };
-  full."node-inspector"."*" = lib.makeOverridable self.buildNodePackage {
+  "node-gyp" = self.by-version."node-gyp"."0.11.0";
+  by-spec."node-gyp"."~0.11.0" =
+    self.by-version."node-gyp"."0.11.0";
+  by-spec."node-inspector"."*" =
+    self.by-version."node-inspector"."0.5.0";
+  by-version."node-inspector"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-inspector-0.5.0";
     src = [
       (fetchurl {
@@ -9519,21 +7708,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-inspector"."*" or []);
+      (self.nativeDeps."node-inspector" or []);
     deps = [
-      self.full."socket.io"."~0.9.14"
-      self.full."express"."~3.4"
-      self.full."async"."~0.2.8"
-      self.full."glob"."~3.2.1"
-      self.full."rc"."~0.3.0"
-      self.full."strong-data-uri"."~0.1.0"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."express"."3.4.4"
+      self.by-version."async"."0.2.9"
+      self.by-version."glob"."3.2.6"
+      self.by-version."rc"."0.3.1"
+      self.by-version."strong-data-uri"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-inspector" ];
   };
-  "node-inspector" = self.full."node-inspector"."*";
-  full."node-syslog"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+  "node-inspector" = self.by-version."node-inspector"."0.5.0";
+  by-spec."node-syslog"."1.1.3" =
+    self.by-version."node-syslog"."1.1.3";
+  by-version."node-syslog"."1.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "node-syslog-1.1.3";
     src = [
       (fetchurl {
@@ -9542,14 +7733,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-syslog"."1.1.3" or []);
+      (self.nativeDeps."node-syslog" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-syslog" ];
   };
-  full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" =
+    self.by-version."node-uptime"."3.2.0";
+  by-version."node-uptime"."3.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uptime-3.2.0";
     src = [
       (fetchurl {
@@ -9558,29 +7751,31 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" or []);
+      (self.nativeDeps."node-uptime" or []);
     deps = [
-      self.full."mongoose"."3.6.7"
-      self.full."mongoose-lifecycle"."1.0.0"
-      self.full."express"."3.2.0"
-      self.full."express-partials"."0.0.6"
-      self.full."connect-flash"."0.1.0"
-      self.full."ejs"."0.8.3"
-      self.full."config"."0.4.15"
-      self.full."async"."0.1.22"
-      self.full."socket.io"."0.9.14"
-      self.full."semver"."1.1.0"
-      self.full."moment"."2.1.0"
-      self.full."nodemailer"."0.3.35"
-      self.full."net-ping"."1.1.7"
-      self.full."js-yaml"."2.1.0"
+      self.by-version."mongoose"."3.6.7"
+      self.by-version."mongoose-lifecycle"."1.0.0"
+      self.by-version."express"."3.2.0"
+      self.by-version."express-partials"."0.0.6"
+      self.by-version."connect-flash"."0.1.0"
+      self.by-version."ejs"."0.8.3"
+      self.by-version."config"."0.4.15"
+      self.by-version."async"."0.1.22"
+      self.by-version."socket.io"."0.9.14"
+      self.by-version."semver"."1.1.0"
+      self.by-version."moment"."2.1.0"
+      self.by-version."nodemailer"."0.3.35"
+      self.by-version."net-ping"."1.1.7"
+      self.by-version."js-yaml"."2.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uptime" ];
   };
-  "node-uptime" = self.full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
-  full."node-uuid"."*" = lib.makeOverridable self.buildNodePackage {
+  "node-uptime" = self.by-version."node-uptime"."3.2.0";
+  by-spec."node-uuid"."*" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.4.1";
     src = [
       (fetchurl {
@@ -9589,15 +7784,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."*" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  "node-uuid" = self.full."node-uuid"."*";
-  full."node-uuid"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+  "node-uuid" = self.by-version."node-uuid"."1.4.1";
+  by-spec."node-uuid"."1.2.0" =
+    self.by-version."node-uuid"."1.2.0";
+  by-version."node-uuid"."1.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.2.0";
     src = [
       (fetchurl {
@@ -9606,14 +7803,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.2.0" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uuid"."1.3.3" =
+    self.by-version."node-uuid"."1.3.3";
+  by-version."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.3.3";
     src = [
       (fetchurl {
@@ -9622,14 +7821,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.3.3" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uuid"."1.4.0" =
+    self.by-version."node-uuid"."1.4.0";
+  by-version."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.4.0";
     src = [
       (fetchurl {
@@ -9638,30 +7839,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.4.0" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid"."~1.4.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  full."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  by-spec."node.extend"."1.0.0" =
+    self.by-version."node.extend"."1.0.0";
+  by-version."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "node.extend-1.0.0";
     src = [
       (fetchurl {
@@ -9670,14 +7859,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node.extend"."1.0.0" or []);
+      (self.nativeDeps."node.extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node.extend" ];
   };
-  full."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nodemailer"."0.3.35" =
+    self.by-version."nodemailer"."0.3.35";
+  by-version."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
     name = "nodemailer-0.3.35";
     src = [
       (fetchurl {
@@ -9686,52 +7877,59 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemailer"."0.3.35" or []);
+      (self.nativeDeps."nodemailer" or []);
     deps = [
-      self.full."mailcomposer".">= 0.1.27"
-      self.full."simplesmtp".">= 0.1.22"
-      self.full."optimist"."*"
+      self.by-version."mailcomposer"."0.2.3"
+      self.by-version."simplesmtp"."0.3.13"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemailer" ];
   };
-  full."nodemon"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nodemon-0.7.10";
+  by-spec."nodemon"."*" =
+    self.by-version."nodemon"."0.9.6";
+  by-version."nodemon"."0.9.6" = lib.makeOverridable self.buildNodePackage {
+    name = "nodemon-0.9.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nodemon/-/nodemon-0.7.10.tgz";
-        sha1 = "695a01b9458b115b03bbe01696d361bd50b4fb9b";
+        url = "http://registry.npmjs.org/nodemon/-/nodemon-0.9.6.tgz";
+        sha1 = "7a0b135b9b9c56e7a73025bbac8d6d3dc8dcd5c9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemon"."*" or []);
+      (self.nativeDeps."nodemon" or []);
     deps = [
+      self.by-version."update-notifier"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemon" ];
   };
-  "nodemon" = self.full."nodemon"."*";
-  full."nomnom"."1.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nomnom-1.6.1";
+  "nodemon" = self.by-version."nodemon"."0.9.6";
+  by-spec."nomnom"."1.6.x" =
+    self.by-version."nomnom"."1.6.2";
+  by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "nomnom-1.6.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.1.tgz";
-        sha1 = "bfed4506642d81278738e891c557e80694c1e0c9";
+        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
+        sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nomnom"."1.6.x" or []);
+      (self.nativeDeps."nomnom" or []);
     deps = [
-      self.full."colors"."0.5.x"
-      self.full."underscore"."~1.4.4"
+      self.by-version."colors"."0.5.1"
+      self.by-version."underscore"."1.4.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nomnom" ];
   };
-  full."nopt"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2" =
+    self.by-version."nopt"."2.1.2";
+  by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.1.2";
     src = [
       (fetchurl {
@@ -9740,15 +7938,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.0.0" =
+    self.by-version."nopt"."2.0.0";
+  by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.0.0";
     src = [
       (fetchurl {
@@ -9757,32 +7957,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2.0.0" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."2.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."2.1.x" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~1.0.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.1.x" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."nopt"."~1.0.10" =
+    self.by-version."nopt"."1.0.10";
+  by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-1.0.10";
     src = [
       (fetchurl {
@@ -9791,182 +7978,105 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~1.0.10" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~2.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."~2.1.1" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."~2.1.2" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."normalize-package-data"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "normalize-package-data-0.2.6";
+  by-spec."nopt"."~2.1.1" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."nopt"."~2.1.2" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."normalize-package-data"."~0.2.7" =
+    self.by-version."normalize-package-data"."0.2.7";
+  by-version."normalize-package-data"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "normalize-package-data-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.6.tgz";
-        sha1 = "830bda1412f7ccae09b903fc080edbcdbb0947c0";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.7.tgz";
+        sha1 = "0f075fa2d1f9ba23a854c4c56818c4077638f72a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."normalize-package-data"."~0.2" or []);
+      (self.nativeDeps."normalize-package-data" or []);
     deps = [
-      self.full."semver"."2"
-      self.full."github-url-from-git"."~1.1.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "normalize-package-data" ];
   };
-  full."npm"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.11.tgz";
-        sha1 = "4bf7f005fe1038c4fe9207603b961c97bd0ba5a3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."*" or []);
-    deps = [
-      self.full."semver"."~2.1.0"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.5"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.2"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.27.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.18"
-      self.full."fstream"."~0.1.23"
-      self.full."block-stream"."0.0.7"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.1"
-      self.full."node-gyp"."~0.10.10"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.4"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.28"
-      self.full."read-package-json"."~1.1.3"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.6"
-      self.full."init-package-json"."0.0.11"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.4.0"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.2"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.0.1"
-      self.full."sha"."~1.2.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
-      self.full."github-url-from-git"."1.1.1"
+  by-spec."npm"."*" =
+    self.by-version."npm"."1.3.13";
+  by-version."npm"."1.3.13" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-1.3.13";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/npm/-/npm-1.3.13.tgz";
+        sha1 = "0662966d62cc92ae8875b122d4825714c781465a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."npm" or []);
+    deps = [
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
+      self.by-version."slide"."1.1.5"
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."request"."2.27.0"
+      self.by-version."which"."1.0.5"
+      self.by-version."tar"."0.1.18"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."read"."1.0.5"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."node-gyp"."0.11.0"
+      self.by-version."fstream-npm"."0.1.6"
+      self.by-version."uid-number"."0.0.3"
+      self.by-version."archy"."0.0.2"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."ansi"."0.2.1"
+      self.by-version."npm-registry-client"."0.2.29"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."read-installed"."0.2.4"
+      self.by-version."glob"."3.2.6"
+      self.by-version."init-package-json"."0.0.11"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."lockfile"."0.4.2"
+      self.by-version."retry"."0.6.0"
+      self.by-version."once"."1.3.0"
+      self.by-version."npmconf"."0.1.5"
+      self.by-version."opener"."1.3.0"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."cmd-shim"."1.1.1"
+      self.by-version."sha"."1.2.3"
+      self.by-version."editor"."0.0.5"
+      self.by-version."child-process-close"."0.1.1"
+      self.by-version."npm-user-validate"."0.0.3"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm" ];
   };
-  "npm" = self.full."npm"."*";
-  full."npm"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.1.tgz";
-        sha1 = "c64f1c82362254cd4804a3dea5efbe6ec396460c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."1.3.1" or []);
-    deps = [
-      self.full."semver"."~2.0.8"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.4"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~1.2.2"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.1"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.21.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.17"
-      self.full."fstream"."~0.1.22"
-      self.full."block-stream"."*"
-      self.full."inherits"."1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.0"
-      self.full."node-gyp"."~0.10.2"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.3"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.25"
-      self.full."read-package-json"."~1.1.0"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.1"
-      self.full."init-package-json"."0.0.10"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.3.2"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.1"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.1.0"
-      self.full."sha"."~1.0.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm" ];
-  };
-  full."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
+  "npm" = self.by-version."npm"."1.3.13";
+  by-spec."npm"."~1.3.13" =
+    self.by-version."npm"."1.3.13";
+  by-spec."npm-registry-client"."0.2.27" =
+    self.by-version."npm-registry-client"."0.2.27";
+  by-version."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
     name = "npm-registry-client-0.2.27";
     src = [
       (fetchurl {
@@ -9975,76 +8085,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."0.2.27" or []);
-    deps = [
-      self.full."request"."2 >=2.20.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.0.5"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.15"
-      self.full."npmlog"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-registry-client" ];
-  };
-  full."npm-registry-client"."~0.2.25" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.25" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.27.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."semver"."2.0.11"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."retry"."0.6.0"
+      self.by-version."couch-login"."0.1.18"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-registry-client"."~0.2.28" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
+  by-spec."npm-registry-client"."~0.2.29" =
+    self.by-version."npm-registry-client"."0.2.29";
+  by-version."npm-registry-client"."0.2.29" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-registry-client-0.2.29";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.29.tgz";
+        sha1 = "66ff2766f0c61d41e8a6139d3692d8833002c686";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.28" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.27.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."retry"."0.6.0"
+      self.by-version."couch-login"."0.1.18"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npm-user-validate"."0.0.3" =
+    self.by-version."npm-user-validate"."0.0.3";
+  by-version."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "npm-user-validate-0.0.3";
     src = [
       (fetchurl {
@@ -10053,36 +8141,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-user-validate"."0.0.3" or []);
+      (self.nativeDeps."npm-user-validate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-user-validate" ];
   };
-  full."npm2nix"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm2nix-5.1.0";
+  by-spec."npm2nix"."*" =
+    self.by-version."npm2nix"."5.2.0";
+  by-version."npm2nix"."5.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "npm2nix-5.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.1.0.tgz";
-        sha1 = "a6b21174d57fdc31cf67849ffc72083bcae0e2ed";
+        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.2.0.tgz";
+        sha1 = "cce9016d598ad4fed4c98aa1830b40104214df4b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm2nix"."*" or []);
+      (self.nativeDeps."npm2nix" or []);
     deps = [
-      self.full."semver".">=2.0.10 <3.0.0"
-      self.full."argparse"."0.1.15"
-      self.full."npm-registry-client"."0.2.27"
-      self.full."npmconf"."0.1.1"
-      self.full."tar"."0.1.17"
+      self.by-version."semver"."2.2.1"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."npm-registry-client"."0.2.27"
+      self.by-version."npmconf"."0.1.1"
+      self.by-version."tar"."0.1.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm2nix" ];
   };
-  "npm2nix" = self.full."npm2nix"."*";
-  full."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
+  "npm2nix" = self.by-version."npm2nix"."5.2.0";
+  by-spec."npmconf"."0.0.24" =
+    self.by-version."npmconf"."0.0.24";
+  by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
     name = "npmconf-0.0.24";
     src = [
       (fetchurl {
@@ -10091,22 +8183,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.0.24" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."~1.1.0"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."1.1.4"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npmconf"."0.1.1" =
+    self.by-version."npmconf"."0.1.1";
+  by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "npmconf-0.1.1";
     src = [
       (fetchurl {
@@ -10115,138 +8209,75 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.1.1" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
+  by-spec."npmconf"."~0.1.2" =
+    self.by-version."npmconf"."0.1.5";
+  by-version."npmconf"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.5.tgz";
+        sha1 = "4201814e155df33a042a7f5405decb53447ae8cf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.1" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."once"."1.3.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.2" or []);
-    deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmconf" ];
-  };
-  full."npmlog"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."*" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."npmlog"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."0" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."npmlog"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.3.tgz";
-        sha1 = "c424ad1531af402eef8da201fc3d63bdbd37dacb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."0.0.3" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."npmlog"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
+  by-spec."npmconf"."~0.1.5" =
+    self.by-version."npmconf"."0.1.5";
+  by-spec."npmlog"."*" =
+    self.by-version."npmlog"."0.0.6";
+  by-version."npmlog"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "npmlog-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.6.tgz";
+        sha1 = "685043fe71aa1665d6e3b2acef180640caf40873";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."0.0.4" or []);
+      (self.nativeDeps."npmlog" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
+      self.by-version."ansi"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmlog" ];
   };
-  full."nssocket"."~0.5.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npmlog"."0" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."npmlog"."0.0.6" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."nssocket"."~0.5.1" =
+    self.by-version."nssocket"."0.5.1";
+  by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "nssocket-0.5.1";
     src = [
       (fetchurl {
@@ -10255,16 +8286,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nssocket"."~0.5.1" or []);
+      (self.nativeDeps."nssocket" or []);
     deps = [
-      self.full."eventemitter2"."~0.4.11"
-      self.full."lazy"."~1.0.11"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."lazy"."1.0.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nssocket" ];
   };
-  full."oauth-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."oauth-sign"."~0.2.0" =
+    self.by-version."oauth-sign"."0.2.0";
+  by-version."oauth-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "oauth-sign-0.2.0";
     src = [
       (fetchurl {
@@ -10273,14 +8306,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.2.0" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
   };
-  full."oauth-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "oauth-sign-0.3.0";
     src = [
       (fetchurl {
@@ -10289,14 +8324,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.3.0" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
   };
-  full."object-additions".">= 0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."object-additions".">= 0.5.0" =
+    self.by-version."object-additions"."0.5.1";
+  by-version."object-additions"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "object-additions-0.5.1";
     src = [
       (fetchurl {
@@ -10305,14 +8342,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."object-additions".">= 0.5.0" or []);
+      (self.nativeDeps."object-additions" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "object-additions" ];
   };
-  full."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."once"."1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "once-1.1.1";
     src = [
       (fetchurl {
@@ -10321,30 +8360,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."once"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.1.1";
+  by-spec."once"."~1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-spec."once"."~1.3.0" =
+    self.by-version."once"."1.3.0";
+  by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "once-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
-        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+        url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
+        sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."~1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."0.0.2" =
+    self.by-version."open"."0.0.2";
+  by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "open-0.0.2";
     src = [
       (fetchurl {
@@ -10353,30 +8398,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."0.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "open" ];
-  };
-  full."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "open-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/open/-/open-0.0.4.tgz";
-        sha1 = "5de46a0858b9f49f9f211aa8f26628550657f262";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."open"."0.0.4" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."open"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."0.0.4" =
+    self.by-version."open"."0.0.4";
+  by-version."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "open-0.0.4";
     src = [
       (fetchurl {
@@ -10385,14 +8416,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."~0.0.3" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."opener"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."~0.0.3" =
+    self.by-version."open"."0.0.4";
+  by-spec."opener"."~1.3.0" =
+    self.by-version."opener"."1.3.0";
+  by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "opener-1.3.0";
     src = [
       (fetchurl {
@@ -10401,14 +8436,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."opener"."~1.3.0" or []);
+      (self.nativeDeps."opener" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "opener" ];
   };
-  full."optimist"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."*" =
+    self.by-version."optimist"."0.6.0";
+  by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.6.0";
     src = [
       (fetchurl {
@@ -10417,17 +8454,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."*" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."minimist"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  "optimist" = self.full."optimist"."*";
-  full."optimist"."0.2" = lib.makeOverridable self.buildNodePackage {
+  "optimist" = self.by-version."optimist"."0.6.0";
+  by-spec."optimist"."0.2" =
+    self.by-version."optimist"."0.2.8";
+  by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.2.8";
     src = [
       (fetchurl {
@@ -10436,15 +8475,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.2" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap".">=0.0.1 <0.1.0"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.3.5" =
+    self.by-version."optimist"."0.3.5";
+  by-version."optimist"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.3.5";
     src = [
       (fetchurl {
@@ -10453,15 +8494,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.5" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.3.x" =
+    self.by-version."optimist"."0.3.7";
+  by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.3.7";
     src = [
       (fetchurl {
@@ -10470,15 +8513,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.x" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.4.0" =
+    self.by-version."optimist"."0.4.0";
+  by-version."optimist"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.4.0";
     src = [
       (fetchurl {
@@ -10487,102 +8532,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.4.0" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."0.6.0" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3.4" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3.5" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.6.0" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."options".">=0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-spec."optimist"."~0.3" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.3.4" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.3.5" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.5";
+  by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "options-0.0.5";
     src = [
       (fetchurl {
@@ -10591,31 +8561,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."options".">=0.0.5" or []);
+      (self.nativeDeps."options" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "options" ];
   };
-  full."optparse"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "optparse-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
-        sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optparse"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optparse" ];
-  };
-  "optparse" = self.full."optparse"."*";
-  full."optparse".">= 1.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optparse"."*" =
+    self.by-version."optparse"."1.0.4";
+  by-version."optparse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "optparse-1.0.4";
     src = [
       (fetchurl {
@@ -10624,30 +8579,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optparse".">= 1.0.3" or []);
+      (self.nativeDeps."optparse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optparse" ];
   };
-  full."osenv"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "osenv-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."osenv"."0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "osenv" ];
-  };
-  full."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  "optparse" = self.by-version."optparse"."1.0.4";
+  by-spec."optparse".">= 1.0.3" =
+    self.by-version."optparse"."1.0.4";
+  by-spec."osenv"."0" =
+    self.by-version."osenv"."0.0.3";
+  by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "osenv-0.0.3";
     src = [
       (fetchurl {
@@ -10656,14 +8600,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."osenv"."0.0.3" or []);
+      (self.nativeDeps."osenv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "osenv" ];
   };
-  full."over"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."osenv"."0.0.3" =
+    self.by-version."osenv"."0.0.3";
+  by-spec."over"."~0.0.5" =
+    self.by-version."over"."0.0.5";
+  by-version."over"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "over-0.0.5";
     src = [
       (fetchurl {
@@ -10672,31 +8620,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."over"."~0.0.5" or []);
+      (self.nativeDeps."over" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "over" ];
   };
-  full."owl-deepcopy"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "owl-deepcopy-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
-        sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."owl-deepcopy"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "owl-deepcopy" ];
-  };
-  "owl-deepcopy" = self.full."owl-deepcopy"."*";
-  full."owl-deepcopy"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."owl-deepcopy"."*" =
+    self.by-version."owl-deepcopy"."0.0.2";
+  by-version."owl-deepcopy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "owl-deepcopy-0.0.2";
     src = [
       (fetchurl {
@@ -10705,14 +8638,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."owl-deepcopy"."~0.0.1" or []);
+      (self.nativeDeps."owl-deepcopy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "owl-deepcopy" ];
   };
-  full."passport"."*" = lib.makeOverridable self.buildNodePackage {
+  "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.2";
+  by-spec."owl-deepcopy"."~0.0.1" =
+    self.by-version."owl-deepcopy"."0.0.2";
+  by-spec."passport"."*" =
+    self.by-version."passport"."0.1.17";
+  by-version."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage {
     name = "passport-0.1.17";
     src = [
       (fetchurl {
@@ -10721,71 +8659,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."*" or []);
+      (self.nativeDeps."passport" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."pause"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport" ];
   };
-  "passport" = self.full."passport"."*";
-  full."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."0.1.17" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  full."passport"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."~0.1.1" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  full."passport"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."~0.1.3" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  full."passport-http"."*" = lib.makeOverridable self.buildNodePackage {
+  "passport" = self.by-version."passport"."0.1.17";
+  by-spec."passport"."0.1.17" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport"."~0.1.1" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport"."~0.1.3" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport-http"."*" =
+    self.by-version."passport-http"."0.2.2";
+  by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "passport-http-0.2.2";
     src = [
       (fetchurl {
@@ -10794,17 +8686,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-http"."*" or []);
+      (self.nativeDeps."passport-http" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.3"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."passport"."0.1.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport-http" ];
   };
-  "passport-http" = self.full."passport-http"."*";
-  full."passport-local"."*" = lib.makeOverridable self.buildNodePackage {
+  "passport-http" = self.by-version."passport-http"."0.2.2";
+  by-spec."passport-local"."*" =
+    self.by-version."passport-local"."0.1.6";
+  by-version."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "passport-local-0.1.6";
     src = [
       (fetchurl {
@@ -10813,35 +8707,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-local"."*" or []);
+      (self.nativeDeps."passport-local" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."passport"."0.1.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport-local" ];
   };
-  "passport-local" = self.full."passport-local"."*";
-  full."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-local-0.1.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz";
-        sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport-local"."0.1.6" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport-local" ];
-  };
-  full."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  "passport-local" = self.by-version."passport-local"."0.1.6";
+  by-spec."passport-local"."0.1.6" =
+    self.by-version."passport-local"."0.1.6";
+  by-spec."pause"."0.0.1" =
+    self.by-version."pause"."0.0.1";
+  by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "pause-0.0.1";
     src = [
       (fetchurl {
@@ -10850,14 +8730,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pause"."0.0.1" or []);
+      (self.nativeDeps."pause" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pause" ];
   };
-  full."phantomjs"."~1.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."phantomjs"."~1.9" =
+    self.by-version."phantomjs"."1.9.2-2";
+  by-version."phantomjs"."1.9.2-2" = lib.makeOverridable self.buildNodePackage {
     name = "phantomjs-1.9.2-2";
     src = [
       (fetchurl {
@@ -10866,44 +8748,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9" or []);
+      (self.nativeDeps."phantomjs" or []);
     deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
+      self.by-version."adm-zip"."0.2.1"
+      self.by-version."kew"."0.1.7"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."npmconf"."0.0.24"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.0.3"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "phantomjs" ];
   };
-  full."phantomjs"."~1.9.1-2" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.2-2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
-        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9.1-2" or []);
-    deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "phantomjs" ];
-  };
-  full."pkginfo"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."phantomjs"."~1.9.1-2" =
+    self.by-version."phantomjs"."1.9.2-2";
+  by-spec."pkginfo"."0.2.x" =
+    self.by-version."pkginfo"."0.2.3";
+  by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "pkginfo-0.2.3";
     src = [
       (fetchurl {
@@ -10912,46 +8775,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.2.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pkginfo" ];
-  };
-  full."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pkginfo" ];
-  };
-  full."pkginfo"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.x" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
   };
-  full."pkginfo"."0.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."pkginfo"."0.3.0" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "pkginfo-0.3.0";
     src = [
       (fetchurl {
@@ -10960,14 +8793,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.x.x" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
   };
-  full."plist-native"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."pkginfo"."0.x.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."plist-native"."*" =
+    self.by-version."plist-native"."0.2.2";
+  by-version."plist-native"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "plist-native-0.2.2";
     src = [
       (fetchurl {
@@ -10976,16 +8815,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."plist-native"."*" or []);
+      (self.nativeDeps."plist-native" or []);
     deps = [
-      self.full."libxmljs"."~0.8.1"
+      self.by-version."libxmljs"."0.8.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "plist-native" ];
   };
-  "plist-native" = self.full."plist-native"."*";
-  full."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  "plist-native" = self.by-version."plist-native"."0.2.2";
+  by-spec."policyfile"."0.0.4" =
+    self.by-version."policyfile"."0.0.4";
+  by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "policyfile-0.0.4";
     src = [
       (fetchurl {
@@ -10994,14 +8835,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."policyfile"."0.0.4" or []);
+      (self.nativeDeps."policyfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "policyfile" ];
   };
-  full."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."posix-getopt"."1.0.0" =
+    self.by-version."posix-getopt"."1.0.0";
+  by-version."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "posix-getopt-1.0.0";
     src = [
       (fetchurl {
@@ -11010,14 +8853,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."posix-getopt"."1.0.0" or []);
+      (self.nativeDeps."posix-getopt" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "posix-getopt" ];
   };
-  full."promise"."~2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promise"."~2.0" =
+    self.by-version."promise"."2.0.0";
+  by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "promise-2.0.0";
     src = [
       (fetchurl {
@@ -11026,15 +8871,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promise"."~2.0" or []);
+      (self.nativeDeps."promise" or []);
     deps = [
-      self.full."is-promise"."~1"
+      self.by-version."is-promise"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promise" ];
   };
-  full."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."prompt"."0.2.11" =
+    self.by-version."prompt"."0.2.11";
+  by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "prompt-0.2.11";
     src = [
       (fetchurl {
@@ -11043,19 +8890,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.11" or []);
+      (self.nativeDeps."prompt" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.2.x"
-      self.full."winston"."0.6.x"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."revalidator"."0.1.5"
+      self.by-version."utile"."0.2.0"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
   };
-  full."prompt"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."prompt"."0.2.9" =
+    self.by-version."prompt"."0.2.9";
+  by-version."prompt"."0.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "prompt-0.2.9";
     src = [
       (fetchurl {
@@ -11064,19 +8913,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.9" or []);
+      (self.nativeDeps."prompt" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."revalidator"."0.1.5"
+      self.by-version."utile"."0.1.7"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
   };
-  full."promptly"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promptly"."~0.2.0" =
+    self.by-version."promptly"."0.2.0";
+  by-version."promptly"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "promptly-0.2.0";
     src = [
       (fetchurl {
@@ -11085,15 +8936,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promptly"."~0.2.0" or []);
+      (self.nativeDeps."promptly" or []);
     deps = [
-      self.full."read"."~1.0.4"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promptly" ];
   };
-  full."promzard"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promzard"."~0.2.0" =
+    self.by-version."promzard"."0.2.0";
+  by-version."promzard"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "promzard-0.2.0";
     src = [
       (fetchurl {
@@ -11102,15 +8955,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promzard"."~0.2.0" or []);
+      (self.nativeDeps."promzard" or []);
     deps = [
-      self.full."read"."1"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promzard" ];
   };
-  full."proto-list"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."proto-list"."~1.2.1" =
+    self.by-version."proto-list"."1.2.2";
+  by-version."proto-list"."1.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "proto-list-1.2.2";
     src = [
       (fetchurl {
@@ -11119,14 +8974,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."proto-list"."~1.2.1" or []);
+      (self.nativeDeps."proto-list" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "proto-list" ];
   };
-  full."ps-tree"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ps-tree"."0.0.x" =
+    self.by-version."ps-tree"."0.0.3";
+  by-version."ps-tree"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "ps-tree-0.0.3";
     src = [
       (fetchurl {
@@ -11135,15 +8992,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ps-tree"."0.0.x" or []);
+      (self.nativeDeps."ps-tree" or []);
     deps = [
-      self.full."event-stream"."~0.5"
+      self.by-version."event-stream"."0.5.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ps-tree" ];
   };
-  full."pullstream"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."pullstream"."~0.4.0" =
+    self.by-version."pullstream"."0.4.0";
+  by-version."pullstream"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "pullstream-0.4.0";
     src = [
       (fetchurl {
@@ -11152,34 +9011,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pullstream"."~0.4.0" or []);
+      (self.nativeDeps."pullstream" or []);
     deps = [
-      self.full."over"."~0.0.5"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."slice-stream"."0.0.0"
+      self.by-version."over"."0.0.5"
+      self.by-version."readable-stream"."1.0.17"
+      self.by-version."setimmediate"."1.0.1"
+      self.by-version."slice-stream"."0.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pullstream" ];
   };
-  full."q"."0.9.x" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."0.9.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."q"."0.9.x" =
+    self.by-version."q"."0.9.7";
+  by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
     name = "q-0.9.7";
     src = [
       (fetchurl {
@@ -11188,62 +9033,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."q".">= 0.0.1" or []);
+      (self.nativeDeps."q" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
   };
-  full."q"."~0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9.6" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."qs"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."q".">= 0.0.1" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9.2" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9.6" =
+    self.by-version."q"."0.9.7";
+  by-spec."qs"."0.4.x" =
+    self.by-version."qs"."0.4.2";
+  by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.4.2";
     src = [
       (fetchurl {
@@ -11252,14 +9059,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.4.x" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.1" =
+    self.by-version."qs"."0.5.1";
+  by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.1";
     src = [
       (fetchurl {
@@ -11268,14 +9077,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.1" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.2" =
+    self.by-version."qs"."0.5.2";
+  by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.2";
     src = [
       (fetchurl {
@@ -11284,14 +9095,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.2" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.5" =
+    self.by-version."qs"."0.5.5";
+  by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.5";
     src = [
       (fetchurl {
@@ -11300,14 +9113,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.5" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.6.5" =
+    self.by-version."qs"."0.6.5";
+  by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.6.5";
     src = [
       (fetchurl {
@@ -11316,30 +9131,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.6.5" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs".">= 0.4.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  full."qs"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs".">= 0.4.0" =
+    self.by-version."qs"."0.6.5";
+  by-spec."qs"."~0.5.0" =
+    self.by-version."qs"."0.5.6";
+  by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.6";
     src = [
       (fetchurl {
@@ -11348,46 +9151,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."~0.5.0" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."~0.5.4" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-        sha1 = "31b1ad058567651c526921506b9a8793911a0384";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs"."~0.5.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  full."qs"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs"."~0.6.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  full."rai"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."~0.5.4" =
+    self.by-version."qs"."0.5.6";
+  by-spec."qs"."~0.6.0" =
+    self.by-version."qs"."0.6.5";
+  by-spec."rai"."~0.1" =
+    self.by-version."rai"."0.1.7";
+  by-version."rai"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "rai-0.1.7";
     src = [
       (fetchurl {
@@ -11396,14 +9173,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rai"."~0.1" or []);
+      (self.nativeDeps."rai" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rai" ];
   };
-  full."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."range-parser"."0.0.4" =
+    self.by-version."range-parser"."0.0.4";
+  by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "range-parser-0.0.4";
     src = [
       (fetchurl {
@@ -11412,136 +9191,134 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."range-parser"."0.0.4" or []);
+      (self.nativeDeps."range-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
   };
-  full."raw-socket"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "raw-socket-1.2.2";
+  by-spec."raven"."~0.5.4" =
+    self.by-version."raven"."0.5.4";
+  by-version."raven"."0.5.4" = lib.makeOverridable self.buildNodePackage {
+    name = "raven-0.5.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
-        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
+        url = "http://registry.npmjs.org/raven/-/raven-0.5.4.tgz";
+        sha1 = "98cfd26d07dcb87d56d8236ffdb2675b9ca93754";
       })
     ];
     buildInputs =
-      (self.nativeDeps."raw-socket"."*" or []);
+      (self.nativeDeps."raven" or []);
     deps = [
+      self.by-version."node-uuid"."1.4.0"
+      self.by-version."raw-stacktrace"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "raw-socket" ];
+    passthru.names = [ "raven" ];
   };
-  full."rbytes"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "rbytes-1.0.0";
+  by-spec."raw-body"."0.0.3" =
+    self.by-version."raw-body"."0.0.3";
+  by-version."raw-body"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-body-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
-        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rbytes"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rbytes" ];
-  };
-  "rbytes" = self.full."rbytes"."*";
-  full."rc"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.0.tgz";
-        sha1 = "caffdaafc17e8608e50db0c6ee63f1c344d9ac58";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
+        sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."0.3.0" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-body" ];
   };
-  full."rc"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.1";
+  by-spec."raw-socket"."*" =
+    self.by-version."raw-socket"."1.2.2";
+  by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-socket-1.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.1.tgz";
-        sha1 = "1da1bef8cf8201cafd3725bd82b31d1cf7321248";
+        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
+        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."~0.3.0" or []);
+      (self.nativeDeps."raw-socket" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-socket" ];
   };
-  full."read"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."raw-stacktrace"."1.0.0" =
+    self.by-version."raw-stacktrace"."1.0.0";
+  by-version."raw-stacktrace"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-stacktrace-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/raw-stacktrace/-/raw-stacktrace-1.0.0.tgz";
+        sha1 = "f308881f17667785a9acd7c8fbd442e1b2acf1db";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1" or []);
+      (self.nativeDeps."raw-stacktrace" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."traceback"."0.3.0"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "raw-stacktrace" ];
   };
-  full."read"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."rbytes"."*" =
+    self.by-version."rbytes"."1.0.0";
+  by-version."rbytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "rbytes-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
+        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1.0.x" or []);
+      (self.nativeDeps."rbytes" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "rbytes" ];
   };
-  full."read"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  "rbytes" = self.by-version."rbytes"."1.0.0";
+  by-spec."rc"."~0.3.0" =
+    self.by-version."rc"."0.3.1";
+  by-version."rc"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "rc-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/rc/-/rc-0.3.1.tgz";
+        sha1 = "1da1bef8cf8201cafd3725bd82b31d1cf7321248";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.1" or []);
+      (self.nativeDeps."rc" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "rc" ];
   };
-  full."read"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rc"."~0.3.1" =
+    self.by-version."rc"."0.3.1";
+  by-spec."read"."1" =
+    self.by-version."read"."1.0.5";
+  by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "read-1.0.5";
     src = [
       (fetchurl {
@@ -11550,15 +9327,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.4" or []);
+      (self.nativeDeps."read" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."mute-stream"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read" ];
   };
-  full."read-installed"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."read"."1.0.x" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.1" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.4" =
+    self.by-version."read"."1.0.5";
+  by-spec."read-installed"."~0.2.2" =
+    self.by-version."read-installed"."0.2.4";
+  by-version."read-installed"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "read-installed-0.2.4";
     src = [
       (fetchurl {
@@ -11567,110 +9352,44 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-installed"."~0.2.2" or []);
+      (self.nativeDeps."read-installed" or []);
     deps = [
-      self.full."semver"."2"
-      self.full."slide"."~1.1.3"
-      self.full."read-package-json"."1"
-      self.full."graceful-fs"."~2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read-installed" ];
   };
-  full."read-package-json"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read-package-json"."1" or []);
-    deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read-package-json" ];
-  };
-  full."read-package-json"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
+  by-spec."read-package-json"."1" =
+    self.by-version."read-package-json"."1.1.4";
+  by-version."read-package-json"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "read-package-json-1.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
+        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.4.tgz";
+        sha1 = "c4effa9fac527deaee1cd84659c419693aa5294a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.0" or []);
+      (self.nativeDeps."read-package-json" or []);
     deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
+      self.by-version."glob"."3.2.6"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."normalize-package-data"."0.2.7"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read-package-json" ];
   };
-  full."read-package-json"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.3" or []);
-    deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read-package-json" ];
-  };
-  full."readable-stream"."1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readable-stream"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readable-stream"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."read-package-json"."~1.1.4" =
+    self.by-version."read-package-json"."1.1.4";
+  by-spec."readable-stream"."1.0" =
+    self.by-version."readable-stream"."1.0.17";
+  by-version."readable-stream"."1.0.17" = lib.makeOverridable self.buildNodePackage {
     name = "readable-stream-1.0.17";
     src = [
       (fetchurl {
@@ -11679,32 +9398,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readable-stream"."~1.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.1.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz";
-        sha1 = "d87130fbf8f9ee9c3b4058b3c58a3e30db2fcfdd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.8" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readable-stream"."~1.1.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."readable-stream"."~1.0.0" =
+    self.by-version."readable-stream"."1.0.17";
+  by-spec."readable-stream"."~1.0.2" =
+    self.by-version."readable-stream"."1.0.17";
+  by-spec."readable-stream"."~1.1.8" =
+    self.by-version."readable-stream"."1.1.9";
+  by-version."readable-stream"."1.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "readable-stream-1.1.9";
     src = [
       (fetchurl {
@@ -11713,16 +9420,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.9" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
+      self.by-version."core-util-is"."1.0.0"
+      self.by-version."debuglog"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readdirp"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."readable-stream"."~1.1.9" =
+    self.by-version."readable-stream"."1.1.9";
+  by-spec."readdirp"."~0.2.3" =
+    self.by-version."readdirp"."0.2.5";
+  by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "readdirp-0.2.5";
     src = [
       (fetchurl {
@@ -11731,15 +9442,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readdirp"."~0.2.3" or []);
+      (self.nativeDeps."readdirp" or []);
     deps = [
-      self.full."minimatch".">=0.2.4"
+      self.by-version."minimatch"."0.2.12"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readdirp" ];
   };
-  full."redeyed"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redeyed"."~0.4.0" =
+    self.by-version."redeyed"."0.4.2";
+  by-version."redeyed"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "redeyed-0.4.2";
     src = [
       (fetchurl {
@@ -11748,15 +9461,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redeyed"."~0.4.0" or []);
+      (self.nativeDeps."redeyed" or []);
     deps = [
-      self.full."esprima"."~1.0.0"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redeyed" ];
   };
-  full."redis"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redis"."*" =
+    self.by-version."redis"."0.9.0";
+  by-version."redis"."0.9.0" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.9.0";
     src = [
       (fetchurl {
@@ -11765,15 +9480,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."*" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  "redis" = self.full."redis"."*";
-  full."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+  "redis" = self.by-version."redis"."0.9.0";
+  by-spec."redis"."0.7.2" =
+    self.by-version."redis"."0.7.2";
+  by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.7.2";
     src = [
       (fetchurl {
@@ -11782,15 +9499,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.2" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
-      self.full."hiredis"."*"
+      self.by-version."hiredis"."0.1.15"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redis"."0.7.3" =
+    self.by-version."redis"."0.7.3";
+  by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.7.3";
     src = [
       (fetchurl {
@@ -11799,48 +9518,56 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.3" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis".">= 0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.9.0";
+  by-spec."redis".">= 0.6.6" =
+    self.by-version."redis"."0.9.0";
+  by-spec."reds"."0.1.4" =
+    self.by-version."reds"."0.1.4";
+  by-version."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "reds-0.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.9.0.tgz";
-        sha1 = "b0f5b9c5619b4f1784837718677212c1af33ee67";
+        url = "http://registry.npmjs.org/reds/-/reds-0.1.4.tgz";
+        sha1 = "a97819180c30f6ecd01cad03cecb574eaabb4bee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis".">= 0.6.6" or []);
+      (self.nativeDeps."reds" or []);
     deps = [
+      self.by-version."natural"."0.0.69"
+      self.by-version."redis"."0.9.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "redis" ];
+    passthru.names = [ "reds" ];
   };
-  full."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "reds-0.1.4";
+  by-spec."reduce-component"."1.0.1" =
+    self.by-version."reduce-component"."1.0.1";
+  by-version."reduce-component"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "reduce-component-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/reds/-/reds-0.1.4.tgz";
-        sha1 = "a97819180c30f6ecd01cad03cecb574eaabb4bee";
+        url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+        sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
       })
     ];
     buildInputs =
-      (self.nativeDeps."reds"."0.1.4" or []);
+      (self.nativeDeps."reduce-component" or []);
     deps = [
-      self.full."natural"."0.0.69"
-      self.full."redis".">= 0.6.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "reds" ];
+    passthru.names = [ "reduce-component" ];
   };
-  full."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."regexp-clone"."0.0.1" =
+    self.by-version."regexp-clone"."0.0.1";
+  by-version."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "regexp-clone-0.0.1";
     src = [
       (fetchurl {
@@ -11849,14 +9576,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."regexp-clone"."0.0.1" or []);
+      (self.nativeDeps."regexp-clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "regexp-clone" ];
   };
-  full."replace"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."replace"."~0.2.4" =
+    self.by-version."replace"."0.2.7";
+  by-version."replace"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "replace-0.2.7";
     src = [
       (fetchurl {
@@ -11865,45 +9594,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."replace"."~0.2.4" or []);
+      (self.nativeDeps."replace" or []);
     deps = [
-      self.full."nomnom"."1.6.x"
-      self.full."colors"."0.5.x"
-      self.full."minimatch"."~0.2.9"
+      self.by-version."nomnom"."1.6.2"
+      self.by-version."colors"."0.5.1"
+      self.by-version."minimatch"."0.2.12"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "replace" ];
   };
-  full."request"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."2" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."2 >=2.20.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2" =
+    self.by-version."request"."2.27.0";
+  by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.27.0";
     src = [
       (fetchurl {
@@ -11912,54 +9615,32 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2 >=2.20.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."qs"."0.6.5"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2 >=2.25.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."2 >=2.25.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2 >=2.20.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."2 >=2.25.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."2.16.2" =
+    self.by-version."request"."2.16.2";
+  by-version."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.16.2";
     src = [
       (fetchurl {
@@ -11968,25 +9649,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.2" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.0"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.16.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2.16.x" =
+    self.by-version."request"."2.16.6";
+  by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.16.6";
     src = [
       (fetchurl {
@@ -11995,25 +9678,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.x" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.4"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2.9.x" =
+    self.by-version."request"."2.9.203";
+  by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.9.203";
     src = [
       (fetchurl {
@@ -12022,97 +9707,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.9.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request".">=2.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request".">=2.12.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.16.6" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.16.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
-        sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.16.6" or []);
-    deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.21.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request".">=2.12.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."~2" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."~2.16.6" =
+    self.by-version."request"."2.16.6";
+  by-spec."request"."~2.21.0" =
+    self.by-version."request"."2.21.0";
+  by-version."request"."2.21.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.21.0";
     src = [
       (fetchurl {
@@ -12121,54 +9731,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.21.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.9.11"
-      self.full."hawk"."~0.13.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."0.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.22.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.22.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.22.0.tgz";
-        sha1 = "b883a769cc4a909571eb5004b344c43cf7e51592";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.22.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~0.13.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."0.0.8"
+      self.by-version."qs"."0.6.5"
+      self.by-version."json-stringify-safe"."4.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.9.11"
+      self.by-version."hawk"."0.13.1"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.25.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."~2.25.0" =
+    self.by-version."request"."2.25.0";
+  by-version."request"."2.25.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.25.0";
     src = [
       (fetchurl {
@@ -12177,54 +9761,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.25.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.27.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.27.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."qs"."0.6.5"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request-progress"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."~2.27.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request-progress"."~0.3.0" =
+    self.by-version."request-progress"."0.3.1";
+  by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "request-progress-0.3.1";
     src = [
       (fetchurl {
@@ -12233,15 +9793,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-progress"."~0.3.0" or []);
+      (self.nativeDeps."request-progress" or []);
     deps = [
-      self.full."throttleit"."~0.0.2"
+      self.by-version."throttleit"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request-progress" ];
   };
-  full."request-replay"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request-replay"."~0.2.0" =
+    self.by-version."request-replay"."0.2.0";
+  by-version."request-replay"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-replay-0.2.0";
     src = [
       (fetchurl {
@@ -12250,15 +9812,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-replay"."~0.2.0" or []);
+      (self.nativeDeps."request-replay" or []);
     deps = [
-      self.full."retry"."~0.6.0"
+      self.by-version."retry"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request-replay" ];
   };
-  full."requirejs"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."requirejs"."~2.1.0" =
+    self.by-version."requirejs"."2.1.9";
+  by-version."requirejs"."2.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "requirejs-2.1.9";
     src = [
       (fetchurl {
@@ -12267,14 +9831,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."requirejs"."~2.1.0" or []);
+      (self.nativeDeps."requirejs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "requirejs" ];
   };
-  full."resolve"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."resolve"."0.5.x" =
+    self.by-version."resolve"."0.5.1";
+  by-version."resolve"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "resolve-0.5.1";
     src = [
       (fetchurl {
@@ -12283,14 +9849,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."0.5.x" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
-  full."resolve"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."resolve"."~0.3.1" =
+    self.by-version."resolve"."0.3.1";
+  by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "resolve-0.3.1";
     src = [
       (fetchurl {
@@ -12299,14 +9867,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."~0.3.1" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
-  full."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."restify"."2.4.1" =
+    self.by-version."restify"."2.4.1";
+  by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "restify-2.4.1";
     src = [
       (fetchurl {
@@ -12315,47 +9885,33 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."restify"."2.4.1" or []);
+      (self.nativeDeps."restify" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."backoff"."2.1.0"
-      self.full."bunyan"."0.21.1"
-      self.full."deep-equal"."0.0.0"
-      self.full."formidable"."1.0.13"
-      self.full."http-signature"."0.9.11"
-      self.full."keep-alive-agent"."0.0.1"
-      self.full."lru-cache"."2.3.0"
-      self.full."mime"."1.2.9"
-      self.full."negotiator"."0.2.5"
-      self.full."node-uuid"."1.4.0"
-      self.full."once"."1.1.1"
-      self.full."qs"."0.5.5"
-      self.full."semver"."1.1.4"
-      self.full."spdy"."1.7.1"
-      self.full."verror"."1.3.6"
-      self.full."dtrace-provider"."0.2.8"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."backoff"."2.1.0"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."deep-equal"."0.0.0"
+      self.by-version."formidable"."1.0.13"
+      self.by-version."http-signature"."0.9.11"
+      self.by-version."keep-alive-agent"."0.0.1"
+      self.by-version."lru-cache"."2.3.0"
+      self.by-version."mime"."1.2.9"
+      self.by-version."negotiator"."0.2.5"
+      self.by-version."node-uuid"."1.4.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."qs"."0.5.5"
+      self.by-version."semver"."1.1.4"
+      self.by-version."spdy"."1.7.1"
+      self.by-version."verror"."1.3.6"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "restify" ];
   };
-  full."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "retry-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."retry"."0.6.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "retry" ];
-  };
-  full."retry"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."retry"."0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "retry-0.6.0";
     src = [
       (fetchurl {
@@ -12364,14 +9920,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."retry"."~0.6.0" or []);
+      (self.nativeDeps."retry" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
   };
-  full."revalidator"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."retry"."~0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-spec."revalidator"."0.1.x" =
+    self.by-version."revalidator"."0.1.5";
+  by-version."revalidator"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "revalidator-0.1.5";
     src = [
       (fetchurl {
@@ -12380,14 +9940,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."revalidator"."0.1.x" or []);
+      (self.nativeDeps."revalidator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "revalidator" ];
   };
-  full."rimraf"."1.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."1.x.x" =
+    self.by-version."rimraf"."1.0.9";
+  by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-1.0.9";
     src = [
       (fetchurl {
@@ -12396,31 +9958,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."1.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."2" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."2.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."2" =
+    self.by-version."rimraf"."2.2.2";
+  by-version."rimraf"."2.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.2.2";
     src = [
       (fetchurl {
@@ -12429,32 +9976,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."2.x.x" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."~2" or []);
-    deps = [
-      self.full."graceful-fs"."~2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."2.x.x" =
+    self.by-version."rimraf"."2.2.2";
+  by-spec."rimraf"."~2" =
+    self.by-version."rimraf"."2.2.2";
+  by-spec."rimraf"."~2.0.2" =
+    self.by-version."rimraf"."2.0.3";
+  by-version."rimraf"."2.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.0.3";
     src = [
       (fetchurl {
@@ -12463,32 +9999,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.0.2" or []);
-    deps = [
-      self.full."graceful-fs"."~1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."~2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."~2.1" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~1"
+      self.by-version."graceful-fs"."1.1.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."~2.1" =
+    self.by-version."rimraf"."2.1.4";
+  by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.1.4";
     src = [
       (fetchurl {
@@ -12497,32 +10018,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.1.4" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~1"
+      self.by-version."graceful-fs"."1.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."~2.2.0" or []);
-    deps = [
-      self.full."graceful-fs"."~2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."s3http"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."~2.1.4" =
+    self.by-version."rimraf"."2.1.4";
+  by-spec."rimraf"."~2.2.0" =
+    self.by-version."rimraf"."2.2.2";
+  by-spec."s3http"."*" =
+    self.by-version."s3http"."0.0.2";
+  by-version."s3http"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "s3http-0.0.2";
     src = [
       (fetchurl {
@@ -12531,18 +10041,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."s3http"."*" or []);
+      (self.nativeDeps."s3http" or []);
     deps = [
-      self.full."aws-sdk".">=1.2.0 <2"
-      self.full."commander"."0.5.1"
-      self.full."http-auth"."1.2.7"
+      self.by-version."aws-sdk"."1.10.0"
+      self.by-version."commander"."0.5.1"
+      self.by-version."http-auth"."1.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "s3http" ];
   };
-  "s3http" = self.full."s3http"."*";
-  full."sauce-connect-launcher"."~0.1.10" = lib.makeOverridable self.buildNodePackage {
+  "s3http" = self.by-version."s3http"."0.0.2";
+  by-spec."sauce-connect-launcher"."~0.1.10" =
+    self.by-version."sauce-connect-launcher"."0.1.11";
+  by-version."sauce-connect-launcher"."0.1.11" = lib.makeOverridable self.buildNodePackage {
     name = "sauce-connect-launcher-0.1.11";
     src = [
       (fetchurl {
@@ -12551,17 +10063,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sauce-connect-launcher"."~0.1.10" or []);
+      (self.nativeDeps."sauce-connect-launcher" or []);
     deps = [
-      self.full."lodash"."~1.3.1"
-      self.full."async"."~0.2.9"
-      self.full."adm-zip"."~0.4.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."adm-zip"."0.4.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sauce-connect-launcher" ];
   };
-  full."sax"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sax"."0.5.x" =
+    self.by-version."sax"."0.5.5";
+  by-version."sax"."0.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "sax-0.5.5";
     src = [
       (fetchurl {
@@ -12570,30 +10084,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sax"."0.5.x" or []);
+      (self.nativeDeps."sax" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
   };
-  full."sax".">=0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "sax-0.5.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.5.5.tgz";
-        sha1 = "b1ec13d77397248d059bcc18bb9530d8210bb5d3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sax".">=0.4.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sax" ];
-  };
-  full."selenium-webdriver"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sax".">=0.4.2" =
+    self.by-version."sax"."0.5.5";
+  by-spec."selenium-webdriver"."*" =
+    self.by-version."selenium-webdriver"."2.37.0";
+  by-version."selenium-webdriver"."2.37.0" = lib.makeOverridable self.buildNodePackage {
     name = "selenium-webdriver-2.37.0";
     src = [
       (fetchurl {
@@ -12602,32 +10104,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."selenium-webdriver"."*" or []);
+      (self.nativeDeps."selenium-webdriver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "selenium-webdriver" ];
   };
-  "selenium-webdriver" = self.full."selenium-webdriver"."*";
-  full."semver"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.37.0";
+  by-spec."semver"."*" =
+    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.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+        sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."*" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  "semver" = self.full."semver"."*";
-  full."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  "semver" = self.by-version."semver"."2.2.1";
+  by-spec."semver"."1.1.0" =
+    self.by-version."semver"."1.1.0";
+  by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.0";
     src = [
       (fetchurl {
@@ -12636,14 +10142,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."1.1.0" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-version."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.4";
     src = [
       (fetchurl {
@@ -12652,110 +10160,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."1.1.4" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.8.tgz";
-        sha1 = "f5c28ba4a6d56bd1d9dbe34aed288d69366a73c6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2.0.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver".">=2.0.10 <3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver".">=2.0.10 <3.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~1.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~1.1.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."2" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."2.x" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver".">=2.0.10 <3.0.0" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."^2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."~1.1.0" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~2.0.5" =
+    self.by-version."semver"."2.0.11";
+  by-version."semver"."2.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.0.11";
     src = [
       (fetchurl {
@@ -12764,46 +10190,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.0.0" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."~2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.0.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.0.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."~2.1.0" =
+    self.by-version."semver"."2.1.0";
+  by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.1.0";
     src = [
       (fetchurl {
@@ -12812,30 +10208,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.1" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."send"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."~2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."send"."*" =
+    self.by-version."send"."0.1.4";
+  by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "send-0.1.4";
     src = [
       (fetchurl {
@@ -12844,18 +10228,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."*" or []);
+      (self.nativeDeps."send" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."debug"."0.7.3"
+      self.by-version."mime"."1.2.11"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  full."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."send"."0.1.0" =
+    self.by-version."send"."0.1.0";
+  by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "send-0.1.0";
     src = [
       (fetchurl {
@@ -12864,58 +10250,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."0.1.0" or []);
-    deps = [
-      self.full."debug"."*"
-      self.full."mime"."1.2.6"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  full."send"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.1.tgz";
-        sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send"."0.1.1" or []);
+      (self.nativeDeps."send" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."debug"."0.7.3"
+      self.by-version."mime"."1.2.6"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  full."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
-        sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send"."0.1.4" or []);
-    deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  full."sequence"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."send"."0.1.4" =
+    self.by-version."send"."0.1.4";
+  by-spec."sequence"."*" =
+    self.by-version."sequence"."2.2.1";
+  by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "sequence-2.2.1";
     src = [
       (fetchurl {
@@ -12924,30 +10274,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sequence"."*" or []);
+      (self.nativeDeps."sequence" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sequence" ];
   };
-  full."sequence".">= 2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sequence-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
-        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sequence".">= 2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sequence" ];
-  };
-  full."setimmediate"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sequence".">= 2.2.1" =
+    self.by-version."sequence"."2.2.1";
+  by-spec."setimmediate"."~1.0.1" =
+    self.by-version."setimmediate"."1.0.1";
+  by-version."setimmediate"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "setimmediate-1.0.1";
     src = [
       (fetchurl {
@@ -12956,31 +10294,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."setimmediate"."~1.0.1" or []);
+      (self.nativeDeps."setimmediate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "setimmediate" ];
   };
-  full."sha"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sha-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sha/-/sha-1.0.1.tgz";
-        sha1 = "9b87a92113103e7406f7e7ef00006f3fa1975122";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sha"."~1.0.1" or []);
-    deps = [
-      self.full."graceful-fs"."1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sha" ];
-  };
-  full."sha"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sha"."~1.2.1" =
+    self.by-version."sha"."1.2.3";
+  by-version."sha"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "sha-1.2.3";
     src = [
       (fetchurl {
@@ -12989,32 +10312,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sha"."~1.2.1" or []);
+      (self.nativeDeps."sha" or []);
     deps = [
-      self.full."graceful-fs"."2"
-      self.full."readable-stream"."1.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sha" ];
   };
-  full."shelljs"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "shelljs-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
-        sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."shelljs"."0.1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "shelljs" ];
-  };
-  full."shelljs"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."shelljs"."0.1.x" =
+    self.by-version."shelljs"."0.1.4";
+  by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "shelljs-0.1.4";
     src = [
       (fetchurl {
@@ -13023,31 +10332,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."shelljs"."~0.1.4" or []);
+      (self.nativeDeps."shelljs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "shelljs" ];
   };
-  full."should"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "should-2.0.1";
+  by-spec."shelljs"."~0.1.4" =
+    self.by-version."shelljs"."0.1.4";
+  by-spec."should"."*" =
+    self.by-version."should"."2.0.2";
+  by-version."should"."2.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "should-2.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/should/-/should-2.0.1.tgz";
-        sha1 = "d244c90bb919f3e51dca472ef7d93c244eb7b79a";
+        url = "http://registry.npmjs.org/should/-/should-2.0.2.tgz";
+        sha1 = "df48464e0804aa5db723277bb30a998ebc8a0857";
       })
     ];
     buildInputs =
-      (self.nativeDeps."should"."*" or []);
+      (self.nativeDeps."should" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "should" ];
   };
-  "should" = self.full."should"."*";
-  full."sigmund"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  "should" = self.by-version."should"."2.0.2";
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.0";
+  by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "sigmund-1.0.0";
     src = [
       (fetchurl {
@@ -13056,14 +10371,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sigmund"."~1.0.0" or []);
+      (self.nativeDeps."sigmund" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sigmund" ];
   };
-  full."signals"."<2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."signals"."<2.0" =
+    self.by-version."signals"."1.0.0";
+  by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "signals-1.0.0";
     src = [
       (fetchurl {
@@ -13072,64 +10389,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."signals"."<2.0" or []);
+      (self.nativeDeps."signals" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "signals" ];
   };
-  full."signals".">0.7 <2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
+  by-spec."signals".">0.7 <2.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."signals"."~1.0.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."simplesmtp".">= 0.1.22" =
+    self.by-version."simplesmtp"."0.3.13";
+  by-version."simplesmtp"."0.3.13" = lib.makeOverridable self.buildNodePackage {
+    name = "simplesmtp-0.3.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
+        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.13.tgz";
+        sha1 = "87d5280f04f4a0003674daf399b442e807bd7eee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."signals".">0.7 <2.0" or []);
+      (self.nativeDeps."simplesmtp" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "signals" ];
-  };
-  full."signals"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."signals"."~1.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "signals" ];
-  };
-  full."simplesmtp".">= 0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "simplesmtp-0.3.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.10.tgz";
-        sha1 = "f395f4b118de45f82ac4fdae4bd88f12dc326f5d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."simplesmtp".">= 0.1.22" or []);
-    deps = [
-      self.full."rai"."~0.1"
-      self.full."xoauth2"."~0.1"
+      self.by-version."rai"."0.1.7"
+      self.by-version."xoauth2"."0.1.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "simplesmtp" ];
   };
-  full."slice-stream"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slice-stream"."0.0.0" =
+    self.by-version."slice-stream"."0.0.0";
+  by-version."slice-stream"."0.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "slice-stream-0.0.0";
     src = [
       (fetchurl {
@@ -13138,15 +10431,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."slice-stream"."0.0.0" or []);
+      (self.nativeDeps."slice-stream" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "slice-stream" ];
   };
-  full."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.3" =
+    self.by-version."sliced"."0.0.3";
+  by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.3";
     src = [
       (fetchurl {
@@ -13155,14 +10450,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.3" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.4" =
+    self.by-version."sliced"."0.0.4";
+  by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.4";
     src = [
       (fetchurl {
@@ -13171,14 +10468,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.4" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.5" =
+    self.by-version."sliced"."0.0.5";
+  by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.5";
     src = [
       (fetchurl {
@@ -13187,46 +10486,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.5" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."slide"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slide"."~1.1.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
-  full."slide"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slide"."~1.1.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
-  full."slide"."~1.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slide"."~1.1.3" =
+    self.by-version."slide"."1.1.5";
+  by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "slide-1.1.5";
     src = [
       (fetchurl {
@@ -13235,14 +10504,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."slide"."~1.1.5" or []);
+      (self.nativeDeps."slide" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "slide" ];
   };
-  full."smartdc"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slide"."~1.1.5" =
+    self.by-version."slide"."1.1.5";
+  by-spec."smartdc"."*" =
+    self.by-version."smartdc"."7.1.1";
+  by-version."smartdc"."7.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-7.1.1";
     src = [
       (fetchurl {
@@ -13251,22 +10524,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc"."*" or []);
+      (self.nativeDeps."smartdc" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."lru-cache"."2.2.0"
-      self.full."nopt"."2.0.0"
-      self.full."restify"."2.4.1"
-      self.full."bunyan"."0.21.1"
-      self.full."clone"."0.1.6"
-      self.full."smartdc-auth"."1.0.1"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."lru-cache"."2.2.0"
+      self.by-version."nopt"."2.0.0"
+      self.by-version."restify"."2.4.1"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."clone"."0.1.6"
+      self.by-version."smartdc-auth"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "smartdc" ];
   };
-  "smartdc" = self.full."smartdc"."*";
-  full."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+  "smartdc" = self.by-version."smartdc"."7.1.1";
+  by-spec."smartdc-auth"."1.0.1" =
+    self.by-version."smartdc-auth"."1.0.1";
+  by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-auth-1.0.1";
     src = [
       (fetchurl {
@@ -13275,19 +10550,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc-auth"."1.0.1" or []);
+      (self.nativeDeps."smartdc-auth" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."clone"."0.1.5"
-      self.full."ssh-agent"."0.2.1"
-      self.full."once"."1.1.1"
-      self.full."vasync"."1.3.3"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."clone"."0.1.5"
+      self.by-version."ssh-agent"."0.2.1"
+      self.by-version."once"."1.1.1"
+      self.by-version."vasync"."1.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "smartdc-auth" ];
   };
-  full."sntp"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sntp"."0.1.x" =
+    self.by-version."sntp"."0.1.4";
+  by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "sntp-0.1.4";
     src = [
       (fetchurl {
@@ -13296,15 +10573,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.1.x" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
   };
-  full."sntp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "sntp-0.2.4";
     src = [
       (fetchurl {
@@ -13313,15 +10592,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.2.x" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
-      self.full."hoek"."0.9.x"
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
   };
-  full."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."0.9.14" =
+    self.by-version."socket.io"."0.9.14";
+  by-version."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-0.9.14";
     src = [
       (fetchurl {
@@ -13330,58 +10611,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."0.9.14" or []);
-    deps = [
-      self.full."socket.io-client"."0.9.11"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
-  };
-  full."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io"."0.9.16" or []);
-    deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
-  };
-  full."socket.io"."~0.9.13" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.13" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."socket.io-client"."0.9.11"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
   };
-  full."socket.io"."~0.9.14" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."0.9.16" =
+    self.by-version."socket.io"."0.9.16";
+  by-version."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-0.9.16";
     src = [
       (fetchurl {
@@ -13390,18 +10633,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.14" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."socket.io-client"."0.9.16"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
   };
-  full."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."~0.9.13" =
+    self.by-version."socket.io"."0.9.16";
+  by-spec."socket.io"."~0.9.14" =
+    self.by-version."socket.io"."0.9.16";
+  by-spec."socket.io-client"."0.9.11" =
+    self.by-version."socket.io-client"."0.9.11";
+  by-version."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-client-0.9.11";
     src = [
       (fetchurl {
@@ -13410,18 +10659,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.11" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
   };
-  full."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io-client"."0.9.16" =
+    self.by-version."socket.io-client"."0.9.16";
+  by-version."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-client-0.9.16";
     src = [
       (fetchurl {
@@ -13430,18 +10681,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.16" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
   };
-  full."sockjs"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sockjs"."*" =
+    self.by-version."sockjs"."0.3.8";
+  by-version."sockjs"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "sockjs-0.3.8";
     src = [
       (fetchurl {
@@ -13450,69 +10703,45 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sockjs"."*" or []);
+      (self.nativeDeps."sockjs" or []);
     deps = [
-      self.full."node-uuid"."1.3.3"
-      self.full."faye-websocket"."0.7.0"
+      self.by-version."node-uuid"."1.3.3"
+      self.by-version."faye-websocket"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sockjs" ];
   };
-  "sockjs" = self.full."sockjs"."*";
-  full."source-map"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
+  "sockjs" = self.by-version."sockjs"."0.3.8";
+  by-spec."source-map"."*" =
+    self.by-version."source-map"."0.1.31";
+  by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "source-map-0.1.31";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
+        sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61";
       })
     ];
     buildInputs =
-      (self.nativeDeps."source-map"."*" or []);
+      (self.nativeDeps."source-map" or []);
     deps = [
-      self.full."amdefine".">=0.0.4"
+      self.by-version."amdefine"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
   };
-  "source-map" = self.full."source-map"."*";
-  full."source-map".">= 0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map".">= 0.1.2" or []);
-    deps = [
-      self.full."amdefine".">=0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
-  };
-  full."source-map"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map"."~0.1.7" or []);
-    deps = [
-      self.full."amdefine".">=0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
-  };
-  full."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
+  "source-map" = self.by-version."source-map"."0.1.31";
+  by-spec."source-map"."0.1.x" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."source-map".">= 0.1.2" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."source-map"."~0.1.7" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."spdy"."1.7.1" =
+    self.by-version."spdy"."1.7.1";
+  by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "spdy-1.7.1";
     src = [
       (fetchurl {
@@ -13521,14 +10750,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."spdy"."1.7.1" or []);
+      (self.nativeDeps."spdy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "spdy" ];
   };
-  full."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ssh-agent"."0.2.1" =
+    self.by-version."ssh-agent"."0.2.1";
+  by-version."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "ssh-agent-0.2.1";
     src = [
       (fetchurl {
@@ -13537,33 +10768,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh-agent"."0.2.1" or []);
+      (self.nativeDeps."ssh-agent" or []);
     deps = [
-      self.full."ctype"."0.5.0"
-      self.full."posix-getopt"."1.0.0"
+      self.by-version."ctype"."0.5.0"
+      self.by-version."posix-getopt"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ssh-agent" ];
   };
-  full."ssh2"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "ssh2-0.2.8";
+  by-spec."ssh2"."~0.2.12" =
+    self.by-version."ssh2"."0.2.12";
+  by-version."ssh2"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+    name = "ssh2-0.2.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.8.tgz";
-        sha1 = "50acd6d7a7fb4da18ef4364737bb9a5066bf689d";
+        url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.12.tgz";
+        sha1 = "38ba81c58d6a3e9af1b27548f1819266b3a39c4a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh2"."0.2.8" or []);
+      (self.nativeDeps."ssh2" or []);
     deps = [
-      self.full."streamsearch"."0.1.2"
+      self.by-version."streamsearch"."0.1.2"
+      self.by-version."asn1"."0.1.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ssh2" ];
   };
-  full."stack-trace"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.7";
+  by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "stack-trace-0.0.7";
     src = [
       (fetchurl {
@@ -13572,14 +10808,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stack-trace"."0.0.x" or []);
+      (self.nativeDeps."stack-trace" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stack-trace" ];
   };
-  full."statsd"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."statsd"."*" =
+    self.by-version."statsd"."0.6.0";
+  by-version."statsd"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "statsd-0.6.0";
     src = [
       (fetchurl {
@@ -13588,17 +10826,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."statsd"."*" or []);
+      (self.nativeDeps."statsd" or []);
     deps = [
-      self.full."node-syslog"."1.1.3"
-      self.full."winser"."=0.0.11"
+      self.by-version."node-syslog"."1.1.3"
+      self.by-version."winser"."0.0.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "statsd" ];
   };
-  "statsd" = self.full."statsd"."*";
-  full."stream-counter"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "statsd" = self.by-version."statsd"."0.6.0";
+  by-spec."stream-counter"."~0.1.0" =
+    self.by-version."stream-counter"."0.1.0";
+  by-version."stream-counter"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "stream-counter-0.1.0";
     src = [
       (fetchurl {
@@ -13607,15 +10847,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.1.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-counter"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stream-counter"."~0.2.0" =
+    self.by-version."stream-counter"."0.2.0";
+  by-version."stream-counter"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "stream-counter-0.2.0";
     src = [
       (fetchurl {
@@ -13624,15 +10866,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.2.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.1.8"
+      self.by-version."readable-stream"."1.1.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-splitter-transform"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stream-splitter-transform"."*" =
+    self.by-version."stream-splitter-transform"."0.0.3";
+  by-version."stream-splitter-transform"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "stream-splitter-transform-0.0.3";
     src = [
       (fetchurl {
@@ -13641,16 +10885,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-splitter-transform"."*" or []);
+      (self.nativeDeps."stream-splitter-transform" or []);
     deps = [
-      self.full."buffertools".">=1.1.1 <2.0.0"
+      self.by-version."buffertools"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-splitter-transform" ];
   };
-  "stream-splitter-transform" = self.full."stream-splitter-transform"."*";
-  full."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+  "stream-splitter-transform" = self.by-version."stream-splitter-transform"."0.0.3";
+  by-spec."streamsearch"."0.1.2" =
+    self.by-version."streamsearch"."0.1.2";
+  by-version."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "streamsearch-0.1.2";
     src = [
       (fetchurl {
@@ -13659,14 +10905,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."streamsearch"."0.1.2" or []);
+      (self.nativeDeps."streamsearch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "streamsearch" ];
   };
-  full."stringify-object"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stringify-object"."~0.1.4" =
+    self.by-version."stringify-object"."0.1.7";
+  by-version."stringify-object"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "stringify-object-0.1.7";
     src = [
       (fetchurl {
@@ -13675,14 +10923,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stringify-object"."~0.1.4" or []);
+      (self.nativeDeps."stringify-object" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stringify-object" ];
   };
-  full."strong-data-uri"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."strong-data-uri"."~0.1.0" =
+    self.by-version."strong-data-uri"."0.1.0";
+  by-version."strong-data-uri"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "strong-data-uri-0.1.0";
     src = [
       (fetchurl {
@@ -13691,36 +10941,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."strong-data-uri"."~0.1.0" or []);
+      (self.nativeDeps."strong-data-uri" or []);
     deps = [
-      self.full."truncate"."~1.0.2"
+      self.by-version."truncate"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "strong-data-uri" ];
   };
-  full."stylus"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.38.0";
+  by-spec."stylus"."*" =
+    self.by-version."stylus"."0.40.0";
+  by-version."stylus"."0.40.0" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.40.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.38.0.tgz";
-        sha1 = "6bd0581db0ee0491251639d338685f7232ca0610";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.40.0.tgz";
+        sha1 = "497b6242f3952417482acad65627a6988125b634";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."*" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
-      self.full."sax"."0.5.x"
+      self.by-version."cssom"."0.2.5"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.7.3"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  "stylus" = self.full."stylus"."*";
-  full."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage {
+  "stylus" = self.by-version."stylus"."0.40.0";
+  by-spec."stylus"."0.27.2" =
+    self.by-version."stylus"."0.27.2";
+  by-version."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage {
     name = "stylus-0.27.2";
     src = [
       (fetchurl {
@@ -13729,17 +10983,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."0.27.2" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
+      self.by-version."cssom"."0.2.5"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  full."sudo-block"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  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 = "sudo-block-0.2.1";
     src = [
       (fetchurl {
@@ -13748,37 +11004,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sudo-block"."~0.2.0" or []);
+      (self.nativeDeps."sudo-block" or []);
     deps = [
-      self.full."chalk"."~0.1.1"
+      self.by-version."chalk"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sudo-block" ];
   };
-  full."superagent"."0.14.7" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.14.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.14.7.tgz";
-        sha1 = "5740625d9c6343381b03b2ff95a3c988415fc406";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."superagent"."0.14.7" or []);
-    deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "superagent" ];
-  };
-  full."superagent"."0.15.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."superagent"."0.15.1" =
+    self.by-version."superagent"."0.15.1";
+  by-version."superagent"."0.15.1" = lib.makeOverridable self.buildNodePackage {
     name = "superagent-0.15.1";
     src = [
       (fetchurl {
@@ -13787,21 +11023,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."0.15.1" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
-      self.full."debug"."~0.7.2"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.9"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."1.0.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
+      self.by-version."debug"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."superagent"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."superagent"."~0.13.0" =
+    self.by-version."superagent"."0.13.0";
+  by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage {
     name = "superagent-0.13.0";
     src = [
       (fetchurl {
@@ -13810,73 +11048,89 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."~0.13.0" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.5.2"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."0.0.6"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
+      self.by-version."qs"."0.5.2"
+      self.by-version."formidable"."1.0.9"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."0.0.6"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."supertest"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "supertest-0.8.0";
+  by-spec."superagent"."~0.15.7" =
+    self.by-version."superagent"."0.15.7";
+  by-version."superagent"."0.15.7" = lib.makeOverridable self.buildNodePackage {
+    name = "superagent-0.15.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/supertest/-/supertest-0.8.0.tgz";
-        sha1 = "c8dd008358ed60175cfd4dfab0ab1af81d0dc55b";
+        url = "http://registry.npmjs.org/superagent/-/superagent-0.15.7.tgz";
+        sha1 = "095c70b8afffbc072f1458f39684d4854d6333a3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."supertest"."*" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."superagent"."0.15.1"
-      self.full."methods"."0.0.1"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.14"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."1.0.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
+      self.by-version."debug"."0.7.3"
+      self.by-version."reduce-component"."1.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "supertest" ];
+    passthru.names = [ "superagent" ];
   };
-  "supertest" = self.full."supertest"."*";
-  full."swig"."0.14.x" = lib.makeOverridable self.buildNodePackage {
-    name = "swig-0.14.0";
+  by-spec."supertest"."*" =
+    self.by-version."supertest"."0.8.1";
+  by-version."supertest"."0.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "supertest-0.8.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
-        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+        url = "http://registry.npmjs.org/supertest/-/supertest-0.8.1.tgz";
+        sha1 = "be792b92481d8e33a4ebe8907495c5192387d101";
       })
     ];
     buildInputs =
-      (self.nativeDeps."swig"."0.14.x" or []);
+      (self.nativeDeps."supertest" or []);
     deps = [
-      self.full."underscore".">=1.1.7"
+      self.by-version."superagent"."0.15.1"
+      self.by-version."methods"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "swig" ];
+    passthru.names = [ "supertest" ];
   };
-  "swig" = self.full."swig"."0.14.x";
-  full."sylvester".">= 0.0.12" = lib.makeOverridable self.buildNodePackage {
-    name = "sylvester-0.0.21";
+  "supertest" = self.by-version."supertest"."0.8.1";
+  by-spec."swig"."0.14.x" =
+    self.by-version."swig"."0.14.0";
+  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "swig-0.14.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
-        sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
+        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.12" or []);
+      (self.nativeDeps."swig" or []);
     deps = [
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sylvester" ];
+    passthru.names = [ "swig" ];
   };
-  full."sylvester".">= 0.0.8" = lib.makeOverridable self.buildNodePackage {
+  "swig" = self.by-version."swig"."0.14.0";
+  by-spec."sylvester".">= 0.0.12" =
+    self.by-version."sylvester"."0.0.21";
+  by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage {
     name = "sylvester-0.0.21";
     src = [
       (fetchurl {
@@ -13885,14 +11139,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.8" or []);
+      (self.nativeDeps."sylvester" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sylvester" ];
   };
-  full."tar"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sylvester".">= 0.0.8" =
+    self.by-version."sylvester"."0.0.21";
+  by-spec."tar"."*" =
+    self.by-version."tar"."0.1.18";
+  by-version."tar"."0.1.18" = lib.makeOverridable self.buildNodePackage {
     name = "tar-0.1.18";
     src = [
       (fetchurl {
@@ -13901,37 +11159,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."*" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.24"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  "tar" = self.full."tar"."*";
-  full."tar"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."0" or []);
-    deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
+  "tar" = self.by-version."tar"."0.1.18";
+  by-spec."tar"."0" =
+    self.by-version."tar"."0.1.18";
+  by-spec."tar"."0.1.17" =
+    self.by-version."tar"."0.1.17";
+  by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
     name = "tar-0.1.17";
     src = [
       (fetchurl {
@@ -13940,91 +11183,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."0.1.17" or []);
-    deps = [
-      self.full."inherits"."1.x"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."~0.1.17" or []);
-    deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."~0.1.18" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.24"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  full."taskgroup"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "taskgroup-3.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/taskgroup/-/taskgroup-3.2.3.tgz";
-        sha1 = "5bbfa9fb0312f04251140f2f858f8f4ee0086958";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."taskgroup"."~3.2.0" or []);
-    deps = [
-      self.full."ambi"."~2.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "taskgroup" ];
-  };
-  full."temp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "temp-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."temp"."*" or []);
-    deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "temp" ];
-  };
-  "temp" = self.full."temp"."*";
-  full."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tar"."~0.1.17" =
+    self.by-version."tar"."0.1.18";
+  by-spec."tar"."~0.1.18" =
+    self.by-version."tar"."0.1.18";
+  by-spec."temp"."*" =
+    self.by-version."temp"."0.6.0";
+  by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "temp-0.6.0";
     src = [
       (fetchurl {
@@ -14033,16 +11208,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."temp"."0.6.0" or []);
+      (self.nativeDeps."temp" or []);
     deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "temp" ];
   };
-  full."text-table"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  "temp" = self.by-version."temp"."0.6.0";
+  by-spec."temp"."0.6.0" =
+    self.by-version."temp"."0.6.0";
+  by-spec."text-table"."~0.1.1" =
+    self.by-version."text-table"."0.1.1";
+  by-version."text-table"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "text-table-0.1.1";
     src = [
       (fetchurl {
@@ -14051,14 +11231,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."text-table"."~0.1.1" or []);
+      (self.nativeDeps."text-table" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "text-table" ];
   };
-  full."throttleit"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."throttleit"."~0.0.2" =
+    self.by-version."throttleit"."0.0.2";
+  by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "throttleit-0.0.2";
     src = [
       (fetchurl {
@@ -14067,14 +11249,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."throttleit"."~0.0.2" or []);
+      (self.nativeDeps."throttleit" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "throttleit" ];
   };
-  full."timespan"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."timespan"."2.0.1" =
+    self.by-version."timespan"."2.0.1";
+  by-version."timespan"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "timespan-2.0.1";
     src = [
       (fetchurl {
@@ -14083,14 +11267,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."timespan"."2.0.1" or []);
+      (self.nativeDeps."timespan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timespan" ];
   };
-  full."timezone"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."timezone"."*" =
+    self.by-version."timezone"."0.0.23";
+  by-version."timezone"."0.0.23" = lib.makeOverridable self.buildNodePackage {
     name = "timezone-0.0.23";
     src = [
       (fetchurl {
@@ -14099,15 +11285,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."timezone"."*" or []);
+      (self.nativeDeps."timezone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timezone" ];
   };
-  "timezone" = self.full."timezone"."*";
-  full."tinycolor"."0.x" = lib.makeOverridable self.buildNodePackage {
+  "timezone" = self.by-version."timezone"."0.0.23";
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "tinycolor-0.0.1";
     src = [
       (fetchurl {
@@ -14116,14 +11304,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tinycolor"."0.x" or []);
+      (self.nativeDeps."tinycolor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tinycolor" ];
   };
-  full."tmp"."~0.0.20" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tmp"."~0.0.20" =
+    self.by-version."tmp"."0.0.21";
+  by-version."tmp"."0.0.21" = lib.makeOverridable self.buildNodePackage {
     name = "tmp-0.0.21";
     src = [
       (fetchurl {
@@ -14132,14 +11322,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tmp"."~0.0.20" or []);
+      (self.nativeDeps."tmp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tmp" ];
   };
-  full."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."traceback".">=0.3.0 && < 0.4" =
+    self.by-version."traceback"."0.3.0";
+  by-version."traceback"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "traceback-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/traceback/-/traceback-0.3.0.tgz";
+        sha1 = "4e147f07cd332fbd0330ba510b942a5c9256a0ab";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."traceback" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "traceback" ];
+  };
+  by-spec."transformers"."2.1.0" =
+    self.by-version."transformers"."2.1.0";
+  by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "transformers-2.1.0";
     src = [
       (fetchurl {
@@ -14148,17 +11358,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."transformers"."2.1.0" or []);
+      (self.nativeDeps."transformers" or []);
     deps = [
-      self.full."promise"."~2.0"
-      self.full."css"."~1.0.8"
-      self.full."uglify-js"."~2.2.5"
+      self.by-version."promise"."2.0.0"
+      self.by-version."css"."1.0.8"
+      self.by-version."uglify-js"."2.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "transformers" ];
   };
-  full."traverse".">=0.3.0 <0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."traverse".">=0.3.0 <0.4" =
+    self.by-version."traverse"."0.3.9";
+  by-version."traverse"."0.3.9" = lib.makeOverridable self.buildNodePackage {
     name = "traverse-0.3.9";
     src = [
       (fetchurl {
@@ -14167,14 +11379,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."traverse".">=0.3.0 <0.4" or []);
+      (self.nativeDeps."traverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "traverse" ];
   };
-  full."truncate"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."truncate"."~1.0.2" =
+    self.by-version."truncate"."1.0.2";
+  by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "truncate-1.0.2";
     src = [
       (fetchurl {
@@ -14183,14 +11397,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."truncate"."~1.0.2" or []);
+      (self.nativeDeps."truncate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "truncate" ];
   };
-  full."tunnel-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tunnel-agent"."~0.2.0" =
+    self.by-version."tunnel-agent"."0.2.0";
+  by-version."tunnel-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "tunnel-agent-0.2.0";
     src = [
       (fetchurl {
@@ -14199,14 +11415,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.2.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."tunnel-agent"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tunnel-agent"."~0.3.0" =
+    self.by-version."tunnel-agent"."0.3.0";
+  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "tunnel-agent-0.3.0";
     src = [
       (fetchurl {
@@ -14215,14 +11433,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.3.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."type-detect"."0.1.1" =
+    self.by-version."type-detect"."0.1.1";
+  by-version."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "type-detect-0.1.1";
     src = [
       (fetchurl {
@@ -14231,46 +11451,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."type-detect"."0.1.1" or []);
+      (self.nativeDeps."type-detect" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "type-detect" ];
   };
-  full."typechecker"."~2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "typechecker" ];
-  };
-  full."typechecker"."~2.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
+  by-spec."typechecker"."~2.0.1" =
+    self.by-version."typechecker"."2.0.8";
+  by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "typechecker-2.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
+        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
+        sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.6" or []);
+      (self.nativeDeps."typechecker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "typechecker" ];
   };
-  full."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."1.2.5" =
+    self.by-version."uglify-js"."1.2.5";
+  by-version."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-1.2.5";
     src = [
       (fetchurl {
@@ -14279,14 +11487,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."1.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."2.4.0" =
+    self.by-version."uglify-js"."2.4.0";
+  by-version."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.4.0";
     src = [
       (fetchurl {
@@ -14295,18 +11505,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."2.4.0" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
-      self.full."uglify-to-browserify"."~1.0.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."~2.2.5" =
+    self.by-version."uglify-js"."2.2.5";
+  by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.2.5";
     src = [
       (fetchurl {
@@ -14315,16 +11527,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."~2.3" =
+    self.by-version."uglify-js"."2.3.6";
+  by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.3.6";
     src = [
       (fetchurl {
@@ -14333,37 +11547,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.3" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.4.0";
+  by-spec."uglify-js"."~2.4.0" =
+    self.by-version."uglify-js"."2.4.2";
+  by-version."uglify-js"."2.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
-        sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.2.tgz";
+        sha1 = "9301b81a179b7f82be0118f0768d8df01a8afe89";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.4.0" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
-      self.full."uglify-to-browserify"."~1.0.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-to-browserify"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-to-browserify"."~1.0.0" =
+    self.by-version."uglify-to-browserify"."1.0.1";
+  by-version."uglify-to-browserify"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-to-browserify-1.0.1";
     src = [
       (fetchurl {
@@ -14372,14 +11590,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-to-browserify"."~1.0.0" or []);
+      (self.nativeDeps."uglify-to-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-to-browserify" ];
   };
-  full."uid-number"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uid-number"."0" =
+    self.by-version."uid-number"."0.0.3";
+  by-version."uid-number"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "uid-number-0.0.3";
     src = [
       (fetchurl {
@@ -14388,14 +11608,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid-number"."0" or []);
+      (self.nativeDeps."uid-number" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uid-number" ];
   };
-  full."uid2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uid2"."0.0.2" =
+    self.by-version."uid2"."0.0.2";
+  by-version."uid2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "uid2-0.0.2";
     src = [
       (fetchurl {
@@ -14404,63 +11626,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid2"."0.0.2" or []);
+      (self.nativeDeps."uid2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uid2" ];
   };
-  full."underscore"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
+  by-spec."uid2"."0.0.3" =
+    self.by-version."uid2"."0.0.3";
+  by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "uid2-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+        url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
+        sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."*" or []);
+      (self.nativeDeps."uid2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
-  };
-  "underscore" = self.full."underscore"."*";
-  full."underscore"."1.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."1.4.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore".">=1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore".">=1.1.7" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "uid2" ];
   };
-  full."underscore".">=1.4.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore"."*" =
+    self.by-version."underscore"."1.5.2";
+  by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "underscore-1.5.2";
     src = [
       (fetchurl {
@@ -14469,14 +11662,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore".">=1.4.3" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore"."~1.4" = lib.makeOverridable self.buildNodePackage {
+  "underscore" = self.by-version."underscore"."1.5.2";
+  by-spec."underscore"."1.4.x" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "underscore-1.4.4";
     src = [
       (fetchurl {
@@ -14485,62 +11681,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."~1.4" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore"."~1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.4.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore"."~1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.4.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore"."~1.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.5.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore.string"."~2.2.0rc" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore".">=1.1.7" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore".">=1.4.3" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore"."~1.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.3" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.5.2" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore.string"."~2.2.0rc" =
+    self.by-version."underscore.string"."2.2.1";
+  by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "underscore.string-2.2.1";
     src = [
       (fetchurl {
@@ -14549,14 +11711,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.2.0rc" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
   };
-  full."underscore.string"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore.string"."~2.3.1" =
+    self.by-version."underscore.string"."2.3.3";
+  by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "underscore.string-2.3.3";
     src = [
       (fetchurl {
@@ -14565,59 +11729,62 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.3.1" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
   };
-  full."ungit"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.3.2.tgz";
-        sha1 = "bb52c4af06280e81c6499cc92f13436e0fefa0d8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ungit"."*" or []);
-    deps = [
-      self.full."express"."3.2.6"
-      self.full."superagent"."0.14.7"
-      self.full."lodash.debounce"."~2.2.0"
-      self.full."lodash.find"."~2.2.0"
-      self.full."lodash.throttle"."~2.2.0"
-      self.full."temp"."0.6.0"
-      self.full."socket.io"."0.9.16"
-      self.full."moment"."2.0.0"
-      self.full."async"."0.2.9"
-      self.full."ssh2"."0.2.8"
-      self.full."rc"."0.3.0"
-      self.full."uuid"."1.4.1"
-      self.full."winston"."0.7.1"
-      self.full."passport"."0.1.17"
-      self.full."passport-local"."0.1.6"
-      self.full."npm"."1.3.1"
-      self.full."semver"."2.0.8"
-      self.full."forever-monitor"."1.1.0"
-      self.full."open"."0.0.4"
-      self.full."optimist"."0.6.0"
-      self.full."crossroads"."~0.12.0"
-      self.full."signals"."~1.0.0"
-      self.full."hasher"."~1.1.4"
-      self.full."blueimp-md5"."~1.0.3"
-      self.full."color"."~0.4.4"
-      self.full."keen.io"."0.0.3"
-      self.full."getmac"."~1.0.5"
-      self.full."deep-extend"."~0.2.6"
+  by-spec."ungit"."*" =
+    self.by-version."ungit"."0.5.0";
+  by-version."ungit"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ungit-0.5.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.5.0.tgz";
+        sha1 = "89abd98e200c6bf7b102d3efc45eebf79ac1cdcc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ungit" or []);
+    deps = [
+      self.by-version."express"."3.4.4"
+      self.by-version."superagent"."0.15.7"
+      self.by-version."lodash"."2.2.1"
+      self.by-version."temp"."0.6.0"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."moment"."2.4.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."ssh2"."0.2.12"
+      self.by-version."rc"."0.3.1"
+      self.by-version."uuid"."1.4.1"
+      self.by-version."winston"."0.7.2"
+      self.by-version."passport"."0.1.17"
+      self.by-version."passport-local"."0.1.6"
+      self.by-version."npm"."1.3.13"
+      self.by-version."semver"."2.2.1"
+      self.by-version."forever-monitor"."1.1.0"
+      self.by-version."open"."0.0.4"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."crossroads"."0.12.0"
+      self.by-version."signals"."1.0.0"
+      self.by-version."hasher"."1.1.4"
+      self.by-version."blueimp-md5"."1.0.3"
+      self.by-version."color"."0.4.4"
+      self.by-version."keen.io"."0.0.3"
+      self.by-version."getmac"."1.0.6"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."raven"."0.5.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ungit" ];
   };
-  "ungit" = self.full."ungit"."*";
-  full."unzip"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
+  "ungit" = self.by-version."ungit"."0.5.0";
+  by-spec."unzip"."~0.1.7" =
+    self.by-version."unzip"."0.1.9";
+  by-version."unzip"."0.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "unzip-0.1.9";
     src = [
       (fetchurl {
@@ -14626,40 +11793,46 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."unzip"."~0.1.7" or []);
+      (self.nativeDeps."unzip" or []);
     deps = [
-      self.full."fstream"."~0.1.21"
-      self.full."pullstream"."~0.4.0"
-      self.full."binary"."~0.3.0"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."match-stream"."~0.0.2"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."pullstream"."0.4.0"
+      self.by-version."binary"."0.3.0"
+      self.by-version."readable-stream"."1.0.17"
+      self.by-version."setimmediate"."1.0.1"
+      self.by-version."match-stream"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "unzip" ];
   };
-  full."update-notifier"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "update-notifier-0.1.6";
+  by-spec."update-notifier"."~0.1.3" =
+    self.by-version."update-notifier"."0.1.7";
+  by-version."update-notifier"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "update-notifier-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.6.tgz";
-        sha1 = "c814e7eabaadaba789f75c3f652366db8efec471";
+        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz";
+        sha1 = "b37fb55004835240fd2e7e360c52ccffde5219c9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."update-notifier"."~0.1.3" or []);
+      (self.nativeDeps."update-notifier" or []);
     deps = [
-      self.full."request"."~2.22.0"
-      self.full."configstore"."~0.1.0"
-      self.full."semver"."~2.0.0"
-      self.full."chalk"."~0.1.0"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.1.5"
+      self.by-version."semver"."2.1.0"
+      self.by-version."chalk"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "update-notifier" ];
   };
-  full."useragent"."~2.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."update-notifier"."~0.1.5" =
+    self.by-version."update-notifier"."0.1.7";
+  by-spec."useragent"."~2.0.4" =
+    self.by-version."useragent"."2.0.7";
+  by-version."useragent"."2.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "useragent-2.0.7";
     src = [
       (fetchurl {
@@ -14668,15 +11841,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."useragent"."~2.0.4" or []);
+      (self.nativeDeps."useragent" or []);
     deps = [
-      self.full."lru-cache"."2.2.x"
+      self.by-version."lru-cache"."2.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "useragent" ];
   };
-  full."util".">= 0.4.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."util".">= 0.4.9" =
+    self.by-version."util"."0.4.9";
+  by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage {
     name = "util-0.4.9";
     src = [
       (fetchurl {
@@ -14685,15 +11860,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."util".">= 0.4.9" or []);
+      (self.nativeDeps."util" or []);
     deps = [
-      self.full."events.node".">= 0.4.0"
+      self.by-version."events.node"."0.4.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
   };
-  full."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."0.1.7" =
+    self.by-version."utile"."0.1.7";
+  by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "utile-0.1.7";
     src = [
       (fetchurl {
@@ -14702,42 +11879,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.1.7" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."deep-equal"."0.1.0"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.2.7"
+      self.by-version."rimraf"."1.0.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."utile"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utile"."0.1.x" or []);
-    deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utile" ];
-  };
-  full."utile"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."0.1.x" =
+    self.by-version."utile"."0.1.7";
+  by-spec."utile"."0.2.x" =
+    self.by-version."utile"."0.2.0";
+  by-version."utile"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "utile-0.2.0";
     src = [
       (fetchurl {
@@ -14746,42 +11905,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.2.x" or []);
-    deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."2.x.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utile" ];
-  };
-  full."utile"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utile"."~0.1.7" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."deep-equal"."0.1.0"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.2.7"
+      self.by-version."rimraf"."2.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."~0.1.7" =
+    self.by-version."utile"."0.1.7";
+  by-spec."uuid"."1.4.1" =
+    self.by-version."uuid"."1.4.1";
+  by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "uuid-1.4.1";
     src = [
       (fetchurl {
@@ -14790,14 +11931,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uuid"."1.4.1" or []);
+      (self.nativeDeps."uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uuid" ];
   };
-  full."validator"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."validator"."0.4.x" =
+    self.by-version."validator"."0.4.28";
+  by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
     name = "validator-0.4.28";
     src = [
       (fetchurl {
@@ -14806,14 +11949,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."validator"."0.4.x" or []);
+      (self.nativeDeps."validator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "validator" ];
   };
-  full."vargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."vargs"."~0.1.0" =
+    self.by-version."vargs"."0.1.0";
+  by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "vargs-0.1.0";
     src = [
       (fetchurl {
@@ -14822,14 +11967,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vargs"."~0.1.0" or []);
+      (self.nativeDeps."vargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vargs" ];
   };
-  full."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."vasync"."1.3.3" =
+    self.by-version."vasync"."1.3.3";
+  by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "vasync-1.3.3";
     src = [
       (fetchurl {
@@ -14838,16 +11985,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vasync"."1.3.3" or []);
+      (self.nativeDeps."vasync" or []);
     deps = [
-      self.full."jsprim"."0.3.0"
-      self.full."verror"."1.1.0"
+      self.by-version."jsprim"."0.3.0"
+      self.by-version."verror"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
   };
-  full."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.1.0" =
+    self.by-version."verror"."1.1.0";
+  by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.1.0";
     src = [
       (fetchurl {
@@ -14856,15 +12005,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.1.0" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.3.3" =
+    self.by-version."verror"."1.3.3";
+  by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.3.3";
     src = [
       (fetchurl {
@@ -14873,15 +12024,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.3" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.3.6" =
+    self.by-version."verror"."1.3.6";
+  by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.3.6";
     src = [
       (fetchurl {
@@ -14890,15 +12043,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.6" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.2"
+      self.by-version."extsprintf"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."view-helpers"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."view-helpers"."*" =
+    self.by-version."view-helpers"."0.1.3";
+  by-version."view-helpers"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "view-helpers-0.1.3";
     src = [
       (fetchurl {
@@ -14907,15 +12062,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."view-helpers"."*" or []);
+      (self.nativeDeps."view-helpers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "view-helpers" ];
   };
-  "view-helpers" = self.full."view-helpers"."*";
-  full."vows".">=0.5.13" = lib.makeOverridable self.buildNodePackage {
+  "view-helpers" = self.by-version."view-helpers"."0.1.3";
+  by-spec."vows".">=0.5.13" =
+    self.by-version."vows"."0.7.0";
+  by-version."vows"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "vows-0.7.0";
     src = [
       (fetchurl {
@@ -14924,16 +12081,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vows".">=0.5.13" or []);
+      (self.nativeDeps."vows" or []);
     deps = [
-      self.full."eyes".">=0.1.6"
-      self.full."diff"."~1.0.3"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."diff"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vows" ];
   };
-  full."walk"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."walk"."*" =
+    self.by-version."walk"."2.2.1";
+  by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "walk-2.2.1";
     src = [
       (fetchurl {
@@ -14942,16 +12101,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."walk"."*" or []);
+      (self.nativeDeps."walk" or []);
     deps = [
-      self.full."forEachAsync"."~2.2"
+      self.by-version."forEachAsync"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
   };
-  "walk" = self.full."walk"."*";
-  full."watch"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  "walk" = self.by-version."walk"."2.2.1";
+  by-spec."watch"."0.5.x" =
+    self.by-version."watch"."0.5.1";
+  by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "watch-0.5.1";
     src = [
       (fetchurl {
@@ -14960,14 +12121,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.5.x" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."watch"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."watch"."0.7.0" =
+    self.by-version."watch"."0.7.0";
+  by-version."watch"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "watch-0.7.0";
     src = [
       (fetchurl {
@@ -14976,14 +12139,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.7.0" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."wd"."~0.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wd"."~0.1.5" =
+    self.by-version."wd"."0.1.5";
+  by-version."wd"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "wd-0.1.5";
     src = [
       (fetchurl {
@@ -14992,44 +12157,48 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wd"."~0.1.5" or []);
+      (self.nativeDeps."wd" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."vargs"."~0.1.0"
-      self.full."q"."0.9.x"
-      self.full."request"."~2.21.0"
-      self.full."archiver"."~0.4.6"
-      self.full."lodash"."~1.3.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."vargs"."0.1.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."request"."2.21.0"
+      self.by-version."archiver"."0.4.10"
+      self.by-version."lodash"."1.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wd" ];
   };
-  full."webdrvr"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "webdrvr-2.35.0-6";
+  by-spec."webdrvr"."*" =
+    self.by-version."webdrvr"."2.37.0-0";
+  by-version."webdrvr"."2.37.0-0" = lib.makeOverridable self.buildNodePackage {
+    name = "webdrvr-2.37.0-0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.35.0-6.tgz";
-        sha1 = "1dffadb2960c82c7b9baba6512cd6f35f6e8d706";
+        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.37.0-0.tgz";
+        sha1 = "fc939fd7faa364d790bbb20760227346236df07e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."webdrvr"."*" or []);
+      (self.nativeDeps."webdrvr" or []);
     deps = [
-      self.full."adm-zip"."~0.4.3"
-      self.full."kew"."~0.1.7"
-      self.full."mkdirp"."~0.3.5"
-      self.full."npmconf"."~0.1.2"
-      self.full."phantomjs"."~1.9.1-2"
-      self.full."tmp"."~0.0.20"
-      self.full."follow-redirects"."0.0.3"
+      self.by-version."adm-zip"."0.4.3"
+      self.by-version."kew"."0.1.7"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."npmconf"."0.1.5"
+      self.by-version."phantomjs"."1.9.2-2"
+      self.by-version."tmp"."0.0.21"
+      self.by-version."follow-redirects"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "webdrvr" ];
   };
-  "webdrvr" = self.full."webdrvr"."*";
-  full."websocket-driver".">=0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "webdrvr" = self.by-version."webdrvr"."2.37.0-0";
+  by-spec."websocket-driver".">=0.3.0" =
+    self.by-version."websocket-driver"."0.3.0";
+  by-version."websocket-driver"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "websocket-driver-0.3.0";
     src = [
       (fetchurl {
@@ -15038,14 +12207,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."websocket-driver".">=0.3.0" or []);
+      (self.nativeDeps."websocket-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "websocket-driver" ];
   };
-  full."when"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."when"."~2.2.1" =
+    self.by-version."when"."2.2.1";
+  by-version."when"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "when-2.2.1";
     src = [
       (fetchurl {
@@ -15054,14 +12225,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."when"."~2.2.1" or []);
+      (self.nativeDeps."when" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "when" ];
   };
-  full."which"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."which"."1" =
+    self.by-version."which"."1.0.5";
+  by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "which-1.0.5";
     src = [
       (fetchurl {
@@ -15070,46 +12243,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."which"."1" or []);
+      (self.nativeDeps."which" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "which" ];
   };
-  full."which"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "which-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."which"."1.0.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "which" ];
-  };
-  full."which"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "which-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."which"."~1.0.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "which" ];
-  };
-  full."winser"."=0.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."which"."1.0.x" =
+    self.by-version."which"."1.0.5";
+  by-spec."which"."~1.0.5" =
+    self.by-version."which"."1.0.5";
+  by-spec."winser"."=0.0.11" =
+    self.by-version."winser"."0.0.11";
+  by-version."winser"."0.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "winser-0.0.11";
     src = [
       (fetchurl {
@@ -15118,16 +12265,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winser"."=0.0.11" or []);
+      (self.nativeDeps."winser" or []);
     deps = [
-      self.full."sequence"."*"
-      self.full."commander"."*"
+      self.by-version."sequence"."2.2.1"
+      self.by-version."commander"."2.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winser" ];
   };
-  full."winston"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."*" =
+    self.by-version."winston"."0.7.2";
+  by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.7.2";
     src = [
       (fetchurl {
@@ -15136,22 +12285,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."*" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  "winston" = self.full."winston"."*";
-  full."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+  "winston" = self.by-version."winston"."0.7.2";
+  by-spec."winston"."0.6.2" =
+    self.by-version."winston"."0.6.2";
+  by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.6.2";
     src = [
       (fetchurl {
@@ -15160,44 +12311,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.6.2" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."request"."2.9.203"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  full."winston"."0.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
-        sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."winston"."0.6.x" or []);
-    deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "winston" ];
-  };
-  full."winston"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."0.6.x" =
+    self.by-version."winston"."0.6.2";
+  by-spec."winston"."0.7.1" =
+    self.by-version."winston"."0.7.1";
+  by-version."winston"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.7.1";
     src = [
       (fetchurl {
@@ -15206,21 +12338,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.7.1" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  full."with"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."~0.7.2" =
+    self.by-version."winston"."0.7.2";
+  by-spec."with"."~1.1.0" =
+    self.by-version."with"."1.1.1";
+  by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "with-1.1.1";
     src = [
       (fetchurl {
@@ -15229,31 +12365,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."with"."~1.1.0" or []);
+      (self.nativeDeps."with" or []);
     deps = [
-      self.full."uglify-js"."2.4.0"
+      self.by-version."uglify-js"."2.4.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
   };
-  full."wordwrap"."0.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wordwrap"."0.0.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wordwrap" ];
-  };
-  full."wordwrap".">=0.0.1 <0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wordwrap"."0.0.x" =
+    self.by-version."wordwrap"."0.0.2";
+  by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "wordwrap-0.0.2";
     src = [
       (fetchurl {
@@ -15262,30 +12384,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap".">=0.0.1 <0.1.0" or []);
+      (self.nativeDeps."wordwrap" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wordwrap" ];
   };
-  full."wordwrap"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wordwrap"."~0.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wordwrap" ];
-  };
-  full."ws"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wordwrap".">=0.0.1 <0.1.0" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."ws"."0.4.x" =
+    self.by-version."ws"."0.4.31";
+  by-version."ws"."0.4.31" = lib.makeOverridable self.buildNodePackage {
     name = "ws-0.4.31";
     src = [
       (fetchurl {
@@ -15294,18 +12406,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ws"."0.4.x" or []);
+      (self.nativeDeps."ws" or []);
     deps = [
-      self.full."commander"."~0.6.1"
-      self.full."nan"."~0.3.0"
-      self.full."tinycolor"."0.x"
-      self.full."options".">=0.0.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."nan"."0.3.2"
+      self.by-version."tinycolor"."0.0.1"
+      self.by-version."options"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ws" ];
   };
-  full."wu"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wu"."*" =
+    self.by-version."wu"."0.1.8";
+  by-version."wu"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "wu-0.1.8";
     src = [
       (fetchurl {
@@ -15314,15 +12428,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wu"."*" or []);
+      (self.nativeDeps."wu" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wu" ];
   };
-  "wu" = self.full."wu"."*";
-  full."x509"."*" = lib.makeOverridable self.buildNodePackage {
+  "wu" = self.by-version."wu"."0.1.8";
+  by-spec."x509"."*" =
+    self.by-version."x509"."0.0.6";
+  by-version."x509"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "x509-0.0.6";
     src = [
       (fetchurl {
@@ -15331,15 +12447,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."x509"."*" or []);
+      (self.nativeDeps."x509" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "x509" ];
   };
-  "x509" = self.full."x509"."*";
-  full."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+  "x509" = self.by-version."x509"."0.0.6";
+  by-spec."xml2js"."0.2.4" =
+    self.by-version."xml2js"."0.2.4";
+  by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.2.4";
     src = [
       (fetchurl {
@@ -15348,15 +12466,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.4" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax".">=0.4.2"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xml2js"."0.2.x" =
+    self.by-version."xml2js"."0.2.8";
+  by-version."xml2js"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.2.8";
     src = [
       (fetchurl {
@@ -15365,48 +12485,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.x" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax"."0.5.x"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "xml2js-0.2.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
-        sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xml2js".">= 0.0.1" or []);
-    deps = [
-      self.full."sax"."0.5.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xml2js" ];
-  };
-  full."xmlbuilder"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "xmlbuilder-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
-        sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xmlbuilder"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xmlbuilder" ];
-  };
-  full."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xml2js".">= 0.0.1" =
+    self.by-version."xml2js"."0.2.8";
+  by-spec."xmlbuilder"."*" =
+    self.by-version."xmlbuilder"."0.4.2";
+  by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "xmlbuilder-0.4.2";
     src = [
       (fetchurl {
@@ -15415,14 +12506,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlbuilder"."0.4.2" or []);
+      (self.nativeDeps."xmlbuilder" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
-  full."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xmlbuilder"."0.4.2" =
+    self.by-version."xmlbuilder"."0.4.2";
+  by-spec."xmlhttprequest"."1.4.2" =
+    self.by-version."xmlhttprequest"."1.4.2";
+  by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "xmlhttprequest-1.4.2";
     src = [
       (fetchurl {
@@ -15431,14 +12526,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlhttprequest"."1.4.2" or []);
+      (self.nativeDeps."xmlhttprequest" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlhttprequest" ];
   };
-  full."xoauth2"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xoauth2"."~0.1" =
+    self.by-version."xoauth2"."0.1.8";
+  by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "xoauth2-0.1.8";
     src = [
       (fetchurl {
@@ -15447,14 +12544,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xoauth2"."~0.1" or []);
+      (self.nativeDeps."xoauth2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xoauth2" ];
   };
-  full."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yaml"."0.2.3" =
+    self.by-version."yaml"."0.2.3";
+  by-version."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "yaml-0.2.3";
     src = [
       (fetchurl {
@@ -15463,30 +12562,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yaml"."0.2.3" or []);
+      (self.nativeDeps."yaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yaml" ];
   };
-  full."ycssmin".">=1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ycssmin-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ycssmin/-/ycssmin-1.0.1.tgz";
-        sha1 = "7cdde8db78cfab00d2901c3b2301e304faf4df16";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ycssmin".">=1.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ycssmin" ];
-  };
-  full."yeoman-generator"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.10.0" =
+    self.by-version."yeoman-generator"."0.10.5";
+  by-version."yeoman-generator"."0.10.5" = lib.makeOverridable self.buildNodePackage {
     name = "yeoman-generator-0.10.5";
     src = [
       (fetchurl {
@@ -15495,65 +12580,31 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.10.0" or []);
-    deps = [
-      self.full."cheerio"."~0.10.8"
-      self.full."request"."~2.16.6"
-      self.full."rimraf"."~2.1.4"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.1.1"
-      self.full."mkdirp"."~0.3.5"
-      self.full."read"."~1.0.4"
-      self.full."glob"."~3.1.21"
-      self.full."nopt"."~2.1.1"
-      self.full."cli-table"."~0.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "yeoman-generator" ];
-  };
-  full."yeoman-generator"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.0" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.10.8"
+      self.by-version."request"."2.16.6"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."tar"."0.1.18"
+      self.by-version."diff"."1.0.7"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."read"."1.0.5"
+      self.by-version."glob"."3.1.21"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."cli-table"."0.2.0"
+      self.by-version."debug"."0.7.3"
+      self.by-version."isbinaryfile"."0.1.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yeoman-generator"."~0.13.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.13.0" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-version."yeoman-generator"."0.13.4" = lib.makeOverridable self.buildNodePackage {
     name = "yeoman-generator-0.13.4";
     src = [
       (fetchurl {
@@ -15562,98 +12613,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.1" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.12.3"
+      self.by-version."request"."2.25.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."tar"."0.1.18"
+      self.by-version."diff"."1.0.7"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.6"
+      self.by-version."debug"."0.7.3"
+      self.by-version."isbinaryfile"."0.1.9"
+      self.by-version."dargs"."0.1.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."shelljs"."0.1.4"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."text-table"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yeoman-generator"."~0.13.2" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.2" or []);
-    deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "yeoman-generator" ];
-  };
-  full."yo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.0.4.tgz";
-        sha1 = "666b5965a8e920df877d351da793f89bd1c8707a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yo"."*" or []);
-    deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.2.0"
-      self.full."sudo-block"."~0.2.0"
-      self.full."async"."~0.2.9"
-      self.full."open"."0.0.4"
-      self.full."chalk"."~0.2.0"
-    ];
-    peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
-    ];
-    passthru.names = [ "yo" ];
-  };
-  "yo" = self.full."yo"."*";
-  full."yo".">=1.0.0-rc.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.13.1" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-spec."yeoman-generator"."~0.13.2" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-spec."yo"."*" =
+    self.by-version."yo"."1.0.4";
+  by-version."yo"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "yo-1.0.4";
     src = [
       (fetchurl {
@@ -15662,25 +12655,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yo".">=1.0.0-rc.1.1" or []);
+      (self.nativeDeps."yo" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.2.0"
-      self.full."sudo-block"."~0.2.0"
-      self.full."async"."~0.2.9"
-      self.full."open"."0.0.4"
-      self.full."chalk"."~0.2.0"
+      self.by-version."yeoman-generator"."0.13.4"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."update-notifier"."0.1.7"
+      self.by-version."insight"."0.2.0"
+      self.by-version."sudo-block"."0.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."open"."0.0.4"
+      self.by-version."chalk"."0.2.1"
     ];
     peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
+      self.by-version."grunt-cli"."0.1.10"
+      self.by-version."bower"."1.2.7"
     ];
     passthru.names = [ "yo" ];
   };
-  full."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  "yo" = self.by-version."yo"."1.0.4";
+  by-spec."yo".">=1.0.0-rc.1.1" =
+    self.by-version."yo"."1.0.4";
+  by-spec."zeparser"."0.0.5" =
+    self.by-version."zeparser"."0.0.5";
+  by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "zeparser-0.0.5";
     src = [
       (fetchurl {
@@ -15689,14 +12687,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."zeparser"."0.0.5" or []);
+      (self.nativeDeps."zeparser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "zeparser" ];
   };
-  full."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."zlib-browserify"."0.0.1" =
+    self.by-version."zlib-browserify"."0.0.1";
+  by-version."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "zlib-browserify-0.0.1";
     src = [
       (fetchurl {
@@ -15705,7 +12705,7 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."zlib-browserify"."0.0.1" or []);
+      (self.nativeDeps."zlib-browserify" or []);
     deps = [
     ];
     peerDependencies = [
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 8725ce1e9cd7..dcc024c7c5d6 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -2,9 +2,9 @@
 
 {
   nativeDeps = {
-    "node-expat"."*" = [ pkgs.expat ];
-    "rbytes"."*" = [ pkgs.openssl ];
-    "phantomjs"."~1.9" = [ pkgs.phantomjs ];
+    "node-expat" = [ pkgs.expat ];
+    "rbytes" = [ pkgs.openssl ];
+    "phantomjs" = [ pkgs.phantomjs ];
   };
 
   buildNodePackage = import ../development/web/nodejs/build-node-package.nix {