diff options
Diffstat (limited to 'modules/pkgs/nodejs-sass')
-rw-r--r-- | modules/pkgs/nodejs-sass/default.nix | 18 | ||||
-rwxr-xr-x | modules/pkgs/nodejs-sass/generate.sh | 4 | ||||
-rw-r--r-- | modules/pkgs/nodejs-sass/main.json | 3 | ||||
-rw-r--r-- | modules/pkgs/nodejs-sass/main.nix | 16 | ||||
-rw-r--r-- | modules/pkgs/nodejs-sass/node-env.nix | 349 | ||||
-rw-r--r-- | modules/pkgs/nodejs-sass/node-packages.nix | 2142 |
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; + }; +} |