aboutsummaryrefslogtreecommitdiff
path: root/modules/pkgs
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2017-07-12 21:27:18 +0300
committerIgor Pashev <pashev.igor@gmail.com>2017-07-12 21:48:55 +0300
commitc6f46f47c947a7f19918adcbe28089556496b8b7 (patch)
treed00e3117be7625869841be2bc109e96d063320ac /modules/pkgs
parentc3ca2aa2029765cbee664ecc05254ad522a552fb (diff)
downloadnixsap-c6f46f47c947a7f19918adcbe28089556496b8b7.tar.gz
nodejs-sass: init at 4.5.3
*WARNING* This was added to make sure npm won't download any pre-built binaries (sic!). Instead it will build sass bindings in place, using bundled libsass (ok). preRebuild = '' SASS_FORCE_BUILD=true npm run-script build '';
Diffstat (limited to 'modules/pkgs')
-rw-r--r--modules/pkgs/nodejs-sass/default.nix18
-rwxr-xr-xmodules/pkgs/nodejs-sass/generate.sh4
-rw-r--r--modules/pkgs/nodejs-sass/main.json3
-rw-r--r--modules/pkgs/nodejs-sass/main.nix16
-rw-r--r--modules/pkgs/nodejs-sass/node-env.nix349
-rw-r--r--modules/pkgs/nodejs-sass/node-packages.nix2142
6 files changed, 2532 insertions, 0 deletions
diff --git a/modules/pkgs/nodejs-sass/default.nix b/modules/pkgs/nodejs-sass/default.nix
new file mode 100644
index 0000000..37bbf1c
--- /dev/null
+++ b/modules/pkgs/nodejs-sass/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, pkgs, nodejs, writeScript }:
+
+let
+
+ version = "4.5.3";
+
+ main = (import ./main.nix {
+ inherit pkgs;
+ inherit (pkgs) nodejs;
+ inherit (stdenv) system;
+ })."node-sass-${version}";
+
+in
+pkgs.runCommand "nodejs-sass-${version}" {}
+''
+ mkdir -p $out/bin
+ ln -s ${main}/lib/node_modules/node-sass/bin/node-sass $out/bin/node-sass
+''
diff --git a/modules/pkgs/nodejs-sass/generate.sh b/modules/pkgs/nodejs-sass/generate.sh
new file mode 100755
index 0000000..15a5c13
--- /dev/null
+++ b/modules/pkgs/nodejs-sass/generate.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+node2nix -i main.json -c main.nix
+
diff --git a/modules/pkgs/nodejs-sass/main.json b/modules/pkgs/nodejs-sass/main.json
new file mode 100644
index 0000000..6f38ead
--- /dev/null
+++ b/modules/pkgs/nodejs-sass/main.json
@@ -0,0 +1,3 @@
+[
+ { "node-sass" : "4.5.3" }
+]
diff --git a/modules/pkgs/nodejs-sass/main.nix b/modules/pkgs/nodejs-sass/main.nix
new file mode 100644
index 0000000..2eef6d7
--- /dev/null
+++ b/modules/pkgs/nodejs-sass/main.nix
@@ -0,0 +1,16 @@
+# This file has been generated by node2nix 1.2.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+ inherit system;
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-4_x"}:
+
+let
+ nodeEnv = import ./node-env.nix {
+ inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+ inherit nodejs;
+ };
+in
+import ./node-packages.nix {
+ inherit (pkgs) fetchurl fetchgit;
+ inherit nodeEnv;
+}
diff --git a/modules/pkgs/nodejs-sass/node-env.nix b/modules/pkgs/nodejs-sass/node-env.nix
new file mode 100644
index 0000000..356e78f
--- /dev/null
+++ b/modules/pkgs/nodejs-sass/node-env.nix
@@ -0,0 +1,349 @@
+# This file originates from node2nix
+
+{stdenv, nodejs, python2, utillinux, runCommand, writeTextFile}:
+
+let
+ python = if nodejs ? python then nodejs.python else python2;
+
+ # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
+ tarWrapper = runCommand "tarWrapper" {} ''
+ mkdir -p $out/bin
+
+ cat > $out/bin/tar <<EOF
+ #! ${stdenv.shell} -e
+ $(type -p tar) "\$@" --warning=no-unknown-keyword
+ EOF
+
+ chmod +x $out/bin/tar
+ '';
+
+ # Function that generates a TGZ file from a NPM project
+ buildNodeSourceDist =
+ { name, version, src, ... }:
+
+ stdenv.mkDerivation {
+ name = "node-tarball-${name}-${version}";
+ inherit src;
+ buildInputs = [ nodejs ];
+ buildPhase = ''
+ export HOME=$TMPDIR
+ tgzFile=$(npm pack)
+ '';
+ installPhase = ''
+ mkdir -p $out/tarballs
+ mv $tgzFile $out/tarballs
+ mkdir -p $out/nix-support
+ echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
+ '';
+ };
+
+ includeDependencies = {dependencies}:
+ stdenv.lib.optionalString (dependencies != [])
+ (stdenv.lib.concatMapStrings (dependency:
+ ''
+ # Bundle the dependencies of the package
+ mkdir -p node_modules
+ cd node_modules
+
+ # Only include dependencies if they don't exist. They may also be bundled in the package.
+ if [ ! -e "${dependency.name}" ]
+ then
+ ${composePackage dependency}
+ fi
+
+ cd ..
+ ''
+ ) dependencies);
+
+ # Recursively composes the dependencies of a package
+ composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+ ''
+ DIR=$(pwd)
+ cd $TMPDIR
+
+ unpackFile ${src}
+
+ # Make the base dir in which the target dependency resides first
+ mkdir -p "$(dirname "$DIR/${packageName}")"
+
+ if [ -f "${src}" ]
+ then
+ # Figure out what directory has been unpacked
+ packageDir="$(find . -maxdepth 1 -type d | tail -1)"
+
+ # Restore write permissions to make building work
+ find "$packageDir" -type d -print0 | xargs -0 chmod u+x
+ chmod -R u+w "$packageDir"
+
+ # Move the extracted tarball into the output folder
+ mv "$packageDir" "$DIR/${packageName}"
+ elif [ -d "${src}" ]
+ then
+ # Get a stripped name (without hash) of the source directory.
+ # On old nixpkgs it's already set internally.
+ if [ -z "$strippedName" ]
+ then
+ strippedName="$(stripHash ${src})"
+ fi
+
+ # Restore write permissions to make building work
+ chmod -R u+w "$strippedName"
+
+ # Move the extracted directory into the output folder
+ mv "$strippedName" "$DIR/${packageName}"
+ fi
+
+ # Unset the stripped name to not confuse the next unpack step
+ unset strippedName
+
+ # Include the dependencies of the package
+ cd "$DIR/${packageName}"
+ ${includeDependencies { inherit dependencies; }}
+ cd ..
+ ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ '';
+
+ pinpointDependencies = {dependencies, production}:
+ let
+ pinpointDependenciesFromPackageJSON = writeTextFile {
+ name = "pinpointDependencies.js";
+ text = ''
+ var fs = require('fs');
+ var path = require('path');
+
+ function resolveDependencyVersion(location, name) {
+ if(location == process.env['NIX_STORE']) {
+ return null;
+ } else {
+ var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
+
+ if(fs.existsSync(dependencyPackageJSON)) {
+ var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
+
+ if(dependencyPackageObj.name == name) {
+ return dependencyPackageObj.version;
+ }
+ } else {
+ return resolveDependencyVersion(path.resolve(location, ".."), name);
+ }
+ }
+ }
+
+ function replaceDependencies(dependencies) {
+ if(typeof dependencies == "object" && dependencies !== null) {
+ for(var dependency in dependencies) {
+ var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
+
+ if(resolvedVersion === null) {
+ process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
+ } else {
+ dependencies[dependency] = resolvedVersion;
+ }
+ }
+ }
+ }
+
+ /* Read the package.json configuration */
+ var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+
+ /* Pinpoint all dependencies */
+ replaceDependencies(packageObj.dependencies);
+ if(process.argv[2] == "development") {
+ replaceDependencies(packageObj.devDependencies);
+ }
+ replaceDependencies(packageObj.optionalDependencies);
+
+ /* Write the fixed package.json file */
+ fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
+ '';
+ };
+ in
+ ''
+ node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
+
+ ${stdenv.lib.optionalString (dependencies != [])
+ ''
+ if [ -d node_modules ]
+ then
+ cd node_modules
+ ${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
+ cd ..
+ fi
+ ''}
+ '';
+
+ # Recursively traverses all dependencies of a package and pinpoints all
+ # dependencies in the package.json file to the versions that are actually
+ # being used.
+
+ pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
+ ''
+ if [ -d "${packageName}" ]
+ then
+ cd "${packageName}"
+ ${pinpointDependencies { inherit dependencies production; }}
+ cd ..
+ ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ fi
+ '';
+
+ # Extract the Node.js source code which is used to compile packages with
+ # native bindings
+ nodeSources = runCommand "node-sources" {} ''
+ tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+ mv node-* $out
+ '';
+
+ # Builds and composes an NPM package including all its dependencies
+ buildNodePackage = { name, packageName, version, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, preRebuild ? "", ... }@args:
+
+ stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
+ name = "node-${name}-${version}";
+ buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+ dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
+
+ inherit dontNpmInstall preRebuild;
+
+ unpackPhase = args.unpackPhase or "true";
+
+ buildPhase = args.buildPhase or "true";
+
+ compositionScript = composePackage args;
+ pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+ passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
+
+ installPhase = args.installPhase or ''
+ # Create and enter a root node_modules/ folder
+ mkdir -p $out/lib/node_modules
+ cd $out/lib/node_modules
+
+ # Compose the package and all its dependencies
+ source $compositionScriptPath
+
+ # Pinpoint the versions of all dependencies to the ones that are actually being used
+ echo "pinpointing versions of dependencies..."
+ source $pinpointDependenciesScriptPath
+
+ # Patch the shebangs of the bundled modules to prevent them from
+ # calling executables outside the Nix store as much as possible
+ patchShebangs .
+
+ # Deploy the Node.js package by running npm install. Since the
+ # dependencies have been provided already by ourselves, it should not
+ # attempt to install them again, which is good, because we want to make
+ # it Nix's responsibility. If it needs to install any dependencies
+ # anyway (e.g. because the dependency parameters are
+ # incomplete/incorrect), it fails.
+ #
+ # The other responsibilities of NPM are kept -- version checks, build
+ # steps, postprocessing etc.
+
+ export HOME=$TMPDIR
+ cd "${packageName}"
+ runHook preRebuild
+ npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+
+ if [ "$dontNpmInstall" != "1" ]
+ then
+ # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+ rm -f npm-shrinkwrap.json
+
+ npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+ fi
+
+ # Create symlink to the deployed executable folder, if applicable
+ if [ -d "$out/lib/node_modules/.bin" ]
+ then
+ ln -s $out/lib/node_modules/.bin $out/bin
+ fi
+
+ # Create symlinks to the deployed manual page folders, if applicable
+ if [ -d "$out/lib/node_modules/${packageName}/man" ]
+ then
+ mkdir -p $out/share
+ for dir in "$out/lib/node_modules/${packageName}/man/"*
+ do
+ mkdir -p $out/share/man/$(basename "$dir")
+ for page in "$dir"/*
+ do
+ ln -s $page $out/share/man/$(basename "$dir")
+ done
+ done
+ fi
+
+ # Run post install hook, if provided
+ runHook postInstall
+ '';
+ });
+
+ # Builds a development shell
+ buildNodeShell = { name, packageName, version, src, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, ... }@args:
+ let
+ nodeDependencies = stdenv.mkDerivation {
+ name = "node-dependencies-${name}-${version}";
+
+ buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+
+ includeScript = includeDependencies { inherit dependencies; };
+ pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+ passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
+
+ buildCommand = ''
+ mkdir -p $out/lib
+ cd $out/lib
+ source $includeScriptPath
+
+ # Pinpoint the versions of all dependencies to the ones that are actually being used
+ echo "pinpointing versions of dependencies..."
+ source $pinpointDependenciesScriptPath
+
+ # Create fake package.json to make the npm commands work properly
+ cat > package.json <<EOF
+ {
+ "name": "${packageName}",
+ "version": "${version}"
+ }
+ EOF
+
+ # Patch the shebangs of the bundled modules to prevent them from
+ # calling executables outside the Nix store as much as possible
+ patchShebangs .
+
+ export HOME=$PWD
+ npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+
+ ${stdenv.lib.optionalString (!dontNpmInstall) ''
+ # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+ rm -f npm-shrinkwrap.json
+
+ npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+ ''}
+
+ ln -s $out/lib/node_modules/.bin $out/bin
+ '';
+ };
+ in
+ stdenv.lib.makeOverridable stdenv.mkDerivation {
+ name = "node-shell-${name}-${version}";
+
+ buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+ buildCommand = ''
+ mkdir -p $out/bin
+ cat > $out/bin/shell <<EOF
+ #! ${stdenv.shell} -e
+ $shellHook
+ exec ${stdenv.shell}
+ EOF
+ chmod +x $out/bin/shell
+ '';
+
+ # Provide the dependencies in a development shell through the NODE_PATH environment variable
+ inherit nodeDependencies;
+ shellHook = stdenv.lib.optionalString (dependencies != []) ''
+ export NODE_PATH=$nodeDependencies/lib/node_modules
+ '';
+ };
+in
+{ inherit buildNodeSourceDist buildNodePackage buildNodeShell; }
diff --git a/modules/pkgs/nodejs-sass/node-packages.nix b/modules/pkgs/nodejs-sass/node-packages.nix
new file mode 100644
index 0000000..0b85e2a
--- /dev/null
+++ b/modules/pkgs/nodejs-sass/node-packages.nix
@@ -0,0 +1,2142 @@
+# This file has been generated by node2nix 1.2.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+ sources = {
+ "async-foreach-0.1.3" = {
+ name = "async-foreach";
+ packageName = "async-foreach";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz";
+ sha1 = "36121f845c0578172de419a97dbeb1d16ec34542";
+ };
+ };
+ "chalk-1.1.3" = {
+ name = "chalk";
+ packageName = "chalk";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+ sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+ };
+ };
+ "cross-spawn-3.0.1" = {
+ name = "cross-spawn";
+ packageName = "cross-spawn";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz";
+ sha1 = "1256037ecb9f0c5f79e3d6ef135e30770184b982";
+ };
+ };
+ "gaze-1.1.2" = {
+ name = "gaze";
+ packageName = "gaze";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz";
+ sha1 = "847224677adb8870d679257ed3388fdb61e40105";
+ };
+ };
+ "get-stdin-4.0.1" = {
+ name = "get-stdin";
+ packageName = "get-stdin";
+ version = "4.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
+ sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+ };
+ };
+ "glob-7.1.2" = {
+ name = "glob";
+ packageName = "glob";
+ version = "7.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+ sha1 = "c19c9df9a028702d678612384a6552404c636d15";
+ };
+ };
+ "in-publish-2.0.0" = {
+ name = "in-publish";
+ packageName = "in-publish";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz";
+ sha1 = "e20ff5e3a2afc2690320b6dc552682a9c7fadf51";
+ };
+ };
+ "lodash.assign-4.2.0" = {
+ name = "lodash.assign";
+ packageName = "lodash.assign";
+ version = "4.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz";
+ sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
+ };
+ };
+ "lodash.clonedeep-4.5.0" = {
+ name = "lodash.clonedeep";
+ packageName = "lodash.clonedeep";
+ version = "4.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+ sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+ };
+ };
+ "lodash.mergewith-4.6.0" = {
+ name = "lodash.mergewith";
+ packageName = "lodash.mergewith";
+ version = "4.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz";
+ sha1 = "150cf0a16791f5903b8891eab154609274bdea55";
+ };
+ };
+ "meow-3.7.0" = {
+ name = "meow";
+ packageName = "meow";
+ version = "3.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz";
+ sha1 = "72cb668b425228290abbfa856892587308a801fb";
+ };
+ };
+ "mkdirp-0.5.1" = {
+ name = "mkdirp";
+ packageName = "mkdirp";
+ version = "0.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+ sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+ };
+ };
+ "nan-2.6.2" = {
+ name = "nan";
+ packageName = "nan";
+ version = "2.6.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz";
+ sha1 = "e4ff34e6c95fdfb5aecc08de6596f43605a7db45";
+ };
+ };
+ "node-gyp-3.6.2" = {
+ name = "node-gyp";
+ packageName = "node-gyp";
+ version = "3.6.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
+ sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
+ };
+ };
+ "npmlog-4.1.2" = {
+ name = "npmlog";
+ packageName = "npmlog";
+ version = "4.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+ sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+ };
+ };
+ "request-2.81.0" = {
+ name = "request";
+ packageName = "request";
+ version = "2.81.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/request/-/request-2.81.0.tgz";
+ sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
+ };
+ };
+ "sass-graph-2.2.4" = {
+ name = "sass-graph";
+ packageName = "sass-graph";
+ version = "2.2.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz";
+ sha1 = "13fbd63cd1caf0908b9fd93476ad43a51d1e0b49";
+ };
+ };
+ "stdout-stream-1.4.0" = {
+ name = "stdout-stream";
+ packageName = "stdout-stream";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz";
+ sha1 = "a2c7c8587e54d9427ea9edb3ac3f2cd522df378b";
+ };
+ };
+ "ansi-styles-2.2.1" = {
+ name = "ansi-styles";
+ packageName = "ansi-styles";
+ version = "2.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+ sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+ };
+ };
+ "escape-string-regexp-1.0.5" = {
+ name = "escape-string-regexp";
+ packageName = "escape-string-regexp";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+ sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+ };
+ };
+ "has-ansi-2.0.0" = {
+ name = "has-ansi";
+ packageName = "has-ansi";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+ sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+ };
+ };
+ "strip-ansi-3.0.1" = {
+ name = "strip-ansi";
+ packageName = "strip-ansi";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+ sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+ };
+ };
+ "supports-color-2.0.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+ sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+ };
+ };
+ "ansi-regex-2.1.1" = {
+ name = "ansi-regex";
+ packageName = "ansi-regex";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+ sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+ };
+ };
+ "lru-cache-4.1.1" = {
+ name = "lru-cache";
+ packageName = "lru-cache";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz";
+ sha1 = "622e32e82488b49279114a4f9ecf45e7cd6bba55";
+ };
+ };
+ "which-1.2.14" = {
+ name = "which";
+ packageName = "which";
+ version = "1.2.14";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which/-/which-1.2.14.tgz";
+ sha1 = "9a87c4378f03e827cecaf1acdf56c736c01c14e5";
+ };
+ };
+ "pseudomap-1.0.2" = {
+ name = "pseudomap";
+ packageName = "pseudomap";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+ sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+ };
+ };
+ "yallist-2.1.2" = {
+ name = "yallist";
+ packageName = "yallist";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+ sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+ };
+ };
+ "isexe-2.0.0" = {
+ name = "isexe";
+ packageName = "isexe";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+ sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+ };
+ };
+ "globule-1.2.0" = {
+ name = "globule";
+ packageName = "globule";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz";
+ sha1 = "1dc49c6822dd9e8a2fa00ba2a295006e8664bd09";
+ };
+ };
+ "lodash-4.17.4" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "4.17.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz";
+ sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae";
+ };
+ };
+ "minimatch-3.0.4" = {
+ name = "minimatch";
+ packageName = "minimatch";
+ version = "3.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+ sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+ };
+ };
+ "brace-expansion-1.1.8" = {
+ name = "brace-expansion";
+ packageName = "brace-expansion";
+ version = "1.1.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
+ sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
+ };
+ };
+ "balanced-match-1.0.0" = {
+ name = "balanced-match";
+ packageName = "balanced-match";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+ sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+ };
+ };
+ "concat-map-0.0.1" = {
+ name = "concat-map";
+ packageName = "concat-map";
+ version = "0.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+ sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+ };
+ };
+ "fs.realpath-1.0.0" = {
+ name = "fs.realpath";
+ packageName = "fs.realpath";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+ sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+ };
+ };
+ "inflight-1.0.6" = {
+ name = "inflight";
+ packageName = "inflight";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+ sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+ };
+ };
+ "inherits-2.0.3" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+ sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+ };
+ };
+ "once-1.4.0" = {
+ name = "once";
+ packageName = "once";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+ sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+ };
+ };
+ "path-is-absolute-1.0.1" = {
+ name = "path-is-absolute";
+ packageName = "path-is-absolute";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+ sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+ };
+ };
+ "wrappy-1.0.2" = {
+ name = "wrappy";
+ packageName = "wrappy";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+ sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+ };
+ };
+ "camelcase-keys-2.1.0" = {
+ name = "camelcase-keys";
+ packageName = "camelcase-keys";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz";
+ sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7";
+ };
+ };
+ "decamelize-1.2.0" = {
+ name = "decamelize";
+ packageName = "decamelize";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+ sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+ };
+ };
+ "loud-rejection-1.6.0" = {
+ name = "loud-rejection";
+ packageName = "loud-rejection";
+ version = "1.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz";
+ sha1 = "5b46f80147edee578870f086d04821cf998e551f";
+ };
+ };
+ "map-obj-1.0.1" = {
+ name = "map-obj";
+ packageName = "map-obj";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
+ sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
+ };
+ };
+ "minimist-1.2.0" = {
+ name = "minimist";
+ packageName = "minimist";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+ sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+ };
+ };
+ "normalize-package-data-2.4.0" = {
+ name = "normalize-package-data";
+ packageName = "normalize-package-data";
+ version = "2.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+ sha1 = "12f95a307d58352075a04907b84ac8be98ac012f";
+ };
+ };
+ "object-assign-4.1.1" = {
+ name = "object-assign";
+ packageName = "object-assign";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+ sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+ };
+ };
+ "read-pkg-up-1.0.1" = {
+ name = "read-pkg-up";
+ packageName = "read-pkg-up";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
+ sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+ };
+ };
+ "redent-1.0.0" = {
+ name = "redent";
+ packageName = "redent";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz";
+ sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde";
+ };
+ };
+ "trim-newlines-1.0.0" = {
+ name = "trim-newlines";
+ packageName = "trim-newlines";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz";
+ sha1 = "5887966bb582a4503a41eb524f7d35011815a613";
+ };
+ };
+ "camelcase-2.1.1" = {
+ name = "camelcase";
+ packageName = "camelcase";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz";
+ sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
+ };
+ };
+ "currently-unhandled-0.4.1" = {
+ name = "currently-unhandled";
+ packageName = "currently-unhandled";
+ version = "0.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
+ sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
+ };
+ };
+ "signal-exit-3.0.2" = {
+ name = "signal-exit";
+ packageName = "signal-exit";
+ version = "3.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+ sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+ };
+ };
+ "array-find-index-1.0.2" = {
+ name = "array-find-index";
+ packageName = "array-find-index";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz";
+ sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1";
+ };
+ };
+ "hosted-git-info-2.5.0" = {
+ name = "hosted-git-info";
+ packageName = "hosted-git-info";
+ version = "2.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz";
+ sha1 = "6d60e34b3abbc8313062c3b798ef8d901a07af3c";
+ };
+ };
+ "is-builtin-module-1.0.0" = {
+ name = "is-builtin-module";
+ packageName = "is-builtin-module";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz";
+ sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe";
+ };
+ };
+ "semver-5.3.0" = {
+ name = "semver";
+ packageName = "semver";
+ version = "5.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+ sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+ };
+ };
+ "validate-npm-package-license-3.0.1" = {
+ name = "validate-npm-package-license";
+ packageName = "validate-npm-package-license";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
+ sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
+ };
+ };
+ "builtin-modules-1.1.1" = {
+ name = "builtin-modules";
+ packageName = "builtin-modules";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
+ sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+ };
+ };
+ "spdx-correct-1.0.2" = {
+ name = "spdx-correct";
+ packageName = "spdx-correct";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz";
+ sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
+ };
+ };
+ "spdx-expression-parse-1.0.4" = {
+ name = "spdx-expression-parse";
+ packageName = "spdx-expression-parse";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz";
+ sha1 = "9bdf2f20e1f40ed447fbe273266191fced51626c";
+ };
+ };
+ "spdx-license-ids-1.2.2" = {
+ name = "spdx-license-ids";
+ packageName = "spdx-license-ids";
+ version = "1.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz";
+ sha1 = "c9df7a3424594ade6bd11900d596696dc06bac57";
+ };
+ };
+ "find-up-1.1.2" = {
+ name = "find-up";
+ packageName = "find-up";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
+ sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+ };
+ };
+ "read-pkg-1.1.0" = {
+ name = "read-pkg";
+ packageName = "read-pkg";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
+ sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+ };
+ };
+ "path-exists-2.1.0" = {
+ name = "path-exists";
+ packageName = "path-exists";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
+ sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+ };
+ };
+ "pinkie-promise-2.0.1" = {
+ name = "pinkie-promise";
+ packageName = "pinkie-promise";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+ sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+ };
+ };
+ "pinkie-2.0.4" = {
+ name = "pinkie";
+ packageName = "pinkie";
+ version = "2.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+ sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+ };
+ };
+ "load-json-file-1.1.0" = {
+ name = "load-json-file";
+ packageName = "load-json-file";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
+ sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+ };
+ };
+ "path-type-1.1.0" = {
+ name = "path-type";
+ packageName = "path-type";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
+ sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+ };
+ };
+ "graceful-fs-4.1.11" = {
+ name = "graceful-fs";
+ packageName = "graceful-fs";
+ version = "4.1.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz";
+ sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
+ };
+ };
+ "parse-json-2.2.0" = {
+ name = "parse-json";
+ packageName = "parse-json";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+ sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+ };
+ };
+ "pify-2.3.0" = {
+ name = "pify";
+ packageName = "pify";
+ version = "2.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+ sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+ };
+ };
+ "strip-bom-2.0.0" = {
+ name = "strip-bom";
+ packageName = "strip-bom";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
+ sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+ };
+ };
+ "error-ex-1.3.1" = {
+ name = "error-ex";
+ packageName = "error-ex";
+ version = "1.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz";
+ sha1 = "f855a86ce61adc4e8621c3cda21e7a7612c3a8dc";
+ };
+ };
+ "is-arrayish-0.2.1" = {
+ name = "is-arrayish";
+ packageName = "is-arrayish";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+ sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+ };
+ };
+ "is-utf8-0.2.1" = {
+ name = "is-utf8";
+ packageName = "is-utf8";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
+ sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+ };
+ };
+ "indent-string-2.1.0" = {
+ name = "indent-string";
+ packageName = "indent-string";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";
+ sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80";
+ };
+ };
+ "strip-indent-1.0.1" = {
+ name = "strip-indent";
+ packageName = "strip-indent";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz";
+ sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2";
+ };
+ };
+ "repeating-2.0.1" = {
+ name = "repeating";
+ packageName = "repeating";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
+ sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+ };
+ };
+ "is-finite-1.0.2" = {
+ name = "is-finite";
+ packageName = "is-finite";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";
+ sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+ };
+ };
+ "number-is-nan-1.0.1" = {
+ name = "number-is-nan";
+ packageName = "number-is-nan";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+ sha1 = "097b602b53422a522c1afb8790318336941a011d";
+ };
+ };
+ "minimist-0.0.8" = {
+ name = "minimist";
+ packageName = "minimist";
+ version = "0.0.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+ sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+ };
+ };
+ "fstream-1.0.11" = {
+ name = "fstream";
+ packageName = "fstream";
+ version = "1.0.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz";
+ sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171";
+ };
+ };
+ "nopt-3.0.6" = {
+ name = "nopt";
+ packageName = "nopt";
+ version = "3.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+ sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+ };
+ };
+ "osenv-0.1.4" = {
+ name = "osenv";
+ packageName = "osenv";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz";
+ sha1 = "42fe6d5953df06c8064be6f176c3d05aaaa34644";
+ };
+ };
+ "rimraf-2.6.1" = {
+ name = "rimraf";
+ packageName = "rimraf";
+ version = "2.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz";
+ sha1 = "c2338ec643df7a1b7fe5c54fa86f57428a55f33d";
+ };
+ };
+ "tar-2.2.1" = {
+ name = "tar";
+ packageName = "tar";
+ version = "2.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz";
+ sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1";
+ };
+ };
+ "abbrev-1.1.0" = {
+ name = "abbrev";
+ packageName = "abbrev";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz";
+ sha1 = "d0554c2256636e2f56e7c2e5ad183f859428d81f";
+ };
+ };
+ "os-homedir-1.0.2" = {
+ name = "os-homedir";
+ packageName = "os-homedir";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+ sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+ };
+ };
+ "os-tmpdir-1.0.2" = {
+ name = "os-tmpdir";
+ packageName = "os-tmpdir";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+ sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+ };
+ };
+ "block-stream-0.0.9" = {
+ name = "block-stream";
+ packageName = "block-stream";
+ version = "0.0.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
+ sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+ };
+ };
+ "are-we-there-yet-1.1.4" = {
+ name = "are-we-there-yet";
+ packageName = "are-we-there-yet";
+ version = "1.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz";
+ sha1 = "bb5dca382bb94f05e15194373d16fd3ba1ca110d";
+ };
+ };
+ "console-control-strings-1.1.0" = {
+ name = "console-control-strings";
+ packageName = "console-control-strings";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+ sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+ };
+ };
+ "gauge-2.7.4" = {
+ name = "gauge";
+ packageName = "gauge";
+ version = "2.7.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+ sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+ };
+ };
+ "set-blocking-2.0.0" = {
+ name = "set-blocking";
+ packageName = "set-blocking";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+ sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+ };
+ };
+ "delegates-1.0.0" = {
+ name = "delegates";
+ packageName = "delegates";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+ sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+ };
+ };
+ "readable-stream-2.3.3" = {
+ name = "readable-stream";
+ packageName = "readable-stream";
+ version = "2.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz";
+ sha1 = "368f2512d79f9d46fdfc71349ae7878bbc1eb95c";
+ };
+ };
+ "core-util-is-1.0.2" = {
+ name = "core-util-is";
+ packageName = "core-util-is";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+ sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+ };
+ };
+ "isarray-1.0.0" = {
+ name = "isarray";
+ packageName = "isarray";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+ sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+ };
+ };
+ "process-nextick-args-1.0.7" = {
+ name = "process-nextick-args";
+ packageName = "process-nextick-args";
+ version = "1.0.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+ sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+ };
+ };
+ "safe-buffer-5.1.1" = {
+ name = "safe-buffer";
+ packageName = "safe-buffer";
+ version = "5.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
+ sha1 = "893312af69b2123def71f57889001671eeb2c853";
+ };
+ };
+ "string_decoder-1.0.3" = {
+ name = "string_decoder";
+ packageName = "string_decoder";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz";
+ sha1 = "0fc67d7c141825de94282dd536bec6b9bce860ab";
+ };
+ };
+ "util-deprecate-1.0.2" = {
+ name = "util-deprecate";
+ packageName = "util-deprecate";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+ sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+ };
+ };
+ "aproba-1.1.2" = {
+ name = "aproba";
+ packageName = "aproba";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz";
+ sha1 = "45c6629094de4e96f693ef7eab74ae079c240fc1";
+ };
+ };
+ "has-unicode-2.0.1" = {
+ name = "has-unicode";
+ packageName = "has-unicode";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+ sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+ };
+ };
+ "string-width-1.0.2" = {
+ name = "string-width";
+ packageName = "string-width";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+ sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+ };
+ };
+ "wide-align-1.1.2" = {
+ name = "wide-align";
+ packageName = "wide-align";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz";
+ sha1 = "571e0f1b0604636ebc0dfc21b0339bbe31341710";
+ };
+ };
+ "code-point-at-1.1.0" = {
+ name = "code-point-at";
+ packageName = "code-point-at";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+ sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+ };
+ };
+ "is-fullwidth-code-point-1.0.0" = {
+ name = "is-fullwidth-code-point";
+ packageName = "is-fullwidth-code-point";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+ sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+ };
+ };
+ "aws-sign2-0.6.0" = {
+ name = "aws-sign2";
+ packageName = "aws-sign2";
+ version = "0.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
+ sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
+ };
+ };
+ "aws4-1.6.0" = {
+ name = "aws4";
+ packageName = "aws4";
+ version = "1.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
+ sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+ };
+ };
+ "caseless-0.12.0" = {
+ name = "caseless";
+ packageName = "caseless";
+ version = "0.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+ sha1 = "1b681c21ff84033c826543090689420d187151dc";
+ };
+ };
+ "combined-stream-1.0.5" = {
+ name = "combined-stream";
+ packageName = "combined-stream";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
+ sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
+ };
+ };
+ "extend-3.0.1" = {
+ name = "extend";
+ packageName = "extend";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz";
+ sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
+ };
+ };
+ "forever-agent-0.6.1" = {
+ name = "forever-agent";
+ packageName = "forever-agent";
+ version = "0.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+ sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+ };
+ };
+ "form-data-2.1.4" = {
+ name = "form-data";
+ packageName = "form-data";
+ version = "2.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz";
+ sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1";
+ };
+ };
+ "har-validator-4.2.1" = {
+ name = "har-validator";
+ packageName = "har-validator";
+ version = "4.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
+ sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
+ };
+ };
+ "hawk-3.1.3" = {
+ name = "hawk";
+ packageName = "hawk";
+ version = "3.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
+ sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
+ };
+ };
+ "http-signature-1.1.1" = {
+ name = "http-signature";
+ packageName = "http-signature";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
+ sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
+ };
+ };
+ "is-typedarray-1.0.0" = {
+ name = "is-typedarray";
+ packageName = "is-typedarray";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+ sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+ };
+ };
+ "isstream-0.1.2" = {
+ name = "isstream";
+ packageName = "isstream";
+ version = "0.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+ sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+ };
+ };
+ "json-stringify-safe-5.0.1" = {
+ name = "json-stringify-safe";
+ packageName = "json-stringify-safe";
+ version = "5.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+ sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+ };
+ };
+ "mime-types-2.1.15" = {
+ name = "mime-types";
+ packageName = "mime-types";
+ version = "2.1.15";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz";
+ sha1 = "a4ebf5064094569237b8cf70046776d09fc92aed";
+ };
+ };
+ "oauth-sign-0.8.2" = {
+ name = "oauth-sign";
+ packageName = "oauth-sign";
+ version = "0.8.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
+ sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+ };
+ };
+ "performance-now-0.2.0" = {
+ name = "performance-now";
+ packageName = "performance-now";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
+ sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+ };
+ };
+ "qs-6.4.0" = {
+ name = "qs";
+ packageName = "qs";
+ version = "6.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
+ sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
+ };
+ };
+ "stringstream-0.0.5" = {
+ name = "stringstream";
+ packageName = "stringstream";
+ version = "0.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
+ sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
+ };
+ };
+ "tough-cookie-2.3.2" = {
+ name = "tough-cookie";
+ packageName = "tough-cookie";
+ version = "2.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz";
+ sha1 = "f081f76e4c85720e6c37a5faced737150d84072a";
+ };
+ };
+ "tunnel-agent-0.6.0" = {
+ name = "tunnel-agent";
+ packageName = "tunnel-agent";
+ version = "0.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+ sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+ };
+ };
+ "uuid-3.1.0" = {
+ name = "uuid";
+ packageName = "uuid";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz";
+ sha1 = "3dd3d3e790abc24d7b0d3a034ffababe28ebbc04";
+ };
+ };
+ "delayed-stream-1.0.0" = {
+ name = "delayed-stream";
+ packageName = "delayed-stream";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+ sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+ };
+ };
+ "asynckit-0.4.0" = {
+ name = "asynckit";
+ packageName = "asynckit";
+ version = "0.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+ sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+ };
+ };
+ "ajv-4.11.8" = {
+ name = "ajv";
+ packageName = "ajv";
+ version = "4.11.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";
+ sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
+ };
+ };
+ "har-schema-1.0.5" = {
+ name = "har-schema";
+ packageName = "har-schema";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
+ sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
+ };
+ };
+ "co-4.6.0" = {
+ name = "co";
+ packageName = "co";
+ version = "4.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+ sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+ };
+ };
+ "json-stable-stringify-1.0.1" = {
+ name = "json-stable-stringify";
+ packageName = "json-stable-stringify";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+ sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+ };
+ };
+ "jsonify-0.0.0" = {
+ name = "jsonify";
+ packageName = "jsonify";
+ version = "0.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+ sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+ };
+ };
+ "hoek-2.16.3" = {
+ name = "hoek";
+ packageName = "hoek";
+ version = "2.16.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
+ sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
+ };
+ };
+ "boom-2.10.1" = {
+ name = "boom";
+ packageName = "boom";
+ version = "2.10.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
+ sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
+ };
+ };
+ "cryptiles-2.0.5" = {
+ name = "cryptiles";
+ packageName = "cryptiles";
+ version = "2.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
+ sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
+ };
+ };
+ "sntp-1.0.9" = {
+ name = "sntp";
+ packageName = "sntp";
+ version = "1.0.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
+ sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+ };
+ };
+ "assert-plus-0.2.0" = {
+ name = "assert-plus";
+ packageName = "assert-plus";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
+ sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
+ };
+ };
+ "jsprim-1.4.0" = {
+ name = "jsprim";
+ packageName = "jsprim";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz";
+ sha1 = "a3b87e40298d8c380552d8cc7628a0bb95a22918";
+ };
+ };
+ "sshpk-1.13.1" = {
+ name = "sshpk";
+ packageName = "sshpk";
+ version = "1.13.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz";
+ sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
+ };
+ };
+ "assert-plus-1.0.0" = {
+ name = "assert-plus";
+ packageName = "assert-plus";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+ sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+ };
+ };
+ "extsprintf-1.0.2" = {
+ name = "extsprintf";
+ packageName = "extsprintf";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
+ sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+ };
+ };
+ "json-schema-0.2.3" = {
+ name = "json-schema";
+ packageName = "json-schema";
+ version = "0.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+ sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+ };
+ };
+ "verror-1.3.6" = {
+ name = "verror";
+ packageName = "verror";
+ version = "1.3.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
+ sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+ };
+ };
+ "asn1-0.2.3" = {
+ name = "asn1";
+ packageName = "asn1";
+ version = "0.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
+ sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+ };
+ };
+ "dashdash-1.14.1" = {
+ name = "dashdash";
+ packageName = "dashdash";
+ version = "1.14.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+ sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+ };
+ };
+ "getpass-0.1.7" = {
+ name = "getpass";
+ packageName = "getpass";
+ version = "0.1.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+ sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+ };
+ };
+ "jsbn-0.1.1" = {
+ name = "jsbn";
+ packageName = "jsbn";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+ sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+ };
+ };
+ "tweetnacl-0.14.5" = {
+ name = "tweetnacl";
+ packageName = "tweetnacl";
+ version = "0.14.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+ sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+ };
+ };
+ "ecc-jsbn-0.1.1" = {
+ name = "ecc-jsbn";
+ packageName = "ecc-jsbn";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+ sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+ };
+ };
+ "bcrypt-pbkdf-1.0.1" = {
+ name = "bcrypt-pbkdf";
+ packageName = "bcrypt-pbkdf";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+ sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
+ };
+ };
+ "mime-db-1.27.0" = {
+ name = "mime-db";
+ packageName = "mime-db";
+ version = "1.27.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz";
+ sha1 = "820f572296bbd20ec25ed55e5b5de869e5436eb1";
+ };
+ };
+ "punycode-1.4.1" = {
+ name = "punycode";
+ packageName = "punycode";
+ version = "1.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+ sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+ };
+ };
+ "scss-tokenizer-0.2.3" = {
+ name = "scss-tokenizer";
+ packageName = "scss-tokenizer";
+ version = "0.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz";
+ sha1 = "8eb06db9a9723333824d3f5530641149847ce5d1";
+ };
+ };
+ "yargs-7.1.0" = {
+ name = "yargs";
+ packageName = "yargs";
+ version = "7.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz";
+ sha1 = "6ba318eb16961727f5d284f8ea003e8d6154d0c8";
+ };
+ };
+ "js-base64-2.1.9" = {
+ name = "js-base64";
+ packageName = "js-base64";
+ version = "2.1.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz";
+ sha1 = "f0e80ae039a4bd654b5f281fc93f04a914a7fcce";
+ };
+ };
+ "source-map-0.4.4" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.4.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
+ sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+ };
+ };
+ "amdefine-1.0.1" = {
+ name = "amdefine";
+ packageName = "amdefine";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+ sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+ };
+ };
+ "camelcase-3.0.0" = {
+ name = "camelcase";
+ packageName = "camelcase";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz";
+ sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
+ };
+ };
+ "cliui-3.2.0" = {
+ name = "cliui";
+ packageName = "cliui";
+ version = "3.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
+ sha1 = "120601537a916d29940f934da3b48d585a39213d";
+ };
+ };
+ "get-caller-file-1.0.2" = {
+ name = "get-caller-file";
+ packageName = "get-caller-file";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz";
+ sha1 = "f702e63127e7e231c160a80c1554acb70d5047e5";
+ };
+ };
+ "os-locale-1.4.0" = {
+ name = "os-locale";
+ packageName = "os-locale";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
+ sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+ };
+ };
+ "require-directory-2.1.1" = {
+ name = "require-directory";
+ packageName = "require-directory";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+ sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+ };
+ };
+ "require-main-filename-1.0.1" = {
+ name = "require-main-filename";
+ packageName = "require-main-filename";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+ sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+ };
+ };
+ "which-module-1.0.0" = {
+ name = "which-module";
+ packageName = "which-module";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz";
+ sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+ };
+ };
+ "y18n-3.2.1" = {
+ name = "y18n";
+ packageName = "y18n";
+ version = "3.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
+ sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+ };
+ };
+ "yargs-parser-5.0.0" = {
+ name = "yargs-parser";
+ packageName = "yargs-parser";
+ version = "5.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz";
+ sha1 = "275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a";
+ };
+ };
+ "wrap-ansi-2.1.0" = {
+ name = "wrap-ansi";
+ packageName = "wrap-ansi";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+ sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+ };
+ };
+ "lcid-1.0.0" = {
+ name = "lcid";
+ packageName = "lcid";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+ sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+ };
+ };
+ "invert-kv-1.0.0" = {
+ name = "invert-kv";
+ packageName = "invert-kv";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+ sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+ };
+ };
+ };
+in
+{
+ "node-sass-4.5.3" = nodeEnv.buildNodePackage {
+ name = "node-sass";
+ packageName = "node-sass";
+ version = "4.5.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz";
+ sha1 = "d09c9d1179641239d1b97ffc6231fdcec53e1568";
+ };
+ preRebuild = ''
+ SASS_FORCE_BUILD=true npm run-script build
+ '';
+ dependencies = [
+ sources."async-foreach-0.1.3"
+ (sources."chalk-1.1.3" // {
+ dependencies = [
+ sources."ansi-styles-2.2.1"
+ sources."escape-string-regexp-1.0.5"
+ (sources."has-ansi-2.0.0" // {
+ dependencies = [
+ sources."ansi-regex-2.1.1"
+ ];
+ })
+ (sources."strip-ansi-3.0.1" // {
+ dependencies = [
+ sources."ansi-regex-2.1.1"
+ ];
+ })
+ sources."supports-color-2.0.0"
+ ];
+ })
+ (sources."cross-spawn-3.0.1" // {
+ dependencies = [
+ (sources."lru-cache-4.1.1" // {
+ dependencies = [
+ sources."pseudomap-1.0.2"
+ sources."yallist-2.1.2"
+ ];
+ })
+ (sources."which-1.2.14" // {
+ dependencies = [
+ sources."isexe-2.0.0"
+ ];
+ })
+ ];
+ })
+ (sources."gaze-1.1.2" // {
+ dependencies = [
+ (sources."globule-1.2.0" // {
+ dependencies = [
+ sources."lodash-4.17.4"
+ (sources."minimatch-3.0.4" // {
+ dependencies = [
+ (sources."brace-expansion-1.1.8" // {
+ dependencies = [
+ sources."balanced-match-1.0.0"
+ sources."concat-map-0.0.1"
+ ];
+ })
+ ];
+ })
+ ];
+ })
+ ];
+ })
+ sources."get-stdin-4.0.1"
+ (sources."glob-7.1.2" // {
+ dependencies = [
+ sources."fs.realpath-1.0.0"
+ (sources."inflight-1.0.6" // {
+ dependencies = [
+ sources."wrappy-1.0.2"
+ ];
+ })
+ sources."inherits-2.0.3"
+ (sources."minimatch-3.0.4" // {
+ dependencies = [
+ (sources."brace-expansion-1.1.8" // {
+ dependencies = [
+ sources."balanced-match-1.0.0"
+ sources."concat-map-0.0.1"
+ ];
+ })
+ ];
+ })
+ (sources."once-1.4.0" // {
+ dependencies = [
+ sources."wrappy-1.0.2"
+ ];
+ })
+ sources."path-is-absolute-1.0.1"
+ ];
+ })
+ sources."in-publish-2.0.0"
+ sources."lodash.assign-4.2.0"
+ sources."lodash.clonedeep-4.5.0"
+ sources."lodash.mergewith-4.6.0"
+ (sources."meow-3.7.0" // {
+ dependencies = [
+ (sources."camelcase-keys-2.1.0" // {
+ dependencies = [
+ sources."camelcase-2.1.1"
+ ];
+ })
+ sources."decamelize-1.2.0"
+ (sources."loud-rejection-1.6.0" // {
+ dependencies = [
+ (sources."currently-unhandled-0.4.1" // {
+ dependencies = [
+ sources."array-find-index-1.0.2"
+ ];
+ })
+ sources."signal-exit-3.0.2"
+ ];
+ })
+ sources."map-obj-1.0.1"
+ sources."minimist-1.2.0"
+ (sources."normalize-package-data-2.4.0" // {
+ dependencies = [
+ sources."hosted-git-info-2.5.0"
+ (sources."is-builtin-module-1.0.0" // {
+ dependencies = [
+ sources."builtin-modules-1.1.1"
+ ];
+ })
+ sources."semver-5.3.0"
+ (sources."validate-npm-package-license-3.0.1" // {
+ dependencies = [
+ (sources."spdx-correct-1.0.2" // {
+ dependencies = [
+ sources."spdx-license-ids-1.2.2"
+ ];
+ })
+ sources."spdx-expression-parse-1.0.4"
+ ];
+ })
+ ];
+ })
+ sources."object-assign-4.1.1"
+ (sources."read-pkg-up-1.0.1" // {
+ dependencies = [
+ (sources."find-up-1.1.2" // {
+ dependencies = [
+ sources."path-exists-2.1.0"
+ (sources."pinkie-promise-2.0.1" // {
+ dependencies = [
+ sources."pinkie-2.0.4"
+ ];
+ })
+ ];
+ })
+ (sources."read-pkg-1.1.0" // {
+ dependencies = [
+ (sources."load-json-file-1.1.0" // {
+ dependencies = [
+ sources."graceful-fs-4.1.11"
+ (sources."parse-json-2.2.0" // {
+ dependencies = [
+ (sources."error-ex-1.3.1" // {
+ dependencies = [
+ sources."is-arrayish-0.2.1"
+ ];
+ })
+ ];
+ })
+ sources."pify-2.3.0"
+ (sources."pinkie-promise-2.0.1" // {
+ dependencies = [
+ sources."pinkie-2.0.4"
+ ];
+ })
+ (sources."strip-bom-2.0.0" // {
+ dependencies = [
+ sources."is-utf8-0.2.1"
+ ];
+ })
+ ];
+ })
+ (sources."path-type-1.1.0" // {
+ dependencies = [
+ sources."graceful-fs-4.1.11"
+ sources."pify-2.3.0"
+ (sources."pinkie-promise-2.0.1" // {
+ dependencies = [
+ sources."pinkie-2.0.4"
+ ];
+ })
+ ];
+ })
+ ];
+ })
+ ];
+ })
+ (sources."redent-1.0.0" // {
+ dependencies = [
+ (sources."indent-string-2.1.0" // {
+ dependencies = [
+ (sources."repeating-2.0.1" // {
+ dependencies = [
+ (sources."is-finite-1.0.2" // {
+ dependencies = [
+ sources."number-is-nan-1.0.1"
+ ];
+ })
+ ];
+ })
+ ];
+ })
+ sources."strip-indent-1.0.1"
+ ];
+ })
+ sources."trim-newlines-1.0.0"
+ ];
+ })
+ (sources."mkdirp-0.5.1" // {
+ dependencies = [
+ sources."minimist-0.0.8"
+ ];
+ })
+ sources."nan-2.6.2"
+ (sources."node-gyp-3.6.2" // {
+ dependencies = [
+ (sources."fstream-1.0.11" // {
+ dependencies = [
+ sources."inherits-2.0.3"
+ ];
+ })
+ sources."graceful-fs-4.1.11"
+ (sources."minimatch-3.0.4" // {
+ dependencies = [
+ (sources."brace-expansion-1.1.8" // {
+ dependencies = [
+ sources."balanced-match-1.0.0"
+ sources."concat-map-0.0.1"
+ ];
+ })
+ ];
+ })
+ (sources."nopt-3.0.6" // {
+ dependencies = [
+ sources."abbrev-1.1.0"
+ ];
+ })
+ (sources."osenv-0.1.4" // {
+ dependencies = [
+ sources."os-homedir-1.0.2"
+ sources."os-tmpdir-1.0.2"
+ ];
+ })
+ sources."rimraf-2.6.1"
+ sources."semver-5.3.0"
+ (sources."tar-2.2.1" // {
+ dependencies = [
+ sources."block-stream-0.0.9"
+ sources."inherits-2.0.3"
+ ];
+ })
+ (sources."which-1.2.14" // {
+ dependencies = [
+ sources."isexe-2.0.0"
+ ];
+ })
+ ];
+ })
+ (sources."npmlog-4.1.2" // {
+ dependencies = [
+ (sources."are-we-there-yet-1.1.4" // {
+ dependencies = [
+ sources."delegates-1.0.0"
+ (sources."readable-stream-2.3.3" // {
+ dependencies = [
+ sources."core-util-is-1.0.2"
+ sources."inherits-2.0.3"
+ sources."isarray-1.0.0"
+ sources."process-nextick-args-1.0.7"
+ sources."safe-buffer-5.1.1"
+ sources."string_decoder-1.0.3"
+ sources."util-deprecate-1.0.2"
+ ];
+ })
+ ];
+ })
+ sources."console-control-strings-1.1.0"
+ (sources."gauge-2.7.4" // {
+ dependencies = [
+ sources."aproba-1.1.2"
+ sources."has-unicode-2.0.1"
+ sources."object-assign-4.1.1"
+ sources."signal-exit-3.0.2"
+ (sources."string-width-1.0.2" // {
+ dependencies = [
+ sources."code-point-at-1.1.0"
+ (sources."is-fullwidth-code-point-1.0.0" // {
+ dependencies = [
+ sources."number-is-nan-1.0.1"
+ ];
+ })
+ ];
+ })
+ (sources."strip-ansi-3.0.1" // {
+ dependencies = [
+ sources."ansi-regex-2.1.1"
+ ];
+ })
+ sources."wide-align-1.1.2"
+ ];
+ })
+ sources."set-blocking-2.0.0"
+ ];
+ })
+ (sources."request-2.81.0" // {
+ dependencies = [
+ sources."aws-sign2-0.6.0"
+ sources."aws4-1.6.0"
+ sources."caseless-0.12.0"
+ (sources."combined-stream-1.0.5" // {
+ dependencies = [
+ sources."delayed-stream-1.0.0"
+ ];
+ })
+ sources."extend-3.0.1"
+ sources."forever-agent-0.6.1"
+ (sources."form-data-2.1.4" // {
+ dependencies = [
+ sources."asynckit-0.4.0"
+ ];
+ })
+ (sources."har-validator-4.2.1" // {
+ dependencies = [
+ (sources."ajv-4.11.8" // {
+ dependencies = [
+ sources."co-4.6.0"
+ (sources."json-stable-stringify-1.0.1" // {
+ dependencies = [
+ sources."jsonify-0.0.0"
+ ];
+ })
+ ];
+ })
+ sources."har-schema-1.0.5"
+ ];
+ })
+ (sources."hawk-3.1.3" // {
+ dependencies = [
+ sources."hoek-2.16.3"
+ sources."boom-2.10.1"
+ sources."cryptiles-2.0.5"
+ sources."sntp-1.0.9"
+ ];
+ })
+ (sources."http-signature-1.1.1" // {
+ dependencies = [
+ sources."assert-plus-0.2.0"
+ (sources."jsprim-1.4.0" // {
+ dependencies = [
+ sources."assert-plus-1.0.0"
+ sources."extsprintf-1.0.2"
+ sources."json-schema-0.2.3"
+ sources."verror-1.3.6"
+ ];
+ })
+ (sources."sshpk-1.13.1" // {
+ dependencies = [
+ sources."asn1-0.2.3"
+ sources."assert-plus-1.0.0"
+ sources."dashdash-1.14.1"
+ sources."getpass-0.1.7"
+ sources."jsbn-0.1.1"
+ sources."tweetnacl-0.14.5"
+ sources."ecc-jsbn-0.1.1"
+ sources."bcrypt-pbkdf-1.0.1"
+ ];
+ })
+ ];
+ })
+ sources."is-typedarray-1.0.0"
+ sources."isstream-0.1.2"
+ sources."json-stringify-safe-5.0.1"
+ (sources."mime-types-2.1.15" // {
+ dependencies = [
+ sources."mime-db-1.27.0"
+ ];
+ })
+ sources."oauth-sign-0.8.2"
+ sources."performance-now-0.2.0"
+ sources."qs-6.4.0"
+ sources."safe-buffer-5.1.1"
+ sources."stringstream-0.0.5"
+ (sources."tough-cookie-2.3.2" // {
+ dependencies = [
+ sources."punycode-1.4.1"
+ ];
+ })
+ sources."tunnel-agent-0.6.0"
+ sources."uuid-3.1.0"
+ ];
+ })
+ (sources."sass-graph-2.2.4" // {
+ dependencies = [
+ sources."lodash-4.17.4"
+ (sources."scss-tokenizer-0.2.3" // {
+ dependencies = [
+ sources."js-base64-2.1.9"
+ (sources."source-map-0.4.4" // {
+ dependencies = [
+ sources."amdefine-1.0.1"
+ ];
+ })
+ ];
+ })
+ (sources."yargs-7.1.0" // {
+ dependencies = [
+ sources."camelcase-3.0.0"
+ (sources."cliui-3.2.0" // {
+ dependencies = [
+ (sources."strip-ansi-3.0.1" // {
+ dependencies = [
+ sources."ansi-regex-2.1.1"
+ ];
+ })
+ sources."wrap-ansi-2.1.0"
+ ];
+ })
+ sources."decamelize-1.2.0"
+ sources."get-caller-file-1.0.2"
+ (sources."os-locale-1.4.0" // {
+ dependencies = [
+ (sources."lcid-1.0.0" // {
+ dependencies = [
+ sources."invert-kv-1.0.0"
+ ];
+ })
+ ];
+ })
+ (sources."read-pkg-up-1.0.1" // {
+ dependencies = [
+ (sources."find-up-1.1.2" // {
+ dependencies = [
+ sources."path-exists-2.1.0"
+ (sources."pinkie-promise-2.0.1" // {
+ dependencies = [
+ sources."pinkie-2.0.4"
+ ];
+ })
+ ];
+ })
+ (sources."read-pkg-1.1.0" // {
+ dependencies = [
+ (sources."load-json-file-1.1.0" // {
+ dependencies = [
+ sources."graceful-fs-4.1.11"
+ (sources."parse-json-2.2.0" // {
+ dependencies = [
+ (sources."error-ex-1.3.1" // {
+ dependencies = [
+ sources."is-arrayish-0.2.1"
+ ];
+ })
+ ];
+ })
+ sources."pify-2.3.0"
+ (sources."pinkie-promise-2.0.1" // {
+ dependencies = [
+ sources."pinkie-2.0.4"
+ ];
+ })
+ (sources."strip-bom-2.0.0" // {
+ dependencies = [
+ sources."is-utf8-0.2.1"
+ ];
+ })
+ ];
+ })
+ (sources."normalize-package-data-2.4.0" // {
+ dependencies = [
+ sources."hosted-git-info-2.5.0"
+ (sources."is-builtin-module-1.0.0" // {
+ dependencies = [
+ sources."builtin-modules-1.1.1"
+ ];
+ })
+ sources."semver-5.3.0"
+ (sources."validate-npm-package-license-3.0.1" // {
+ dependencies = [
+ (sources."spdx-correct-1.0.2" // {
+ dependencies = [
+ sources."spdx-license-ids-1.2.2"
+ ];
+ })
+ sources."spdx-expression-parse-1.0.4"
+ ];
+ })
+ ];
+ })
+ (sources."path-type-1.1.0" // {
+ dependencies = [
+ sources."graceful-fs-4.1.11"
+ sources."pify-2.3.0"
+ (sources."pinkie-promise-2.0.1" // {
+ dependencies = [
+ sources."pinkie-2.0.4"
+ ];
+ })
+ ];
+ })
+ ];
+ })
+ ];
+ })
+ sources."require-directory-2.1.1"
+ sources."require-main-filename-1.0.1"
+ sources."set-blocking-2.0.0"
+ (sources."string-width-1.0.2" // {
+ dependencies = [
+ sources."code-point-at-1.1.0"
+ (sources."is-fullwidth-code-point-1.0.0" // {
+ dependencies = [
+ sources."number-is-nan-1.0.1"
+ ];
+ })
+ (sources."strip-ansi-3.0.1" // {
+ dependencies = [
+ sources."ansi-regex-2.1.1"
+ ];
+ })
+ ];
+ })
+ sources."which-module-1.0.0"
+ sources."y18n-3.2.1"
+ sources."yargs-parser-5.0.0"
+ ];
+ })
+ ];
+ })
+ (sources."stdout-stream-1.4.0" // {
+ dependencies = [
+ (sources."readable-stream-2.3.3" // {
+ dependencies = [
+ sources."core-util-is-1.0.2"
+ sources."inherits-2.0.3"
+ sources."isarray-1.0.0"
+ sources."process-nextick-args-1.0.7"
+ sources."safe-buffer-5.1.1"
+ sources."string_decoder-1.0.3"
+ sources."util-deprecate-1.0.2"
+ ];
+ })
+ ];
+ })
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Wrapper around libsass";
+ homepage = https://github.com/sass/node-sass;
+ license = "MIT";
+ };
+ production = true;
+ };
+}