diff options
Diffstat (limited to 'nixpkgs/pkgs/development/web')
36 files changed, 6308 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/web/csslint/default.nix b/nixpkgs/pkgs/development/web/csslint/default.nix new file mode 100644 index 000000000000..4159e3690490 --- /dev/null +++ b/nixpkgs/pkgs/development/web/csslint/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, nodejs }: + +stdenv.mkDerivation rec { + version = "0.10.0"; + name = "csslint-${version}"; + + src = fetchurl { + url = "https://registry.npmjs.org/csslint/-/${name}.tgz"; + sha256 = "1gq2x0pf2p4jhccvn3y3kjhm1lmb4jsfdbzjdh924w8m3sr9jdid"; + }; + + # node is the interpreter used to run this script + buildInputs = [ nodejs ]; + + installPhase = '' + sed -i "s/path\.join/path\.resolve/g" cli.js # fixes csslint issue #167 + mkdir -p $out/bin; + cp -r * $out/bin + mv $out/bin/cli.js $out/bin/csslint + ''; + + meta = with stdenv.lib; { + description = "Checks CSS for syntax errors and other problems"; + longDescription = '' + CSSLint is a tool to help point out problems with your CSS + code. It does basic syntax checking as well as applying a set of + rules to the code that look for problematic patterns or signs of + inefficiency. The rules are all pluggable, so you can easily + write your own or omit ones you don't want. ''; + homepage = https://nodejs.org; + license = licenses.bsd2; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/web/grails/default.nix b/nixpkgs/pkgs/development/web/grails/default.nix new file mode 100644 index 000000000000..018c7f969697 --- /dev/null +++ b/nixpkgs/pkgs/development/web/grails/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, unzip +# If jdk is null, require JAVA_HOME in runtime environment, else store +# JAVA_HOME=${jdk.home} into grails. +, jdk ? null +, coreutils, ncurses, gnused, gnugrep # for purity +}: + +let + binpath = stdenv.lib.makeBinPath + ([ coreutils ncurses gnused gnugrep ] ++ stdenv.lib.optional (jdk != null) jdk); +in +stdenv.mkDerivation rec { + name = "grails-${version}"; + version = "3.3.10"; + + src = fetchurl { + url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip"; + sha256 = "1lykawfi47c2k6lq4vrnghlz8gcnmqsslxsnaq4d2n78g0y3yyr2"; + }; + + buildInputs = [ unzip ]; + + dontBuild = true; + + installPhase = '' + mkdir -p "$out" + cp -vr . "$out" + # Remove (for now) uneeded Windows .bat files + rm -f "$out"/bin/*.bat + # Improve purity + sed -i -e '2iPATH=${binpath}:\$PATH' "$out"/bin/grails + '' + stdenv.lib.optionalString (jdk != null) '' + # Inject JDK path into grails + sed -i -e '2iJAVA_HOME=${jdk.home}' "$out"/bin/grails + ''; + + preferLocalBuild = true; + + meta = with stdenv.lib; { + description = "Full stack, web application framework for the JVM"; + longDescription = '' + Grails is an Open Source, full stack, web application framework for the + JVM. It takes advantage of the Groovy programming language and convention + over configuration to provide a productive and stream-lined development + experience. + ''; + homepage = https://grails.org/; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/nixpkgs/pkgs/development/web/insomnia/default.nix b/nixpkgs/pkgs/development/web/insomnia/default.nix new file mode 100644 index 000000000000..264f77a7fd95 --- /dev/null +++ b/nixpkgs/pkgs/development/web/insomnia/default.nix @@ -0,0 +1,97 @@ +{ stdenv, makeWrapper, fetchurl, dpkg +, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype +, gdk_pixbuf, glib, gnome2, nspr, nss, gtk3, gtk2, at-spi2-atk +, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook +, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext +, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2 +, libudev0-shim, glibc, curl, openssl, autoPatchelfHook +}: + +let + runtimeLibs = stdenv.lib.makeLibraryPath [ + curl + glibc + libudev0-shim + nghttp2 + openssl + stdenv.cc.cc + ]; +in stdenv.mkDerivation rec { + name = "insomnia-${version}"; + version = "6.5.3"; + + src = fetchurl { + url = "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb"; + sha256 = "0km7anw5xpcfr6j7pwqhv26pk7nxv1jywqlz0lpvgj6w85aafcm3"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + dpkg + makeWrapper + gobject-introspection wrapGAppsHook + ]; + + buildInputs = [ + alsaLib + at-spi2-atk + atk + cairo + cups + dbus + expat + fontconfig + freetype + gdk_pixbuf + glib + gnome2.GConf + gnome2.pango + gtk2 + gtk3 + gsettings-desktop-schemas + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + libxcb + nspr + nss + stdenv.cc.cc + ]; + + dontBuild = true; + dontConfigure = true; + + unpackPhase = "dpkg-deb -x $src ."; + + installPhase = '' + mkdir -p $out/share/insomnia $out/lib $out/bin + + mv usr/share/* $out/share/ + mv opt/Insomnia/* $out/share/insomnia + mv $out/share/insomnia/*.so $out/lib/ + + ln -s $out/share/insomnia/insomnia $out/bin/insomnia + sed -i 's|\/opt\/Insomnia|'$out'/bin|g' $out/share/applications/insomnia.desktop + ''; + + preFixup = '' + wrapProgram "$out/bin/insomnia" --prefix LD_LIBRARY_PATH : ${runtimeLibs} + ''; + + meta = with stdenv.lib; { + homepage = https://insomnia.rest/; + description = "The most intuitive cross-platform REST API Client"; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ markus1189 ]; + }; + +} diff --git a/nixpkgs/pkgs/development/web/kcgi/default.nix b/nixpkgs/pkgs/development/web/kcgi/default.nix new file mode 100644 index 000000000000..485c4026afae --- /dev/null +++ b/nixpkgs/pkgs/development/web/kcgi/default.nix @@ -0,0 +1,33 @@ +{ stdenv, pkgconfig, fetchFromGitHub, libbsd }: + +stdenv.mkDerivation rec { + pname = "kcgi"; + version = "0.10.8"; + underscoreVersion = stdenv.lib.replaceChars ["."] ["_"] version; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "kristapsdz"; + repo = pname; + rev = "VERSION_${underscoreVersion}"; + sha256 = "0ha6r7bcgf6pcn5gbd2sl7835givhda1jql49c232f1iair1yqyp"; + }; + patchPhase = ''substituteInPlace configure \ + --replace /usr/local / + ''; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ] ++ stdenv.lib.optionals stdenv.isLinux [ libbsd ] ; + + dontAddPrefix = true; + + installFlags = [ "DESTDIR=$(out)" ]; + + meta = with stdenv.lib; { + homepage = https://kristaps.bsd.lv/kcgi; + description = "Minimal CGI and FastCGI library for C/C++"; + license = licenses.isc; + platforms = platforms.all; + maintainers = [ maintainers.leenaars ]; + }; +} diff --git a/nixpkgs/pkgs/development/web/kore/default.nix b/nixpkgs/pkgs/development/web/kore/default.nix new file mode 100644 index 000000000000..a59db6d4d1ae --- /dev/null +++ b/nixpkgs/pkgs/development/web/kore/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, openssl }: + +stdenv.mkDerivation rec { + pname = "kore"; + version = "3.3.1"; + + src = fetchFromGitHub { + owner = "jorisvink"; + repo = pname; + rev = "${version}-release"; + sha256 = "0jlvry9p1f7284cscfsg04ngbaq038yx3nz815jcr5s3d2jzps3h"; + }; + + buildInputs = [ openssl ]; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + + # added to fix build w/gcc7 and clang5 + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isGNU "-Wno-error=pointer-compare" + + stdenv.lib.optionalString stdenv.cc.isClang " -Wno-error=unknown-warning-option"; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "An easy to use web application framework for C"; + homepage = https://kore.io; + license = licenses.isc; + platforms = platforms.all; + maintainers = with maintainers; [ johnmh ]; + }; +} diff --git a/nixpkgs/pkgs/development/web/mailcatcher/Gemfile b/nixpkgs/pkgs/development/web/mailcatcher/Gemfile new file mode 100644 index 000000000000..8cc16fad7e56 --- /dev/null +++ b/nixpkgs/pkgs/development/web/mailcatcher/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'mailcatcher' diff --git a/nixpkgs/pkgs/development/web/mailcatcher/Gemfile.lock b/nixpkgs/pkgs/development/web/mailcatcher/Gemfile.lock new file mode 100644 index 000000000000..560213897c91 --- /dev/null +++ b/nixpkgs/pkgs/development/web/mailcatcher/Gemfile.lock @@ -0,0 +1,41 @@ +GEM + remote: https://rubygems.org/ + specs: + daemons (1.3.1) + eventmachine (1.0.9.1) + mail (2.7.1) + mini_mime (>= 0.1.1) + mailcatcher (0.7.1) + eventmachine (= 1.0.9.1) + mail (~> 2.3) + rack (~> 1.5) + sinatra (~> 1.2) + skinny (~> 0.2.3) + sqlite3 (~> 1.3) + thin (~> 1.5.0) + mini_mime (1.0.1) + rack (1.6.11) + rack-protection (1.5.5) + rack + sinatra (1.4.8) + rack (~> 1.5) + rack-protection (~> 1.4) + tilt (>= 1.3, < 3) + skinny (0.2.4) + eventmachine (~> 1.0.0) + thin (>= 1.5, < 1.7) + sqlite3 (1.4.0) + thin (1.5.1) + daemons (>= 1.0.9) + eventmachine (>= 0.12.6) + rack (>= 1.0.0) + tilt (2.0.9) + +PLATFORMS + ruby + +DEPENDENCIES + mailcatcher + +BUNDLED WITH + 1.17.2 diff --git a/nixpkgs/pkgs/development/web/mailcatcher/default.nix b/nixpkgs/pkgs/development/web/mailcatcher/default.nix new file mode 100644 index 000000000000..a2fa509232de --- /dev/null +++ b/nixpkgs/pkgs/development/web/mailcatcher/default.nix @@ -0,0 +1,15 @@ +{ lib, bundlerApp }: + +bundlerApp { + pname = "mailcatcher"; + gemdir = ./.; + exes = [ "mailcatcher" "catchmail" ]; + + meta = with lib; { + description = "SMTP server and web interface to locally test outbound emails"; + homepage = https://mailcatcher.me/; + license = licenses.mit; + maintainers = [ maintainers.zarelit ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/web/mailcatcher/gemset.nix b/nixpkgs/pkgs/development/web/mailcatcher/gemset.nix new file mode 100644 index 000000000000..7603e8ff2ef1 --- /dev/null +++ b/nixpkgs/pkgs/development/web/mailcatcher/gemset.nix @@ -0,0 +1,128 @@ +{ + daemons = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w"; + type = "gem"; + }; + version = "1.3.1"; + }; + eventmachine = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17jr1caa3ggg696dd02g2zqzdjqj9x9q2nl7va82l36f7c5v6k4z"; + type = "gem"; + }; + version = "1.0.9.1"; + }; + mail = { + dependencies = ["mini_mime"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; + type = "gem"; + }; + version = "2.7.1"; + }; + mailcatcher = { + dependencies = ["eventmachine" "mail" "rack" "sinatra" "skinny" "sqlite3" "thin"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02w1ycyfv7x0sh9799lz7xa65p5qvl5z4pa8a7prb68h2zwkfq0n"; + type = "gem"; + }; + version = "0.7.1"; + }; + mini_mime = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; + type = "gem"; + }; + version = "1.0.1"; + }; + rack = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; + type = "gem"; + }; + version = "1.6.11"; + }; + rack-protection = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; + type = "gem"; + }; + version = "1.5.5"; + }; + sinatra = { + dependencies = ["rack" "rack-protection" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; + type = "gem"; + }; + version = "1.4.8"; + }; + skinny = { + dependencies = ["eventmachine" "thin"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y3yvx88ylgz4d2s1wskjk5rkmrcr15q3ibzp1q88qwzr5y493a9"; + type = "gem"; + }; + version = "0.2.4"; + }; + sqlite3 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pmgpqx2sg8pms54rk7kjjy8jwsw21g1f7mb02fggbdcqy8jk3fx"; + type = "gem"; + }; + version = "1.4.0"; + }; + thin = { + dependencies = ["daemons" "eventmachine" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hrq9m3hb6pm8yrqshhg0gafkphdpvwcqmr7k722kgdisp3w91ga"; + type = "gem"; + }; + version = "1.5.1"; + }; + tilt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; + type = "gem"; + }; + version = "2.0.9"; + }; +} \ No newline at end of file diff --git a/nixpkgs/pkgs/development/web/minify/default.nix b/nixpkgs/pkgs/development/web/minify/default.nix new file mode 100644 index 000000000000..76434809cb52 --- /dev/null +++ b/nixpkgs/pkgs/development/web/minify/default.nix @@ -0,0 +1,24 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "minify"; + version = "2.5.0"; + + goPackagePath = "github.com/tdewolff/minify"; + + src = fetchFromGitHub { + owner = "tdewolff"; + repo = pname; + rev = "v${version}"; + sha256 = "1ja26fs7klzggmfqvz5nzj9icaa8r8h4a91qg8rj4gx5cnvwx38d"; + }; + + modSha256 = "0kff2nj66bifbfi8srcvcsipbddw43mvjdwlq0lz04qak524pbvr"; + + meta = with lib; { + description = "Minifiers for web formats"; + license = licenses.mit; + homepage = https://go.tacodewolff.nl/minify; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/web/nodejs/build-node-package.nix b/nixpkgs/pkgs/development/web/nodejs/build-node-package.nix new file mode 100644 index 000000000000..5ce324e7a60f --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/build-node-package.nix @@ -0,0 +1,333 @@ +{ stdenv, runCommand, nodejs, neededNatives}: + +{ + name, version ? "", src, + + # by default name of nodejs interpreter e.g. "nodejs-${name}" + namePrefix ? nodejs.interpreterName + "-", + + # Node package name + pkgName ? + if version != "" then stdenv.lib.removeSuffix "-${version}" name else + (builtins.parseDrvName name).name, + + # List or attribute set of dependencies + deps ? {}, + + # List or attribute set of peer depencies + peerDependencies ? {}, + + # List or attribute set of optional dependencies + optionalDependencies ? {}, + + # List of optional dependencies to skip + skipOptionalDependencies ? [], + + # Whether package is binary or library + bin ? false, + + # Additional flags passed to npm install + flags ? "", + + # Command to be run before shell hook + preShellHook ? "", + + # Command to be run after shell hook + postShellHook ? "", + + # Same as https://docs.npmjs.com/files/package.json#os + os ? [], + + # Same as https://docs.npmjs.com/files/package.json#cpu + cpu ? [], + + # Attribute set of already resolved deps (internal), + # for avoiding infinite recursion + resolvedDeps ? {}, + + ... +} @ args: + +with stdenv.lib; + +let + self = let + sources = runCommand "node-sources" {} '' + tar --no-same-owner --no-same-permissions -xf ${nodejs.src} + mv $(find . -type d -mindepth 1 -maxdepth 1) $out + ''; + + platforms = if os == [] then nodejs.meta.platforms else + fold (entry: platforms: + let + filterPlatforms = + stdenv.lib.platforms.${removePrefix "!" entry} or []; + in + # Ignore unknown platforms + if filterPlatforms == [] then (if platforms == [] then nodejs.meta.platforms else platforms) + else + if hasPrefix "!" entry then + subtractLists (intersectLists filterPlatforms nodejs.meta.platforms) platforms + else + platforms ++ (intersectLists filterPlatforms nodejs.meta.platforms) + ) [] os; + + mapDependencies = deps: f: rec { + # Convert deps to attribute set + attrDeps = if isAttrs deps then deps else + (listToAttrs (map (dep: nameValuePair dep.name dep) deps)); + + # All required node modules, without already resolved dependencies + # Also override with already resolved dependencies + requiredDeps = mapAttrs (name: dep: + dep.override { + resolvedDeps = resolvedDeps // { "${name}" = self; }; + } + ) (filterAttrs f (removeAttrs attrDeps (attrNames resolvedDeps))); + + # Recursive dependencies that we want to avoid with shim creation + recursiveDeps = filterAttrs f (removeAttrs attrDeps (attrNames requiredDeps)); + }; + + _dependencies = mapDependencies deps (name: dep: + dep.pkgName != pkgName); + _optionalDependencies = mapDependencies optionalDependencies (name: dep: + (builtins.tryEval dep).success && + !(elem dep.pkgName skipOptionalDependencies) + ); + _peerDependencies = mapDependencies peerDependencies (name: dep: + dep.pkgName != pkgName); + + requiredDependencies = + _dependencies.requiredDeps // + _optionalDependencies.requiredDeps // + _peerDependencies.requiredDeps; + + recursiveDependencies = + _dependencies.recursiveDeps // + _optionalDependencies.recursiveDeps // + _peerDependencies.recursiveDeps; + + patchShebangs = dir: '' + node=`type -p node` + coffee=`type -p coffee || true` + find -L ${dir} -type f -print0 | xargs -0 grep -Il . | \ + xargs sed --follow-symlinks -i \ + -e 's@#!/usr/bin/env node@#!'"$node"'@' \ + -e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \ + -e 's@#!/.*/node@#!'"$node"'@' \ + -e 's@#!/.*/coffee@#!'"$coffee"'@' || true + ''; + + in stdenv.mkDerivation ({ + inherit src; + + configurePhase = '' + runHook preConfigure + + ${patchShebangs "./"} + + # Some version specifiers (latest, unstable, URLs, file paths) force NPM + # to make remote connections or consult paths outside the Nix store. + # The following JavaScript replaces these by * to prevent that: + # Also some packages require a specific npm version because npm may + # resovle dependencies differently, but npm is not used by Nix for dependency + # reslution, so these requirements are dropped. + + ( + cat <<EOF + var fs = require('fs'); + var url = require('url'); + + /* + * Replaces an impure version specification by * + */ + function replaceImpureVersionSpec(versionSpec) { + var parsedUrl = url.parse(versionSpec); + + if(versionSpec == "" || versionSpec == "latest" || versionSpec == "unstable" || + versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/' || /^[^/]+\/[^/]+$/.test(versionSpec)) + return '*'; + else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" || + parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:") + return '*'; + else + return versionSpec; + } + + var packageObj = JSON.parse(fs.readFileSync('./package.json')); + + /* Replace dependencies */ + if(packageObj.dependencies !== undefined) { + for(var dependency in packageObj.dependencies) { + var versionSpec = packageObj.dependencies[dependency]; + packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec); + } + } + + /* Replace development dependencies */ + if(packageObj.devDependencies !== undefined) { + for(var dependency in packageObj.devDependencies) { + var versionSpec = packageObj.devDependencies[dependency]; + packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec); + } + } + + /* Replace optional dependencies */ + if(packageObj.optionalDependencies !== undefined) { + for(var dependency in packageObj.optionalDependencies) { + var versionSpec = packageObj.optionalDependencies[dependency]; + packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec); + } + } + + /* Ignore npm version requirement */ + if(packageObj.engines) { + delete packageObj.engines.npm; + } + + /* Write the fixed JSON file */ + fs.writeFileSync("package.json", JSON.stringify(packageObj)); + EOF + ) | node + + # We do not handle shrinkwraps yet + rm npm-shrinkwrap.json 2>/dev/null || true + + mkdir ../build-dir + ( + cd ../build-dir + mkdir node_modules + + # Symlink or copy dependencies for node modules + # copy is needed if dependency has recursive dependencies, + # because node can't follow symlinks while resolving recursive deps. + ${concatMapStrings (dep: + if dep.recursiveDeps == [] then '' + ln -sv ${dep}/lib/node_modules/${dep.pkgName} node_modules/ + '' else '' + cp -R ${dep}/lib/node_modules/${dep.pkgName} node_modules/ + '' + ) (attrValues requiredDependencies)} + + # Create shims for recursive dependenceies + ${concatMapStrings (dep: '' + mkdir -p node_modules/${dep.pkgName} + cat > node_modules/${dep.pkgName}/package.json <<EOF + { + "name": "${dep.pkgName}", + "version": "${getVersion dep}" + } + EOF + '') (attrValues recursiveDependencies)} + ) + + export HOME=$PWD/../build-dir + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + + # If source was a file, repackage it, so npm pre/post publish hooks are not triggered, + if [[ -f $src ]]; then + GZIP=-1 tar -czf ../build-dir/package.tgz ./ + export src=$HOME/package.tgz + else + export src=$PWD + fi + + # Install package + (cd $HOME && npm --registry http://www.example.com --nodedir=${sources} install $src --fetch-retries 0 ${flags}) + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + ( + cd $HOME + + # Remove shims + ${concatMapStrings (dep: '' + rm node_modules/${dep.pkgName}/package.json + rmdir node_modules/${dep.pkgName} + '') (attrValues recursiveDependencies)} + + mkdir -p $out/lib/node_modules + + # Install manual + mv node_modules/${pkgName} $out/lib/node_modules + rm -fR $out/lib/node_modules/${pkgName}/node_modules + cp -r node_modules $out/lib/node_modules/${pkgName}/node_modules + + if [ -e "$out/lib/node_modules/${pkgName}/man" ]; then + mkdir -p $out/share + for dir in "$out/lib/node_modules/${pkgName}/man/"*; do + mkdir -p $out/share/man/$(basename "$dir") + for page in "$dir"/*; do + ln -sv $page $out/share/man/$(basename "$dir") + done + done + fi + + # Move peer dependencies to node_modules + ${concatMapStrings (dep: '' + mv node_modules/${dep.pkgName} $out/lib/node_modules + '') (attrValues _peerDependencies.requiredDeps)} + + # Install binaries and patch shebangs + mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true + if [ -d "$out/lib/node_modules/.bin" ]; then + ln -sv $out/lib/node_modules/.bin $out/bin + ${patchShebangs "$out/lib/node_modules/.bin/*"} + fi + ) + + runHook postInstall + ''; + + preFixup = '' + find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g' + ''; + + shellHook = '' + ${preShellHook} + export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH + mkdir -p node_modules + ${concatMapStrings (dep: '' + ln -sfv ${dep}/lib/node_modules/${dep.pkgName} node_modules/ + '') (attrValues requiredDependencies)} + ${postShellHook} + ''; + + # Stipping does not make a lot of sense in node packages + dontStrip = true; + + meta = { + inherit platforms; + maintainers = [ stdenv.lib.maintainers.offline ]; + }; + + passthru.pkgName = pkgName; + } // (filterAttrs (n: v: all (k: n != k) ["deps" "resolvedDeps" "optionalDependencies"]) args) // { + name = namePrefix + name; + + # Run the node setup hook when this package is a build input + propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ]; + + nativeBuildInputs = + (args.nativeBuildInputs or []) ++ neededNatives ++ + (attrValues requiredDependencies); + + # Expose list of recursive dependencies upstream, up to the package that + # caused recursive dependency + recursiveDeps = + (flatten ( + map (dep: remove name dep.recursiveDeps) (attrValues requiredDependencies) + )) ++ + (attrNames recursiveDependencies); + }); + +in self diff --git a/nixpkgs/pkgs/development/web/nodejs/nodejs-release-keys.asc b/nixpkgs/pkgs/development/web/nodejs/nodejs-release-keys.asc new file mode 100644 index 000000000000..c89b3b37f876 --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/nodejs-release-keys.asc @@ -0,0 +1,776 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=jVEm +-----END PGP PUBLIC KEY BLOCK----- diff --git a/nixpkgs/pkgs/development/web/nodejs/nodejs.nix b/nixpkgs/pkgs/development/web/nodejs/nodejs.nix new file mode 100644 index 000000000000..6dc68750075c --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/nodejs.nix @@ -0,0 +1,131 @@ +{ stdenv, fetchurl, openssl, python2, zlib, libuv, utillinux, http-parser +, pkgconfig, which +# Updater dependencies +, writeScript, coreutils, gnugrep, jq, curl, common-updater-scripts, nix, runtimeShell +, gnupg +, darwin, xcbuild +, procps, icu +}: + +with stdenv.lib; + +{ enableNpm ? true, version, sha256, patches ? [] } @args: + +let + inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices; + + majorVersion = versions.major version; + minorVersion = versions.minor version; + + baseName = if enableNpm then "nodejs" else "nodejs-slim"; + + useSharedHttpParser = !stdenv.isDarwin && versionOlder "${majorVersion}.${minorVersion}" "11.4"; + + sharedLibDeps = { inherit openssl zlib libuv; } // (optionalAttrs useSharedHttpParser { inherit http-parser; }); + + sharedConfigureFlags = concatMap (name: [ + "--shared-${name}" + "--shared-${name}-libpath=${getLib sharedLibDeps.${name}}/lib" + /** Closure notes: we explicitly avoid specifying --shared-*-includes, + * as that would put the paths into bin/nodejs. + * Including pkgconfig in build inputs would also have the same effect! + */ + ]) (builtins.attrNames sharedLibDeps) ++ [ + "--with-intl=system-icu" + ]; + + copyLibHeaders = + map + (name: "${getDev sharedLibDeps.${name}}/include/*") + (builtins.attrNames sharedLibDeps); + + extraConfigFlags = optionals (!enableNpm) [ "--without-npm" ]; +in + + stdenv.mkDerivation { + inherit version; + + name = "${baseName}-${version}"; + + src = fetchurl { + url = "https://nodejs.org/dist/v${version}/node-v${version}.tar.xz"; + inherit sha256; + }; + + buildInputs = optionals stdenv.isDarwin [ CoreServices ApplicationServices ] + ++ [ python2 zlib libuv openssl http-parser icu ]; + + nativeBuildInputs = [ which utillinux pkgconfig ] + ++ optionals stdenv.isDarwin [ xcbuild ]; + + configureFlags = sharedConfigureFlags ++ [ "--without-dtrace" ] ++ extraConfigFlags; + + dontDisableStatic = true; + + enableParallelBuilding = true; + + passthru.interpreterName = "nodejs"; + + setupHook = ./setup-hook.sh; + + pos = builtins.unsafeGetAttrPos "version" args; + + inherit patches; + + postPatch = '' + patchShebangs . + + # fix tests + for a in test/parallel/test-child-process-env.js \ + test/parallel/test-child-process-exec-env.js \ + test/parallel/test-child-process-default-options.js \ + test/fixtures/syntax/good_syntax_shebang.js \ + test/fixtures/syntax/bad_syntax_shebang.js ; do + substituteInPlace $a \ + --replace "/usr/bin/env" "${coreutils}/bin/env" + done + '' + optionalString stdenv.isDarwin '' + sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' tools/gyp/pylib/gyp/xcode_emulation.py + sed -i -e "s|tr1/type_traits|type_traits|g" \ + -e "s|std::tr1|std|" src/util.h + ''; + + checkInputs = [ procps ]; + doCheck = false; # fails 4 out of 1453 tests + + postInstall = '' + PATH=$out/bin:$PATH patchShebangs $out + + ${optionalString enableNpm '' + mkdir -p $out/share/bash-completion/completions/ + $out/bin/npm completion > $out/share/bash-completion/completions/npm + for dir in "$out/lib/node_modules/npm/man/"*; do + mkdir -p $out/share/man/$(basename "$dir") + for page in "$dir"/*; do + ln -rs $page $out/share/man/$(basename "$dir") + done + done + ''} + + # install the missing headers for node-gyp + cp -r ${concatStringsSep " " copyLibHeaders} $out/include/node + '' + optionalString (stdenv.isDarwin && enableNpm) '' + sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' $out/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py + ''; + + passthru.updateScript = import ./update.nix { + inherit writeScript coreutils gnugrep jq curl common-updater-scripts gnupg nix runtimeShell; + inherit (stdenv) lib; + inherit majorVersion; + }; + + meta = { + description = "Event-driven I/O framework for the V8 JavaScript engine"; + homepage = https://nodejs.org; + license = licenses.mit; + maintainers = with maintainers; [ goibhniu gilligan cko ]; + platforms = platforms.linux ++ platforms.darwin; + }; + + passthru.python = python2; # to ensure nodeEnv uses the same version +} diff --git a/nixpkgs/pkgs/development/web/nodejs/setup-hook.sh b/nixpkgs/pkgs/development/web/nodejs/setup-hook.sh new file mode 100644 index 000000000000..18368588c2af --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/setup-hook.sh @@ -0,0 +1,5 @@ +addNodePath () { + addToSearchPath NODE_PATH $1/lib/node_modules +} + +addEnvHooks "$hostOffset" addNodePath diff --git a/nixpkgs/pkgs/development/web/nodejs/update-keyring b/nixpkgs/pkgs/development/web/nodejs/update-keyring new file mode 100755 index 000000000000..39737758e765 --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/update-keyring @@ -0,0 +1,18 @@ +#!/usr/bin/env nix-shell +#! nix-shell --pure -i bash -p coreutils findutils gnupg curl + +# https://github.com/nodejs/node#release-team +HOME=`mktemp -d` +keyserver="pool.sks-keyservers.net" +cat << EOF | xargs -P 4 -n 1 gpg --keyserver $keyserver --recv-keys +94AE36675C464D64BAFA68DD7434390BDBE9B9C5 +FD3A5288F042B6850C66B31F09FE44734EB7990E +71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 +DD8F2338BAE7501E3DD5AC78C273792F7D83545D +C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 +B9AE9905FFD7803F25714661B63B535A4C206CA9 +56730D5401028683275BD23C23EFEFE93C4CFFFE +77984A986EBC2AA786BC0F66B01FBB92821C587A +EOF + +gpg -a --export > nodejs-release-keys.asc diff --git a/nixpkgs/pkgs/development/web/nodejs/update.nix b/nixpkgs/pkgs/development/web/nodejs/update.nix new file mode 100644 index 000000000000..47e1abc9b217 --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/update.nix @@ -0,0 +1,29 @@ +{ lib +, writeScript +, coreutils +, curl +, gnugrep +, jq +, gnupg +, common-updater-scripts +, majorVersion +, nix +, runtimeShell +}: + +writeScript "update-nodejs" '' + #!${runtimeShell} + PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep jq gnupg nix ]} + + HOME=`mktemp -d` + cat ${./nodejs-release-keys.asc} | gpg --import + + tags=`curl --silent https://api.github.com/repos/nodejs/node/git/refs/tags` + version=`echo $tags | jq -r '.[] | select(.ref | startswith("refs/tags/v${majorVersion}")) | .ref' | sort --version-sort | tail -1 | grep -oP "^refs/tags/v\K.*"` + + curl --silent -o $HOME/SHASUMS256.txt.asc https://nodejs.org/dist/v''${version}/SHASUMS256.txt.asc + hash_hex=`gpgv --keyring=$HOME/.gnupg/pubring.kbx --output - $HOME/SHASUMS256.txt.asc | grep -oP "^([0-9a-f]{64})(?=\s+node-v''${version}.tar.xz$)"` + hash=`nix-hash --type sha256 --to-base32 ''${hash_hex}` + + update-source-version nodejs-${majorVersion}_x "''${version}" "''${hash}" +'' diff --git a/nixpkgs/pkgs/development/web/nodejs/v10.nix b/nixpkgs/pkgs/development/web/nodejs/v10.nix new file mode 100644 index 000000000000..5743868d5d96 --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/v10.nix @@ -0,0 +1,10 @@ +{ callPackage, openssl, enableNpm ? true }: + +let + buildNodejs = callPackage ./nodejs.nix { inherit openssl; }; +in + buildNodejs { + inherit enableNpm; + version = "10.16.0"; + sha256 = "0236jlb1hxhzqjlmmlxipcycrndiq92c8434iyy7zshh3n4pzqqq"; + } diff --git a/nixpkgs/pkgs/development/web/nodejs/v11.nix b/nixpkgs/pkgs/development/web/nodejs/v11.nix new file mode 100644 index 000000000000..7b60a3772d3c --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/v11.nix @@ -0,0 +1,10 @@ +{ callPackage, openssl, enableNpm ? true }: + +let + buildNodejs = callPackage ./nodejs.nix { inherit openssl; }; +in + buildNodejs { + inherit enableNpm; + version = "11.15.0"; + sha256 = "68a776c5d8b8b91a8f2adac2ca4ce4390ae1804883ec7ec9c0d6a6a64d306a76"; + } diff --git a/nixpkgs/pkgs/development/web/nodejs/v12.nix b/nixpkgs/pkgs/development/web/nodejs/v12.nix new file mode 100644 index 000000000000..ae74764384c6 --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/v12.nix @@ -0,0 +1,10 @@ +{ callPackage, openssl, icu, enableNpm ? true }: + +let + buildNodejs = callPackage ./nodejs.nix { inherit openssl icu; }; +in + buildNodejs { + inherit enableNpm; + version = "12.5.0"; + sha256 = "08haqs104lw44l92bxfii18sdn7y1k07cz3p0ni9bhw7kh4vf5c7"; + } diff --git a/nixpkgs/pkgs/development/web/nodejs/v8.nix b/nixpkgs/pkgs/development/web/nodejs/v8.nix new file mode 100644 index 000000000000..90d88215d3fd --- /dev/null +++ b/nixpkgs/pkgs/development/web/nodejs/v8.nix @@ -0,0 +1,10 @@ +{ callPackage, enableNpm ? true }: + +let + buildNodejs = callPackage ./nodejs.nix {}; +in + buildNodejs { + inherit enableNpm; + version = "8.16.0"; + sha256 = "0h3k5y51fyysqnqb8n5v5zxga937pipag49xzx6xr9b82phfh59m"; + } diff --git a/nixpkgs/pkgs/development/web/now-cli/default.nix b/nixpkgs/pkgs/development/web/now-cli/default.nix new file mode 100644 index 000000000000..4b8a79c6190b --- /dev/null +++ b/nixpkgs/pkgs/development/web/now-cli/default.nix @@ -0,0 +1,87 @@ +{ stdenv, lib, fetchurl }: +stdenv.mkDerivation rec { + name = "now-cli-${version}"; + version = "15.5.0"; + + # TODO: switch to building from source, if possible + src = fetchurl { + url = "https://github.com/zeit/now-cli/releases/download/${version}/now-linux.gz"; + sha256 = "06fs3f5r6ixzzl1bhs92w3lcmpyx8fkga4bv8n9g0ygfm9d1z8gk"; + }; + + sourceRoot = "."; + unpackCmd = '' + gunzip -c $curSrc > now-linux + ''; + + buildPhase = ":"; + + installPhase = '' + mkdir $out + mkdir $out/bin + cp now-linux $out/bin/now + ''; + + # now is a node program packaged using zeit/pkg. + # thus, it contains hardcoded offsets. + # patchelf shifts these locations when it expands headers. + + # this could probably be generalised into allowing any program packaged + # with zeit/pkg to be run on nixos. + + preFixup = let + libPath = lib.makeLibraryPath [stdenv.cc.cc]; + in '' + + orig_size=$(stat --printf=%s $out/bin/now) + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/now + patchelf --set-rpath ${libPath} $out/bin/now + chmod +x $out/bin/now + + new_size=$(stat --printf=%s $out/bin/now) + + ###### zeit-pkg fixing starts here. + # we're replacing plaintext js code that looks like + # PAYLOAD_POSITION = '1234 ' | 0 + # [...] + # PRELUDE_POSITION = '1234 ' | 0 + # ^-----20-chars-----^^------22-chars------^ + # ^-- grep points here + # + # var_* are as described above + # shift_by seems to be safe so long as all patchelf adjustments occur + # before any locations pointed to by hardcoded offsets + + var_skip=20 + var_select=22 + shift_by=$(expr $new_size - $orig_size) + + function fix_offset { + # $1 = name of variable to adjust + location=$(grep -obUam1 "$1" $out/bin/now | cut -d: -f1) + location=$(expr $location + $var_skip) + + value=$(dd if=$out/bin/now iflag=count_bytes,skip_bytes skip=$location \ + bs=1 count=$var_select status=none) + value=$(expr $shift_by + $value) + + echo -n $value | dd of=$out/bin/now bs=1 seek=$location conv=notrunc + } + + fix_offset PAYLOAD_POSITION + fix_offset PRELUDE_POSITION + + ''; + dontStrip = true; + + + + meta = with stdenv.lib; { + homepage = https://zeit.co/now; + description = "The Command Line Interface for Now - Global Serverless Deployments"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.bhall ]; + }; +} diff --git a/nixpkgs/pkgs/development/web/postman/default.nix b/nixpkgs/pkgs/development/web/postman/default.nix new file mode 100644 index 000000000000..a09a84e4bf75 --- /dev/null +++ b/nixpkgs/pkgs/development/web/postman/default.nix @@ -0,0 +1,97 @@ +{ stdenv, lib, gnome2, fetchurl, pkgs, xorg, makeWrapper, makeDesktopItem }: + +stdenv.mkDerivation rec { + name = "postman-${version}"; + version = "7.0.7"; + + src = fetchurl { + url = "https://dl.pstmn.io/download/version/${version}/linux64"; + sha256 = "47be1b955759520f3a2c7dcdecb85b4c52c38df717da294ba184f46f2058014a"; + name = "${name}.tar.gz"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontPatchELF = true; + + buildPhase = ":"; # nothing to build + + desktopItem = makeDesktopItem { + name = "postman"; + exec = "postman"; + icon = "postman"; + comment = "API Development Environment"; + desktopName = "Postman"; + genericName = "Postman"; + categories = "Application;Development;"; + }; + + installPhase = '' + mkdir -p $out/share/postman + cp -R app/* $out/share/postman + + mkdir -p $out/bin + ln -s $out/share/postman/Postman $out/bin/postman + + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications/ + + iconRootDir=$out/share/icons + iconSizeDir=$out/share/icons/hicolor/128x128/apps + mkdir -p $iconSizeDir + ln -s $out/share/postman/resources/app/assets/icon.png $iconRootDir/postman.png + ln -s $out/share/postman/resources/app/assets/icon.png $iconSizeDir/postman.png + ''; + + preFixup = let + libPath = lib.makeLibraryPath [ + stdenv.cc.cc.lib + gnome2.pango + gnome2.GConf + pkgs.atk + pkgs.alsaLib + pkgs.cairo + pkgs.cups + pkgs.dbus.daemon.lib + pkgs.expat + pkgs.gdk_pixbuf + pkgs.glib + pkgs.gtk2-x11 + pkgs.freetype + pkgs.fontconfig + pkgs.nss + pkgs.nspr + pkgs.udev.lib + xorg.libX11 + xorg.libxcb + xorg.libXi + xorg.libXcursor + xorg.libXdamage + xorg.libXrandr + xorg.libXcomposite + xorg.libXext + xorg.libXfixes + xorg.libXrender + xorg.libX11 + xorg.libXtst + xorg.libXScrnSaver + ]; + in '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}:$out/share/postman" \ + $out/share/postman/Postman + patchelf --set-rpath "${libPath}" $out/share/postman/libnode.so + patchelf --set-rpath "${libPath}" $out/share/postman/libffmpeg.so + + wrapProgram $out/share/postman/Postman --prefix LD_LIBRARY_PATH : ${libPath} + ''; + + meta = with stdenv.lib; { + homepage = https://www.getpostman.com; + description = "API Development Environment"; + license = stdenv.lib.licenses.postman; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ xurei ]; + }; +} diff --git a/nixpkgs/pkgs/development/web/remarkjs/default.nix b/nixpkgs/pkgs/development/web/remarkjs/default.nix new file mode 100644 index 000000000000..22404481f35c --- /dev/null +++ b/nixpkgs/pkgs/development/web/remarkjs/default.nix @@ -0,0 +1,70 @@ +{ stdenv, lib, fetchgit, fetchurl, nodejs, phantomjs2, pkgs }: + +with lib; + +let + + # highlight.js is a git submodule of remark + highlightjs = fetchgit { + url = https://github.com/isagalaev/highlight.js; + rev = "10b9500b67983f0a9c42d8ce8bf8e8c469f7078c"; + sha256 = "1yy8by15kfklw8lwh17z1swpj067q0skjjih12yawbryraig41m0"; + }; + + nodePackages = import ./nodepkgs.nix { + inherit pkgs; + inherit (stdenv.hostPlatform) system; + }; + +in stdenv.mkDerivation rec { + name = "remarkjs-${version}"; + + version = "0.7.0"; + + src = fetchurl { + url = "https://github.com/gnab/remark/archive/v${version}.tar.gz"; + sha256 = "1a2il6aa0g9cnig56ykmq8lr626pbxlsllk6js41h6gcn214rw60"; + }; + + buildInputs = [ nodejs phantomjs2 ] ++ (with nodePackages; [ + marked + browserify + uglify-js + less + mocha + #mocha-phantomjs + should + sinon + jshint + shelljs + ]); + + configurePhase = '' + mkdir -p node_modules/.bin + ${concatStrings (map (dep: '' + test -d ${dep}/bin && (for b in $(ls ${dep}/bin); do + ln -sv -t node_modules/.bin ${dep}/bin/$b + done) + '') buildInputs)} + ''; + + buildPhase = '' + substituteInPlace make.js --replace "target.test();" "" + substituteInPlace make.js --replace vendor/highlight.js ${highlightjs} + node make all + ''; + + installPhase = '' + mkdir -p $out/lib + cp -v out/* $out/lib/ + ''; + + meta = { + homepage = http://remarkjs.com; + description = "A simple, in-browser, markdown-driven slideshow tool"; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.mit; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/development/web/remarkjs/generate.sh b/nixpkgs/pkgs/development/web/remarkjs/generate.sh new file mode 100644 index 000000000000..59542101812f --- /dev/null +++ b/nixpkgs/pkgs/development/web/remarkjs/generate.sh @@ -0,0 +1,3 @@ +#!/bin/sh -e + +node2nix -8 -i pkgs.json -c nodepkgs.nix -e ../../node-packages/node-env.nix diff --git a/nixpkgs/pkgs/development/web/remarkjs/node-packages.nix b/nixpkgs/pkgs/development/web/remarkjs/node-packages.nix new file mode 100644 index 000000000000..12282d4ea3ac --- /dev/null +++ b/nixpkgs/pkgs/development/web/remarkjs/node-packages.nix @@ -0,0 +1,3994 @@ +# This file has been generated by node2nix 1.7.0. Do not edit! + +{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}: + +let + sources = { + "@sinonjs/commons-1.4.0" = { + name = "_at_sinonjs_slash_commons"; + packageName = "@sinonjs/commons"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.4.0.tgz"; + sha512 = "9jHK3YF/8HtJ9wCAbG+j8cD0i0+ATS9A7gXFqS36TblLPNy6rEEc+SB0imo91eCboGaBYGV/MT1/br/J+EE7Tw=="; + }; + }; + "@sinonjs/formatio-3.2.1" = { + name = "_at_sinonjs_slash_formatio"; + packageName = "@sinonjs/formatio"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.1.tgz"; + sha512 = "tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ=="; + }; + }; + "@sinonjs/samsam-3.3.1" = { + name = "_at_sinonjs_slash_samsam"; + packageName = "@sinonjs/samsam"; + version = "3.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.1.tgz"; + sha512 = "wRSfmyd81swH0hA1bxJZJ57xr22kC07a1N4zuIL47yTS04bDk6AoCkczcqHEjcRPmJ+FruGJ9WBQiJwMtIElFw=="; + }; + }; + "@sinonjs/text-encoding-0.7.1" = { + name = "_at_sinonjs_slash_text-encoding"; + packageName = "@sinonjs/text-encoding"; + version = "0.7.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz"; + sha512 = "+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ=="; + }; + }; + "JSONStream-1.3.5" = { + name = "JSONStream"; + packageName = "JSONStream"; + version = "1.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"; + sha512 = "E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ=="; + }; + }; + "abbrev-1.1.1" = { + name = "abbrev"; + packageName = "abbrev"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"; + sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="; + }; + }; + "acorn-6.1.1" = { + name = "acorn"; + packageName = "acorn"; + version = "6.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz"; + sha512 = "jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA=="; + }; + }; + "acorn-dynamic-import-4.0.0" = { + name = "acorn-dynamic-import"; + packageName = "acorn-dynamic-import"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz"; + sha512 = "d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw=="; + }; + }; + "acorn-node-1.7.0" = { + name = "acorn-node"; + packageName = "acorn-node"; + version = "1.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-node/-/acorn-node-1.7.0.tgz"; + sha512 = "XhahLSsCB6X6CJbe+uNu3Mn9sJBNFxtBN9NLgAOQovfS6Kh0lDUtmlclhjn9CvEK7A7YyRU13PXlNcpSiLI9Yw=="; + }; + }; + "acorn-walk-6.1.1" = { + name = "acorn-walk"; + packageName = "acorn-walk"; + version = "6.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz"; + sha512 = "OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw=="; + }; + }; + "adm-zip-0.2.1" = { + name = "adm-zip"; + packageName = "adm-zip"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz"; + sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf"; + }; + }; + "ajv-6.10.0" = { + name = "ajv"; + packageName = "ajv"; + version = "6.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz"; + sha512 = "nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg=="; + }; + }; + "ansi-colors-3.2.3" = { + name = "ansi-colors"; + packageName = "ansi-colors"; + version = "3.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz"; + sha512 = "LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw=="; + }; + }; + "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"; + }; + }; + "ansi-regex-3.0.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"; + sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; + }; + }; + "ansi-regex-4.1.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz"; + sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="; + }; + }; + "ansi-styles-3.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"; + sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="; + }; + }; + "argparse-1.0.10" = { + name = "argparse"; + packageName = "argparse"; + version = "1.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"; + sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="; + }; + }; + "array-filter-0.0.1" = { + name = "array-filter"; + packageName = "array-filter"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz"; + sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec"; + }; + }; + "array-from-2.1.1" = { + name = "array-from"; + packageName = "array-from"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz"; + sha1 = "cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"; + }; + }; + "array-map-0.0.0" = { + name = "array-map"; + packageName = "array-map"; + version = "0.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz"; + sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662"; + }; + }; + "array-reduce-0.0.0" = { + name = "array-reduce"; + packageName = "array-reduce"; + version = "0.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz"; + sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b"; + }; + }; + "asap-2.0.6" = { + name = "asap"; + packageName = "asap"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz"; + sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46"; + }; + }; + "asn1-0.1.11" = { + name = "asn1"; + packageName = "asn1"; + version = "0.1.11"; + src = fetchurl { + url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"; + sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7"; + }; + }; + "asn1-0.2.4" = { + name = "asn1"; + packageName = "asn1"; + version = "0.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"; + sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="; + }; + }; + "asn1.js-4.10.1" = { + name = "asn1.js"; + packageName = "asn1.js"; + version = "4.10.1"; + src = fetchurl { + url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz"; + sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw=="; + }; + }; + "assert-1.5.0" = { + name = "assert"; + packageName = "assert"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz"; + sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA=="; + }; + }; + "assert-plus-0.1.5" = { + name = "assert-plus"; + packageName = "assert-plus"; + version = "0.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"; + sha1 = "ee74009413002d84cec7219c6ac811812e723160"; + }; + }; + "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"; + }; + }; + "async-0.9.2" = { + name = "async"; + packageName = "async"; + version = "0.9.2"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz"; + sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d"; + }; + }; + "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"; + }; + }; + "aws-sign2-0.5.0" = { + name = "aws-sign2"; + packageName = "aws-sign2"; + version = "0.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"; + sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63"; + }; + }; + "aws-sign2-0.7.0" = { + name = "aws-sign2"; + packageName = "aws-sign2"; + version = "0.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"; + sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; + }; + }; + "aws4-1.8.0" = { + name = "aws4"; + packageName = "aws4"; + version = "1.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz"; + sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="; + }; + }; + "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"; + }; + }; + "base64-js-1.3.0" = { + name = "base64-js"; + packageName = "base64-js"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz"; + sha512 = "ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="; + }; + }; + "bcrypt-pbkdf-1.0.2" = { + name = "bcrypt-pbkdf"; + packageName = "bcrypt-pbkdf"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; + sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; + }; + }; + "bn.js-4.11.8" = { + name = "bn.js"; + packageName = "bn.js"; + version = "4.11.8"; + src = fetchurl { + url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz"; + sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="; + }; + }; + "boom-0.4.2" = { + name = "boom"; + packageName = "boom"; + version = "0.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"; + sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b"; + }; + }; + "brace-expansion-1.1.11" = { + name = "brace-expansion"; + packageName = "brace-expansion"; + version = "1.1.11"; + src = fetchurl { + url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"; + sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="; + }; + }; + "brorand-1.1.0" = { + name = "brorand"; + packageName = "brorand"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz"; + sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f"; + }; + }; + "browser-pack-6.1.0" = { + name = "browser-pack"; + packageName = "browser-pack"; + version = "6.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz"; + sha512 = "erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA=="; + }; + }; + "browser-resolve-1.11.3" = { + name = "browser-resolve"; + packageName = "browser-resolve"; + version = "1.11.3"; + src = fetchurl { + url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz"; + sha512 = "exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ=="; + }; + }; + "browser-stdout-1.3.1" = { + name = "browser-stdout"; + packageName = "browser-stdout"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz"; + sha512 = "qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="; + }; + }; + "browserify-aes-1.2.0" = { + name = "browserify-aes"; + packageName = "browserify-aes"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz"; + sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA=="; + }; + }; + "browserify-cipher-1.0.1" = { + name = "browserify-cipher"; + packageName = "browserify-cipher"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz"; + sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w=="; + }; + }; + "browserify-des-1.0.2" = { + name = "browserify-des"; + packageName = "browserify-des"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz"; + sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A=="; + }; + }; + "browserify-rsa-4.0.1" = { + name = "browserify-rsa"; + packageName = "browserify-rsa"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz"; + sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524"; + }; + }; + "browserify-sign-4.0.4" = { + name = "browserify-sign"; + packageName = "browserify-sign"; + version = "4.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz"; + sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"; + }; + }; + "browserify-zlib-0.2.0" = { + name = "browserify-zlib"; + packageName = "browserify-zlib"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz"; + sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA=="; + }; + }; + "buffer-5.2.1" = { + name = "buffer"; + packageName = "buffer"; + version = "5.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz"; + sha512 = "c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg=="; + }; + }; + "buffer-from-1.1.1" = { + name = "buffer-from"; + packageName = "buffer-from"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz"; + sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="; + }; + }; + "buffer-xor-1.0.3" = { + name = "buffer-xor"; + packageName = "buffer-xor"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"; + sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9"; + }; + }; + "builtin-status-codes-3.0.0" = { + name = "builtin-status-codes"; + packageName = "builtin-status-codes"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"; + sha1 = "85982878e21b98e1c66425e03d0174788f569ee8"; + }; + }; + "cached-path-relative-1.0.2" = { + name = "cached-path-relative"; + packageName = "cached-path-relative"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz"; + sha512 = "5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg=="; + }; + }; + "camelcase-5.3.1" = { + name = "camelcase"; + packageName = "camelcase"; + version = "5.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"; + sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="; + }; + }; + "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"; + }; + }; + "chalk-2.4.2" = { + name = "chalk"; + packageName = "chalk"; + version = "2.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"; + sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="; + }; + }; + "cipher-base-1.0.4" = { + name = "cipher-base"; + packageName = "cipher-base"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz"; + sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q=="; + }; + }; + "cli-1.0.1" = { + name = "cli"; + packageName = "cli"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz"; + sha1 = "22817534f24bfa4950c34d532d48ecbc621b8c14"; + }; + }; + "cliui-4.1.0" = { + name = "cliui"; + packageName = "cliui"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz"; + sha512 = "4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ=="; + }; + }; + "clone-2.1.2" = { + name = "clone"; + packageName = "clone"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz"; + sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f"; + }; + }; + "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"; + }; + }; + "color-convert-1.9.3" = { + name = "color-convert"; + packageName = "color-convert"; + version = "1.9.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"; + sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="; + }; + }; + "color-name-1.1.3" = { + name = "color-name"; + packageName = "color-name"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"; + sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; + }; + }; + "combine-source-map-0.8.0" = { + name = "combine-source-map"; + packageName = "combine-source-map"; + version = "0.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz"; + sha1 = "a58d0df042c186fcf822a8e8015f5450d2d79a8b"; + }; + }; + "combined-stream-0.0.7" = { + name = "combined-stream"; + packageName = "combined-stream"; + version = "0.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz"; + sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f"; + }; + }; + "combined-stream-1.0.8" = { + name = "combined-stream"; + packageName = "combined-stream"; + version = "1.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"; + sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="; + }; + }; + "commander-2.20.0" = { + name = "commander"; + packageName = "commander"; + version = "2.20.0"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz"; + sha512 = "7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="; + }; + }; + "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"; + }; + }; + "concat-stream-1.6.2" = { + name = "concat-stream"; + packageName = "concat-stream"; + version = "1.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"; + sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw=="; + }; + }; + "config-chain-1.1.12" = { + name = "config-chain"; + packageName = "config-chain"; + version = "1.1.12"; + src = fetchurl { + url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz"; + sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA=="; + }; + }; + "console-browserify-1.1.0" = { + name = "console-browserify"; + packageName = "console-browserify"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz"; + sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10"; + }; + }; + "constants-browserify-1.0.0" = { + name = "constants-browserify"; + packageName = "constants-browserify"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz"; + sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75"; + }; + }; + "convert-source-map-1.1.3" = { + name = "convert-source-map"; + packageName = "convert-source-map"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz"; + sha1 = "4829c877e9fe49b3161f3bf3673888e204699860"; + }; + }; + "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"; + }; + }; + "create-ecdh-4.0.3" = { + name = "create-ecdh"; + packageName = "create-ecdh"; + version = "4.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz"; + sha512 = "GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw=="; + }; + }; + "create-hash-1.2.0" = { + name = "create-hash"; + packageName = "create-hash"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz"; + sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg=="; + }; + }; + "create-hmac-1.1.7" = { + name = "create-hmac"; + packageName = "create-hmac"; + version = "1.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz"; + sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg=="; + }; + }; + "cross-spawn-6.0.5" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "6.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"; + sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ=="; + }; + }; + "cryptiles-0.2.2" = { + name = "cryptiles"; + packageName = "cryptiles"; + version = "0.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"; + sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c"; + }; + }; + "crypto-browserify-3.12.0" = { + name = "crypto-browserify"; + packageName = "crypto-browserify"; + version = "3.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz"; + sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg=="; + }; + }; + "ctype-0.5.3" = { + name = "ctype"; + packageName = "ctype"; + version = "0.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"; + sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f"; + }; + }; + "dash-ast-1.0.0" = { + name = "dash-ast"; + packageName = "dash-ast"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz"; + sha512 = "Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA=="; + }; + }; + "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"; + }; + }; + "date-now-0.1.4" = { + name = "date-now"; + packageName = "date-now"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"; + sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b"; + }; + }; + "debug-3.2.6" = { + name = "debug"; + packageName = "debug"; + version = "3.2.6"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz"; + sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ=="; + }; + }; + "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"; + }; + }; + "define-properties-1.1.3" = { + name = "define-properties"; + packageName = "define-properties"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz"; + sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="; + }; + }; + "defined-1.0.0" = { + name = "defined"; + packageName = "defined"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"; + sha1 = "c98d9bcef75674188e110969151199e39b1fa693"; + }; + }; + "delayed-stream-0.0.5" = { + name = "delayed-stream"; + packageName = "delayed-stream"; + version = "0.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"; + sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f"; + }; + }; + "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"; + }; + }; + "deps-sort-2.0.0" = { + name = "deps-sort"; + packageName = "deps-sort"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz"; + sha1 = "091724902e84658260eb910748cccd1af6e21fb5"; + }; + }; + "des.js-1.0.0" = { + name = "des.js"; + packageName = "des.js"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz"; + sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"; + }; + }; + "detective-5.2.0" = { + name = "detective"; + packageName = "detective"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz"; + sha512 = "6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg=="; + }; + }; + "diff-3.5.0" = { + name = "diff"; + packageName = "diff"; + version = "3.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz"; + sha512 = "A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA=="; + }; + }; + "diffie-hellman-5.0.3" = { + name = "diffie-hellman"; + packageName = "diffie-hellman"; + version = "5.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz"; + sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg=="; + }; + }; + "dom-serializer-0.1.1" = { + name = "dom-serializer"; + packageName = "dom-serializer"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz"; + sha512 = "l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA=="; + }; + }; + "domain-browser-1.2.0" = { + name = "domain-browser"; + packageName = "domain-browser"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz"; + sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="; + }; + }; + "domelementtype-1.3.1" = { + name = "domelementtype"; + packageName = "domelementtype"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz"; + sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="; + }; + }; + "domhandler-2.3.0" = { + name = "domhandler"; + packageName = "domhandler"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz"; + sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738"; + }; + }; + "domutils-1.5.1" = { + name = "domutils"; + packageName = "domutils"; + version = "1.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz"; + sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf"; + }; + }; + "duplexer2-0.1.4" = { + name = "duplexer2"; + packageName = "duplexer2"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz"; + sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1"; + }; + }; + "ecc-jsbn-0.1.2" = { + name = "ecc-jsbn"; + packageName = "ecc-jsbn"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; + sha1 = "3a83a904e54353287874c564b7549386849a98c9"; + }; + }; + "elliptic-6.4.1" = { + name = "elliptic"; + packageName = "elliptic"; + version = "6.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz"; + sha512 = "BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ=="; + }; + }; + "emoji-regex-7.0.3" = { + name = "emoji-regex"; + packageName = "emoji-regex"; + version = "7.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz"; + sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="; + }; + }; + "end-of-stream-1.4.1" = { + name = "end-of-stream"; + packageName = "end-of-stream"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz"; + sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q=="; + }; + }; + "entities-1.0.0" = { + name = "entities"; + packageName = "entities"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz"; + sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26"; + }; + }; + "entities-1.1.2" = { + name = "entities"; + packageName = "entities"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz"; + sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="; + }; + }; + "errno-0.1.7" = { + name = "errno"; + packageName = "errno"; + version = "0.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz"; + sha512 = "MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg=="; + }; + }; + "es-abstract-1.13.0" = { + name = "es-abstract"; + packageName = "es-abstract"; + version = "1.13.0"; + src = fetchurl { + url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz"; + sha512 = "vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg=="; + }; + }; + "es-to-primitive-1.2.0" = { + name = "es-to-primitive"; + packageName = "es-to-primitive"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz"; + sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg=="; + }; + }; + "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"; + }; + }; + "esprima-4.0.1" = { + name = "esprima"; + packageName = "esprima"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"; + sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; + }; + }; + "events-2.1.0" = { + name = "events"; + packageName = "events"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/events/-/events-2.1.0.tgz"; + sha512 = "3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg=="; + }; + }; + "evp_bytestokey-1.0.3" = { + name = "evp_bytestokey"; + packageName = "evp_bytestokey"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"; + sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA=="; + }; + }; + "execa-1.0.0" = { + name = "execa"; + packageName = "execa"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz"; + sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA=="; + }; + }; + "exit-0.1.2" = { + name = "exit"; + packageName = "exit"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"; + sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c"; + }; + }; + "extend-3.0.2" = { + name = "extend"; + packageName = "extend"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"; + sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="; + }; + }; + "extsprintf-1.3.0" = { + name = "extsprintf"; + packageName = "extsprintf"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"; + sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; + }; + }; + "fast-deep-equal-2.0.1" = { + name = "fast-deep-equal"; + packageName = "fast-deep-equal"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; + sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; + }; + }; + "fast-json-stable-stringify-2.0.0" = { + name = "fast-json-stable-stringify"; + packageName = "fast-json-stable-stringify"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; + sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; + }; + }; + "find-up-3.0.0" = { + name = "find-up"; + packageName = "find-up"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz"; + sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="; + }; + }; + "flat-4.1.0" = { + name = "flat"; + packageName = "flat"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz"; + sha512 = "Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw=="; + }; + }; + "forever-agent-0.5.2" = { + name = "forever-agent"; + packageName = "forever-agent"; + version = "0.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"; + sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"; + }; + }; + "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-0.1.4" = { + name = "form-data"; + packageName = "form-data"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz"; + sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12"; + }; + }; + "form-data-2.3.3" = { + name = "form-data"; + packageName = "form-data"; + version = "2.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"; + sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="; + }; + }; + "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"; + }; + }; + "function-bind-1.1.1" = { + name = "function-bind"; + packageName = "function-bind"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"; + sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="; + }; + }; + "get-assigned-identifiers-1.2.0" = { + name = "get-assigned-identifiers"; + packageName = "get-assigned-identifiers"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz"; + sha512 = "mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ=="; + }; + }; + "get-caller-file-1.0.3" = { + name = "get-caller-file"; + packageName = "get-caller-file"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz"; + sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="; + }; + }; + "get-caller-file-2.0.5" = { + name = "get-caller-file"; + packageName = "get-caller-file"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"; + sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="; + }; + }; + "get-stream-4.1.0" = { + name = "get-stream"; + packageName = "get-stream"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz"; + sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w=="; + }; + }; + "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"; + }; + }; + "glob-7.1.3" = { + name = "glob"; + packageName = "glob"; + version = "7.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz"; + sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ=="; + }; + }; + "glob-7.1.4" = { + name = "glob"; + packageName = "glob"; + version = "7.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz"; + sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A=="; + }; + }; + "graceful-fs-4.1.15" = { + name = "graceful-fs"; + packageName = "graceful-fs"; + version = "4.1.15"; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz"; + sha512 = "6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="; + }; + }; + "growl-1.10.5" = { + name = "growl"; + packageName = "growl"; + version = "1.10.5"; + src = fetchurl { + url = "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz"; + sha512 = "qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA=="; + }; + }; + "har-schema-2.0.0" = { + name = "har-schema"; + packageName = "har-schema"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"; + sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; + }; + }; + "har-validator-5.1.3" = { + name = "har-validator"; + packageName = "har-validator"; + version = "5.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz"; + sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g=="; + }; + }; + "has-1.0.3" = { + name = "has"; + packageName = "has"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz"; + sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="; + }; + }; + "has-flag-3.0.0" = { + name = "has-flag"; + packageName = "has-flag"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"; + sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; + }; + }; + "has-symbols-1.0.0" = { + name = "has-symbols"; + packageName = "has-symbols"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz"; + sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44"; + }; + }; + "hash-base-3.0.4" = { + name = "hash-base"; + packageName = "hash-base"; + version = "3.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz"; + sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918"; + }; + }; + "hash.js-1.1.7" = { + name = "hash.js"; + packageName = "hash.js"; + version = "1.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz"; + sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA=="; + }; + }; + "hawk-1.0.0" = { + name = "hawk"; + packageName = "hawk"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz"; + sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d"; + }; + }; + "he-1.2.0" = { + name = "he"; + packageName = "he"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz"; + sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="; + }; + }; + "hmac-drbg-1.0.1" = { + name = "hmac-drbg"; + packageName = "hmac-drbg"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz"; + sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1"; + }; + }; + "hoek-0.9.1" = { + name = "hoek"; + packageName = "hoek"; + version = "0.9.1"; + src = fetchurl { + url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"; + sha1 = "3d322462badf07716ea7eb85baf88079cddce505"; + }; + }; + "htmlescape-1.1.1" = { + name = "htmlescape"; + packageName = "htmlescape"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz"; + sha1 = "3a03edc2214bca3b66424a3e7959349509cb0351"; + }; + }; + "htmlparser2-3.8.3" = { + name = "htmlparser2"; + packageName = "htmlparser2"; + version = "3.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz"; + sha1 = "996c28b191516a8be86501a7d79757e5c70c1068"; + }; + }; + "http-signature-0.10.1" = { + name = "http-signature"; + packageName = "http-signature"; + version = "0.10.1"; + src = fetchurl { + url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz"; + sha1 = "4fbdac132559aa8323121e540779c0a012b27e66"; + }; + }; + "http-signature-1.2.0" = { + name = "http-signature"; + packageName = "http-signature"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"; + sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; + }; + }; + "https-browserify-1.0.0" = { + name = "https-browserify"; + packageName = "https-browserify"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz"; + sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"; + }; + }; + "ieee754-1.1.13" = { + name = "ieee754"; + packageName = "ieee754"; + version = "1.1.13"; + src = fetchurl { + url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz"; + sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="; + }; + }; + "image-size-0.5.5" = { + name = "image-size"; + packageName = "image-size"; + version = "0.5.5"; + src = fetchurl { + url = "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz"; + sha1 = "09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"; + }; + }; + "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-1.0.2" = { + name = "inherits"; + packageName = "inherits"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz"; + sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"; + }; + }; + "inherits-2.0.1" = { + name = "inherits"; + packageName = "inherits"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"; + sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; + }; + }; + "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"; + }; + }; + "ini-1.1.0" = { + name = "ini"; + packageName = "ini"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz"; + sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281"; + }; + }; + "ini-1.3.5" = { + name = "ini"; + packageName = "ini"; + version = "1.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz"; + sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="; + }; + }; + "inline-source-map-0.6.2" = { + name = "inline-source-map"; + packageName = "inline-source-map"; + version = "0.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz"; + sha1 = "f9393471c18a79d1724f863fa38b586370ade2a5"; + }; + }; + "insert-module-globals-7.2.0" = { + name = "insert-module-globals"; + packageName = "insert-module-globals"; + version = "7.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz"; + sha512 = "VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw=="; + }; + }; + "interpret-1.2.0" = { + name = "interpret"; + packageName = "interpret"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz"; + sha512 = "mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="; + }; + }; + "invert-kv-2.0.0" = { + name = "invert-kv"; + packageName = "invert-kv"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz"; + sha512 = "wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="; + }; + }; + "ip-regex-2.1.0" = { + name = "ip-regex"; + packageName = "ip-regex"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz"; + sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"; + }; + }; + "is-buffer-1.1.6" = { + name = "is-buffer"; + packageName = "is-buffer"; + version = "1.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"; + sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="; + }; + }; + "is-buffer-2.0.3" = { + name = "is-buffer"; + packageName = "is-buffer"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz"; + sha512 = "U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw=="; + }; + }; + "is-callable-1.1.4" = { + name = "is-callable"; + packageName = "is-callable"; + version = "1.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz"; + sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="; + }; + }; + "is-date-object-1.0.1" = { + name = "is-date-object"; + packageName = "is-date-object"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz"; + sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"; + }; + }; + "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"; + }; + }; + "is-fullwidth-code-point-2.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; + }; + }; + "is-regex-1.0.4" = { + name = "is-regex"; + packageName = "is-regex"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz"; + sha1 = "5517489b547091b0930e095654ced25ee97e9491"; + }; + }; + "is-stream-1.1.0" = { + name = "is-stream"; + packageName = "is-stream"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"; + sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; + }; + }; + "is-symbol-1.0.2" = { + name = "is-symbol"; + packageName = "is-symbol"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz"; + sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw=="; + }; + }; + "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"; + }; + }; + "isarray-0.0.1" = { + name = "isarray"; + packageName = "isarray"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }; + }; + "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"; + }; + }; + "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"; + }; + }; + "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"; + }; + }; + "js-yaml-3.13.1" = { + name = "js-yaml"; + packageName = "js-yaml"; + version = "3.13.1"; + src = fetchurl { + url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz"; + sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw=="; + }; + }; + "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"; + }; + }; + "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"; + }; + }; + "json-schema-traverse-0.4.1" = { + name = "json-schema-traverse"; + packageName = "json-schema-traverse"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="; + }; + }; + "json-stable-stringify-0.0.1" = { + name = "json-stable-stringify"; + packageName = "json-stable-stringify"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz"; + sha1 = "611c23e814db375527df851193db59dd2af27f45"; + }; + }; + "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"; + }; + }; + "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"; + }; + }; + "jsonparse-1.3.1" = { + name = "jsonparse"; + packageName = "jsonparse"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz"; + sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280"; + }; + }; + "jsprim-1.4.1" = { + name = "jsprim"; + packageName = "jsprim"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"; + sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; + }; + }; + "just-extend-4.0.2" = { + name = "just-extend"; + packageName = "just-extend"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz"; + sha512 = "FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw=="; + }; + }; + "kew-0.1.7" = { + name = "kew"; + packageName = "kew"; + version = "0.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/kew/-/kew-0.1.7.tgz"; + sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72"; + }; + }; + "labeled-stream-splicer-2.0.2" = { + name = "labeled-stream-splicer"; + packageName = "labeled-stream-splicer"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz"; + sha512 = "Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw=="; + }; + }; + "lcid-2.0.0" = { + name = "lcid"; + packageName = "lcid"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz"; + sha512 = "avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA=="; + }; + }; + "locate-path-3.0.0" = { + name = "locate-path"; + packageName = "locate-path"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"; + sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="; + }; + }; + "lodash-4.17.11" = { + name = "lodash"; + packageName = "lodash"; + version = "4.17.11"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz"; + sha512 = "cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="; + }; + }; + "lodash.memoize-3.0.4" = { + name = "lodash.memoize"; + packageName = "lodash.memoize"; + version = "3.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz"; + sha1 = "2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"; + }; + }; + "log-symbols-2.2.0" = { + name = "log-symbols"; + packageName = "log-symbols"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz"; + sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg=="; + }; + }; + "lolex-4.1.0" = { + name = "lolex"; + packageName = "lolex"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lolex/-/lolex-4.1.0.tgz"; + sha512 = "BYxIEXiVq5lGIXeVHnsFzqa1TxN5acnKnPCdlZSpzm8viNEOhiigupA4vTQ9HEFQ6nLTQ9wQOgBknJgzUYQ9Aw=="; + }; + }; + "map-age-cleaner-0.1.3" = { + name = "map-age-cleaner"; + packageName = "map-age-cleaner"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz"; + sha512 = "bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w=="; + }; + }; + "md5.js-1.3.5" = { + name = "md5.js"; + packageName = "md5.js"; + version = "1.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz"; + sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg=="; + }; + }; + "mem-4.3.0" = { + name = "mem"; + packageName = "mem"; + version = "4.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz"; + sha512 = "qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w=="; + }; + }; + "miller-rabin-4.0.1" = { + name = "miller-rabin"; + packageName = "miller-rabin"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz"; + sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA=="; + }; + }; + "mime-1.2.11" = { + name = "mime"; + packageName = "mime"; + version = "1.2.11"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"; + sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"; + }; + }; + "mime-1.6.0" = { + name = "mime"; + packageName = "mime"; + version = "1.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"; + sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="; + }; + }; + "mime-db-1.40.0" = { + name = "mime-db"; + packageName = "mime-db"; + version = "1.40.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz"; + sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="; + }; + }; + "mime-types-2.1.24" = { + name = "mime-types"; + packageName = "mime-types"; + version = "2.1.24"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz"; + sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ=="; + }; + }; + "mimic-fn-2.1.0" = { + name = "mimic-fn"; + packageName = "mimic-fn"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"; + sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="; + }; + }; + "minimalistic-assert-1.0.1" = { + name = "minimalistic-assert"; + packageName = "minimalistic-assert"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"; + sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="; + }; + }; + "minimalistic-crypto-utils-1.0.1" = { + name = "minimalistic-crypto-utils"; + packageName = "minimalistic-crypto-utils"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"; + sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"; + }; + }; + "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"; + sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; + }; + }; + "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"; + }; + }; + "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"; + }; + }; + "mkdirp-0.3.5" = { + name = "mkdirp"; + packageName = "mkdirp"; + version = "0.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"; + sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7"; + }; + }; + "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"; + }; + }; + "mocha-phantomjs-core-1.3.1" = { + name = "mocha-phantomjs-core"; + packageName = "mocha-phantomjs-core"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mocha-phantomjs-core/-/mocha-phantomjs-core-1.3.1.tgz"; + sha1 = "586538c8d71fa8de90c41a46acc0481c1fb83e18"; + }; + }; + "module-deps-6.2.1" = { + name = "module-deps"; + packageName = "module-deps"; + version = "6.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz"; + sha512 = "UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A=="; + }; + }; + "ms-2.1.1" = { + name = "ms"; + packageName = "ms"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz"; + sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="; + }; + }; + "ncp-0.4.2" = { + name = "ncp"; + packageName = "ncp"; + version = "0.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz"; + sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574"; + }; + }; + "nice-try-1.0.5" = { + name = "nice-try"; + packageName = "nice-try"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz"; + sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="; + }; + }; + "nise-1.5.0" = { + name = "nise"; + packageName = "nise"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/nise/-/nise-1.5.0.tgz"; + sha512 = "Z3sfYEkLFzFmL8KY6xnSJLRxwQwYBjOXi/24lb62ZnZiGA0JUzGGTI6TBIgfCSMIDl9Jlu8SRmHNACLTemDHww=="; + }; + }; + "node-environment-flags-1.0.5" = { + name = "node-environment-flags"; + packageName = "node-environment-flags"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz"; + sha512 = "VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ=="; + }; + }; + "node-uuid-1.4.8" = { + name = "node-uuid"; + packageName = "node-uuid"; + version = "1.4.8"; + src = fetchurl { + url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz"; + sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907"; + }; + }; + "nopt-2.2.1" = { + name = "nopt"; + packageName = "nopt"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz"; + sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7"; + }; + }; + "npm-run-path-2.0.2" = { + name = "npm-run-path"; + packageName = "npm-run-path"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz"; + sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f"; + }; + }; + "npmconf-0.0.24" = { + name = "npmconf"; + packageName = "npmconf"; + version = "0.0.24"; + src = fetchurl { + url = "https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz"; + sha1 = "b78875b088ccc3c0afa3eceb3ce3244b1b52390c"; + }; + }; + "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"; + }; + }; + "oauth-sign-0.3.0" = { + name = "oauth-sign"; + packageName = "oauth-sign"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"; + sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e"; + }; + }; + "oauth-sign-0.9.0" = { + name = "oauth-sign"; + packageName = "oauth-sign"; + version = "0.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"; + sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="; + }; + }; + "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"; + }; + }; + "object-keys-1.1.1" = { + name = "object-keys"; + packageName = "object-keys"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"; + sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="; + }; + }; + "object.assign-4.1.0" = { + name = "object.assign"; + packageName = "object.assign"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz"; + sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w=="; + }; + }; + "object.getownpropertydescriptors-2.0.3" = { + name = "object.getownpropertydescriptors"; + packageName = "object.getownpropertydescriptors"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz"; + sha1 = "8758c846f5b407adab0f236e0986f14b051caa16"; + }; + }; + "once-1.1.1" = { + name = "once"; + packageName = "once"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/once/-/once-1.1.1.tgz"; + sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7"; + }; + }; + "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"; + }; + }; + "os-browserify-0.3.0" = { + name = "os-browserify"; + packageName = "os-browserify"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz"; + sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27"; + }; + }; + "os-locale-3.1.0" = { + name = "os-locale"; + packageName = "os-locale"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz"; + sha512 = "Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q=="; + }; + }; + "osenv-0.0.3" = { + name = "osenv"; + packageName = "osenv"; + version = "0.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz"; + sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6"; + }; + }; + "p-defer-1.0.0" = { + name = "p-defer"; + packageName = "p-defer"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz"; + sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"; + }; + }; + "p-finally-1.0.0" = { + name = "p-finally"; + packageName = "p-finally"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz"; + sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae"; + }; + }; + "p-is-promise-2.1.0" = { + name = "p-is-promise"; + packageName = "p-is-promise"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz"; + sha512 = "Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg=="; + }; + }; + "p-limit-2.2.0" = { + name = "p-limit"; + packageName = "p-limit"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz"; + sha512 = "pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ=="; + }; + }; + "p-locate-3.0.0" = { + name = "p-locate"; + packageName = "p-locate"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz"; + sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="; + }; + }; + "p-try-2.2.0" = { + name = "p-try"; + packageName = "p-try"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"; + sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="; + }; + }; + "pako-1.0.10" = { + name = "pako"; + packageName = "pako"; + version = "1.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz"; + sha512 = "0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw=="; + }; + }; + "parents-1.0.1" = { + name = "parents"; + packageName = "parents"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz"; + sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751"; + }; + }; + "parse-asn1-5.1.4" = { + name = "parse-asn1"; + packageName = "parse-asn1"; + version = "5.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz"; + sha512 = "Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw=="; + }; + }; + "path-browserify-0.0.1" = { + name = "path-browserify"; + packageName = "path-browserify"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz"; + sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="; + }; + }; + "path-exists-3.0.0" = { + name = "path-exists"; + packageName = "path-exists"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"; + sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; + }; + }; + "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"; + }; + }; + "path-key-2.0.1" = { + name = "path-key"; + packageName = "path-key"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"; + sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; + }; + }; + "path-parse-1.0.6" = { + name = "path-parse"; + packageName = "path-parse"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz"; + sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="; + }; + }; + "path-platform-0.11.15" = { + name = "path-platform"; + packageName = "path-platform"; + version = "0.11.15"; + src = fetchurl { + url = "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz"; + sha1 = "e864217f74c36850f0852b78dc7bf7d4a5721bf2"; + }; + }; + "path-to-regexp-1.7.0" = { + name = "path-to-regexp"; + packageName = "path-to-regexp"; + version = "1.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz"; + sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d"; + }; + }; + "pbkdf2-3.0.17" = { + name = "pbkdf2"; + packageName = "pbkdf2"; + version = "3.0.17"; + src = fetchurl { + url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz"; + sha512 = "U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA=="; + }; + }; + "performance-now-2.1.0" = { + name = "performance-now"; + packageName = "performance-now"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"; + sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; + }; + }; + "phantomjs-1.9.7-15" = { + name = "phantomjs"; + packageName = "phantomjs"; + version = "1.9.7-15"; + src = fetchurl { + url = "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz"; + sha1 = "0b3a7ce630486a83be91ff4e832eee20e971115b"; + }; + }; + "process-0.11.10" = { + name = "process"; + packageName = "process"; + version = "0.11.10"; + src = fetchurl { + url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz"; + sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182"; + }; + }; + "process-nextick-args-2.0.0" = { + name = "process-nextick-args"; + packageName = "process-nextick-args"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz"; + sha512 = "MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="; + }; + }; + "progress-1.1.8" = { + name = "progress"; + packageName = "progress"; + version = "1.1.8"; + src = fetchurl { + url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz"; + sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"; + }; + }; + "promise-7.3.1" = { + name = "promise"; + packageName = "promise"; + version = "7.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz"; + sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg=="; + }; + }; + "proto-list-1.2.4" = { + name = "proto-list"; + packageName = "proto-list"; + version = "1.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"; + sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849"; + }; + }; + "prr-1.0.1" = { + name = "prr"; + packageName = "prr"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"; + sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476"; + }; + }; + "psl-1.1.32" = { + name = "psl"; + packageName = "psl"; + version = "1.1.32"; + src = fetchurl { + url = "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz"; + sha512 = "MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g=="; + }; + }; + "public-encrypt-4.0.3" = { + name = "public-encrypt"; + packageName = "public-encrypt"; + version = "4.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz"; + sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q=="; + }; + }; + "pump-3.0.0" = { + name = "pump"; + packageName = "pump"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"; + sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="; + }; + }; + "punycode-1.3.2" = { + name = "punycode"; + packageName = "punycode"; + version = "1.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"; + sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d"; + }; + }; + "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"; + }; + }; + "punycode-2.1.1" = { + name = "punycode"; + packageName = "punycode"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"; + sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="; + }; + }; + "qs-0.6.6" = { + name = "qs"; + packageName = "qs"; + version = "0.6.6"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"; + sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107"; + }; + }; + "qs-6.5.2" = { + name = "qs"; + packageName = "qs"; + version = "6.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"; + sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="; + }; + }; + "querystring-0.2.0" = { + name = "querystring"; + packageName = "querystring"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"; + sha1 = "b209849203bb25df820da756e747005878521620"; + }; + }; + "querystring-es3-0.2.1" = { + name = "querystring-es3"; + packageName = "querystring-es3"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz"; + sha1 = "9ec61f79049875707d69414596fd907a4d711e73"; + }; + }; + "randombytes-2.1.0" = { + name = "randombytes"; + packageName = "randombytes"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"; + sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="; + }; + }; + "randomfill-1.0.4" = { + name = "randomfill"; + packageName = "randomfill"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz"; + sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw=="; + }; + }; + "read-only-stream-2.0.0" = { + name = "read-only-stream"; + packageName = "read-only-stream"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz"; + sha1 = "2724fd6a8113d73764ac288d4386270c1dbf17f0"; + }; + }; + "readable-stream-1.1.14" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "1.1.14"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"; + sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9"; + }; + }; + "readable-stream-2.3.6" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "2.3.6"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"; + sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="; + }; + }; + "rechoir-0.6.2" = { + name = "rechoir"; + packageName = "rechoir"; + version = "0.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz"; + sha1 = "85204b54dba82d5742e28c96756ef43af50e3384"; + }; + }; + "request-2.36.0" = { + name = "request"; + packageName = "request"; + version = "2.36.0"; + src = fetchurl { + url = "https://registry.npmjs.org/request/-/request-2.36.0.tgz"; + sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5"; + }; + }; + "request-2.88.0" = { + name = "request"; + packageName = "request"; + version = "2.88.0"; + src = fetchurl { + url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz"; + sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg=="; + }; + }; + "request-progress-0.3.1" = { + name = "request-progress"; + packageName = "request-progress"; + version = "0.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz"; + sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a"; + }; + }; + "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"; + }; + }; + "require-main-filename-2.0.0" = { + name = "require-main-filename"; + packageName = "require-main-filename"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz"; + sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="; + }; + }; + "resolve-1.1.7" = { + name = "resolve"; + packageName = "resolve"; + version = "1.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"; + sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b"; + }; + }; + "resolve-1.11.1" = { + name = "resolve"; + packageName = "resolve"; + version = "1.11.1"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz"; + sha512 = "vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw=="; + }; + }; + "rimraf-2.2.8" = { + name = "rimraf"; + packageName = "rimraf"; + version = "2.2.8"; + src = fetchurl { + url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"; + sha1 = "e439be2aaee327321952730f99a8929e4fc50582"; + }; + }; + "ripemd160-2.0.2" = { + name = "ripemd160"; + packageName = "ripemd160"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz"; + sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA=="; + }; + }; + "safe-buffer-5.1.2" = { + name = "safe-buffer"; + packageName = "safe-buffer"; + version = "5.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"; + sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="; + }; + }; + "safer-buffer-2.1.2" = { + name = "safer-buffer"; + packageName = "safer-buffer"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"; + sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="; + }; + }; + "semver-1.1.4" = { + name = "semver"; + packageName = "semver"; + version = "1.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz"; + sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540"; + }; + }; + "semver-5.7.0" = { + name = "semver"; + packageName = "semver"; + version = "5.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz"; + sha512 = "Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA=="; + }; + }; + "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"; + }; + }; + "sha.js-2.4.11" = { + name = "sha.js"; + packageName = "sha.js"; + version = "2.4.11"; + src = fetchurl { + url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz"; + sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ=="; + }; + }; + "shasum-1.0.2" = { + name = "shasum"; + packageName = "shasum"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz"; + sha1 = "e7012310d8f417f4deb5712150e5678b87ae565f"; + }; + }; + "shebang-command-1.2.0" = { + name = "shebang-command"; + packageName = "shebang-command"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz"; + sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; + }; + }; + "shebang-regex-1.0.0" = { + name = "shebang-regex"; + packageName = "shebang-regex"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"; + sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; + }; + }; + "shell-quote-1.6.1" = { + name = "shell-quote"; + packageName = "shell-quote"; + version = "1.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz"; + sha1 = "f4781949cce402697127430ea3b3c5476f481767"; + }; + }; + "shelljs-0.3.0" = { + name = "shelljs"; + packageName = "shelljs"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz"; + sha1 = "3596e6307a781544f591f37da618360f31db57b1"; + }; + }; + "should-equal-2.0.0" = { + name = "should-equal"; + packageName = "should-equal"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz"; + sha512 = "ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA=="; + }; + }; + "should-format-3.0.3" = { + name = "should-format"; + packageName = "should-format"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz"; + sha1 = "9bfc8f74fa39205c53d38c34d717303e277124f1"; + }; + }; + "should-type-1.4.0" = { + name = "should-type"; + packageName = "should-type"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz"; + sha1 = "0756d8ce846dfd09843a6947719dfa0d4cff5cf3"; + }; + }; + "should-type-adaptors-1.1.0" = { + name = "should-type-adaptors"; + packageName = "should-type-adaptors"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz"; + sha512 = "JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA=="; + }; + }; + "should-util-1.0.0" = { + name = "should-util"; + packageName = "should-util"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz"; + sha1 = "c98cda374aa6b190df8ba87c9889c2b4db620063"; + }; + }; + "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"; + }; + }; + "simple-concat-1.0.0" = { + name = "simple-concat"; + packageName = "simple-concat"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz"; + sha1 = "7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"; + }; + }; + "sntp-0.2.4" = { + name = "sntp"; + packageName = "sntp"; + version = "0.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"; + sha1 = "fb885f18b0f3aad189f824862536bceeec750900"; + }; + }; + "source-map-0.5.7" = { + name = "source-map"; + packageName = "source-map"; + version = "0.5.7"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"; + sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; + }; + }; + "source-map-0.6.1" = { + name = "source-map"; + packageName = "source-map"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"; + sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="; + }; + }; + "sprintf-js-1.0.3" = { + name = "sprintf-js"; + packageName = "sprintf-js"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + }; + "sshpk-1.16.1" = { + name = "sshpk"; + packageName = "sshpk"; + version = "1.16.1"; + src = fetchurl { + url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"; + sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="; + }; + }; + "stream-browserify-2.0.2" = { + name = "stream-browserify"; + packageName = "stream-browserify"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz"; + sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg=="; + }; + }; + "stream-combiner2-1.1.1" = { + name = "stream-combiner2"; + packageName = "stream-combiner2"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz"; + sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe"; + }; + }; + "stream-http-2.8.3" = { + name = "stream-http"; + packageName = "stream-http"; + version = "2.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz"; + sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw=="; + }; + }; + "stream-splicer-2.0.1" = { + name = "stream-splicer"; + packageName = "stream-splicer"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz"; + sha512 = "Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg=="; + }; + }; + "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"; + }; + }; + "string-width-2.1.1" = { + name = "string-width"; + packageName = "string-width"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"; + sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw=="; + }; + }; + "string-width-3.1.0" = { + name = "string-width"; + packageName = "string-width"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz"; + sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="; + }; + }; + "string_decoder-0.10.31" = { + name = "string_decoder"; + packageName = "string_decoder"; + version = "0.10.31"; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; + sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; + }; + }; + "string_decoder-1.1.1" = { + name = "string_decoder"; + packageName = "string_decoder"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"; + sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="; + }; + }; + "string_decoder-1.2.0" = { + name = "string_decoder"; + packageName = "string_decoder"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz"; + sha512 = "6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w=="; + }; + }; + "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"; + }; + }; + "strip-ansi-4.0.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"; + sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; + }; + }; + "strip-ansi-5.2.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"; + sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="; + }; + }; + "strip-eof-1.0.0" = { + name = "strip-eof"; + packageName = "strip-eof"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz"; + sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf"; + }; + }; + "strip-json-comments-1.0.4" = { + name = "strip-json-comments"; + packageName = "strip-json-comments"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"; + sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"; + }; + }; + "strip-json-comments-2.0.1" = { + name = "strip-json-comments"; + packageName = "strip-json-comments"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; + }; + }; + "subarg-1.0.0" = { + name = "subarg"; + packageName = "subarg"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz"; + sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2"; + }; + }; + "supports-color-5.5.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "5.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"; + sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="; + }; + }; + "supports-color-6.0.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "6.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz"; + sha512 = "on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg=="; + }; + }; + "syntax-error-1.4.0" = { + name = "syntax-error"; + packageName = "syntax-error"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz"; + sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w=="; + }; + }; + "throttleit-0.0.2" = { + name = "throttleit"; + packageName = "throttleit"; + version = "0.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz"; + sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf"; + }; + }; + "through-2.3.8" = { + name = "through"; + packageName = "through"; + version = "2.3.8"; + src = fetchurl { + url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz"; + sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; + }; + }; + "through2-2.0.5" = { + name = "through2"; + packageName = "through2"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz"; + sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ=="; + }; + }; + "timers-browserify-1.4.2" = { + name = "timers-browserify"; + packageName = "timers-browserify"; + version = "1.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz"; + sha1 = "c9c58b575be8407375cb5e2462dacee74359f41d"; + }; + }; + "to-arraybuffer-1.0.1" = { + name = "to-arraybuffer"; + packageName = "to-arraybuffer"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"; + sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43"; + }; + }; + "tough-cookie-2.4.3" = { + name = "tough-cookie"; + packageName = "tough-cookie"; + version = "2.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz"; + sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ=="; + }; + }; + "tough-cookie-3.0.1" = { + name = "tough-cookie"; + packageName = "tough-cookie"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz"; + sha512 = "yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg=="; + }; + }; + "tty-browserify-0.0.1" = { + name = "tty-browserify"; + packageName = "tty-browserify"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz"; + sha512 = "C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="; + }; + }; + "tunnel-agent-0.4.3" = { + name = "tunnel-agent"; + packageName = "tunnel-agent"; + version = "0.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"; + sha1 = "6373db76909fe570e08d73583365ed828a74eeeb"; + }; + }; + "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"; + }; + }; + "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"; + }; + }; + "type-detect-4.0.8" = { + name = "type-detect"; + packageName = "type-detect"; + version = "4.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"; + sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="; + }; + }; + "typedarray-0.0.6" = { + name = "typedarray"; + packageName = "typedarray"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"; + sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; + }; + }; + "umd-3.0.3" = { + name = "umd"; + packageName = "umd"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz"; + sha512 = "4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow=="; + }; + }; + "undeclared-identifiers-1.1.3" = { + name = "undeclared-identifiers"; + packageName = "undeclared-identifiers"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz"; + sha512 = "pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw=="; + }; + }; + "uri-js-4.2.2" = { + name = "uri-js"; + packageName = "uri-js"; + version = "4.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"; + sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="; + }; + }; + "url-0.11.0" = { + name = "url"; + packageName = "url"; + version = "0.11.0"; + src = fetchurl { + url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz"; + sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"; + }; + }; + "util-0.10.3" = { + name = "util"; + packageName = "util"; + version = "0.10.3"; + src = fetchurl { + url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz"; + sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9"; + }; + }; + "util-0.10.4" = { + name = "util"; + packageName = "util"; + version = "0.10.4"; + src = fetchurl { + url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz"; + sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A=="; + }; + }; + "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"; + }; + }; + "uuid-3.3.2" = { + name = "uuid"; + packageName = "uuid"; + version = "3.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz"; + sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="; + }; + }; + "verror-1.10.0" = { + name = "verror"; + packageName = "verror"; + version = "1.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"; + sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; + }; + }; + "vm-browserify-1.1.0" = { + name = "vm-browserify"; + packageName = "vm-browserify"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz"; + sha512 = "iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw=="; + }; + }; + "which-1.0.9" = { + name = "which"; + packageName = "which"; + version = "1.0.9"; + src = fetchurl { + url = "https://registry.npmjs.org/which/-/which-1.0.9.tgz"; + sha1 = "460c1da0f810103d0321a9b633af9e575e64486f"; + }; + }; + "which-1.3.1" = { + name = "which"; + packageName = "which"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz"; + sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="; + }; + }; + "which-module-2.0.0" = { + name = "which-module"; + packageName = "which-module"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz"; + sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; + }; + }; + "wide-align-1.1.3" = { + name = "wide-align"; + packageName = "wide-align"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz"; + sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA=="; + }; + }; + "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"; + }; + }; + "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"; + }; + }; + "xtend-4.0.1" = { + name = "xtend"; + packageName = "xtend"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + }; + "y18n-4.0.0" = { + name = "y18n"; + packageName = "y18n"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz"; + sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="; + }; + }; + "yargs-12.0.5" = { + name = "yargs"; + packageName = "yargs"; + version = "12.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz"; + sha512 = "Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw=="; + }; + }; + "yargs-13.2.2" = { + name = "yargs"; + packageName = "yargs"; + version = "13.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz"; + sha512 = "WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA=="; + }; + }; + "yargs-parser-11.1.1" = { + name = "yargs-parser"; + packageName = "yargs-parser"; + version = "11.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz"; + sha512 = "C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ=="; + }; + }; + "yargs-parser-13.0.0" = { + name = "yargs-parser"; + packageName = "yargs-parser"; + version = "13.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz"; + sha512 = "w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw=="; + }; + }; + "yargs-unparser-1.5.0" = { + name = "yargs-unparser"; + packageName = "yargs-unparser"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz"; + sha512 = "HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw=="; + }; + }; + }; +in +{ + marked = nodeEnv.buildNodePackage { + name = "marked"; + packageName = "marked"; + version = "0.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/marked/-/marked-0.6.2.tgz"; + sha512 = "LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA=="; + }; + buildInputs = globalBuildInputs; + meta = { + description = "A markdown parser built for speed"; + homepage = https://marked.js.org/; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + browserify = nodeEnv.buildNodePackage { + name = "browserify"; + packageName = "browserify"; + version = "16.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/browserify/-/browserify-16.2.3.tgz"; + sha512 = "zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ=="; + }; + dependencies = [ + sources."JSONStream-1.3.5" + sources."acorn-6.1.1" + sources."acorn-dynamic-import-4.0.0" + sources."acorn-node-1.7.0" + sources."acorn-walk-6.1.1" + sources."array-filter-0.0.1" + sources."array-map-0.0.0" + sources."array-reduce-0.0.0" + sources."asn1.js-4.10.1" + (sources."assert-1.5.0" // { + dependencies = [ + sources."inherits-2.0.1" + sources."util-0.10.3" + ]; + }) + sources."balanced-match-1.0.0" + sources."base64-js-1.3.0" + sources."bn.js-4.11.8" + sources."brace-expansion-1.1.11" + sources."brorand-1.1.0" + sources."browser-pack-6.1.0" + (sources."browser-resolve-1.11.3" // { + dependencies = [ + sources."resolve-1.1.7" + ]; + }) + sources."browserify-aes-1.2.0" + sources."browserify-cipher-1.0.1" + sources."browserify-des-1.0.2" + sources."browserify-rsa-4.0.1" + sources."browserify-sign-4.0.4" + sources."browserify-zlib-0.2.0" + sources."buffer-5.2.1" + sources."buffer-from-1.1.1" + sources."buffer-xor-1.0.3" + sources."builtin-status-codes-3.0.0" + sources."cached-path-relative-1.0.2" + sources."cipher-base-1.0.4" + sources."combine-source-map-0.8.0" + sources."concat-map-0.0.1" + sources."concat-stream-1.6.2" + sources."console-browserify-1.1.0" + sources."constants-browserify-1.0.0" + sources."convert-source-map-1.1.3" + sources."core-util-is-1.0.2" + sources."create-ecdh-4.0.3" + sources."create-hash-1.2.0" + sources."create-hmac-1.1.7" + sources."crypto-browserify-3.12.0" + sources."dash-ast-1.0.0" + sources."date-now-0.1.4" + sources."defined-1.0.0" + sources."deps-sort-2.0.0" + sources."des.js-1.0.0" + (sources."detective-5.2.0" // { + dependencies = [ + sources."minimist-1.2.0" + ]; + }) + sources."diffie-hellman-5.0.3" + sources."domain-browser-1.2.0" + sources."duplexer2-0.1.4" + sources."elliptic-6.4.1" + sources."events-2.1.0" + sources."evp_bytestokey-1.0.3" + sources."fs.realpath-1.0.0" + sources."function-bind-1.1.1" + sources."get-assigned-identifiers-1.2.0" + sources."glob-7.1.4" + sources."has-1.0.3" + sources."hash-base-3.0.4" + sources."hash.js-1.1.7" + sources."hmac-drbg-1.0.1" + sources."htmlescape-1.1.1" + sources."https-browserify-1.0.0" + sources."ieee754-1.1.13" + sources."inflight-1.0.6" + sources."inherits-2.0.3" + sources."inline-source-map-0.6.2" + sources."insert-module-globals-7.2.0" + sources."is-buffer-1.1.6" + sources."isarray-1.0.0" + sources."json-stable-stringify-0.0.1" + sources."jsonify-0.0.0" + sources."jsonparse-1.3.1" + sources."labeled-stream-splicer-2.0.2" + sources."lodash.memoize-3.0.4" + sources."md5.js-1.3.5" + sources."miller-rabin-4.0.1" + sources."minimalistic-assert-1.0.1" + sources."minimalistic-crypto-utils-1.0.1" + sources."minimatch-3.0.4" + sources."minimist-0.0.8" + sources."mkdirp-0.5.1" + sources."module-deps-6.2.1" + sources."object-assign-4.1.1" + sources."once-1.4.0" + sources."os-browserify-0.3.0" + sources."pako-1.0.10" + sources."parents-1.0.1" + sources."parse-asn1-5.1.4" + sources."path-browserify-0.0.1" + sources."path-is-absolute-1.0.1" + sources."path-parse-1.0.6" + sources."path-platform-0.11.15" + sources."pbkdf2-3.0.17" + sources."process-0.11.10" + sources."process-nextick-args-2.0.0" + sources."public-encrypt-4.0.3" + sources."punycode-1.4.1" + sources."querystring-0.2.0" + sources."querystring-es3-0.2.1" + sources."randombytes-2.1.0" + sources."randomfill-1.0.4" + sources."read-only-stream-2.0.0" + (sources."readable-stream-2.3.6" // { + dependencies = [ + sources."string_decoder-1.1.1" + ]; + }) + sources."resolve-1.11.1" + sources."ripemd160-2.0.2" + sources."safe-buffer-5.1.2" + sources."sha.js-2.4.11" + sources."shasum-1.0.2" + sources."shell-quote-1.6.1" + sources."simple-concat-1.0.0" + sources."source-map-0.5.7" + sources."stream-browserify-2.0.2" + sources."stream-combiner2-1.1.1" + sources."stream-http-2.8.3" + sources."stream-splicer-2.0.1" + sources."string_decoder-1.2.0" + (sources."subarg-1.0.0" // { + dependencies = [ + sources."minimist-1.2.0" + ]; + }) + sources."syntax-error-1.4.0" + sources."through-2.3.8" + sources."through2-2.0.5" + sources."timers-browserify-1.4.2" + sources."to-arraybuffer-1.0.1" + sources."tty-browserify-0.0.1" + sources."typedarray-0.0.6" + sources."umd-3.0.3" + sources."undeclared-identifiers-1.1.3" + (sources."url-0.11.0" // { + dependencies = [ + sources."punycode-1.3.2" + ]; + }) + sources."util-0.10.4" + sources."util-deprecate-1.0.2" + sources."vm-browserify-1.1.0" + sources."wrappy-1.0.2" + sources."xtend-4.0.1" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "browser-side require() the node way"; + homepage = "https://github.com/browserify/browserify#readme"; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + uglify-js = nodeEnv.buildNodePackage { + name = "uglify-js"; + packageName = "uglify-js"; + version = "3.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz"; + sha512 = "W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg=="; + }; + dependencies = [ + sources."commander-2.20.0" + sources."source-map-0.6.1" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "JavaScript parser, mangler/compressor and beautifier toolkit"; + homepage = "https://github.com/mishoo/UglifyJS2#readme"; + license = "BSD-2-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + less = nodeEnv.buildNodePackage { + name = "less"; + packageName = "less"; + version = "3.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/less/-/less-3.9.0.tgz"; + sha512 = "31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w=="; + }; + dependencies = [ + sources."ajv-6.10.0" + sources."asap-2.0.6" + sources."asn1-0.2.4" + sources."assert-plus-1.0.0" + sources."asynckit-0.4.0" + sources."aws-sign2-0.7.0" + sources."aws4-1.8.0" + sources."bcrypt-pbkdf-1.0.2" + sources."caseless-0.12.0" + sources."clone-2.1.2" + sources."combined-stream-1.0.8" + sources."core-util-is-1.0.2" + sources."dashdash-1.14.1" + sources."delayed-stream-1.0.0" + sources."ecc-jsbn-0.1.2" + sources."errno-0.1.7" + sources."extend-3.0.2" + sources."extsprintf-1.3.0" + sources."fast-deep-equal-2.0.1" + sources."fast-json-stable-stringify-2.0.0" + sources."forever-agent-0.6.1" + sources."form-data-2.3.3" + sources."getpass-0.1.7" + sources."graceful-fs-4.1.15" + sources."har-schema-2.0.0" + sources."har-validator-5.1.3" + sources."http-signature-1.2.0" + sources."image-size-0.5.5" + sources."is-typedarray-1.0.0" + sources."isstream-0.1.2" + sources."jsbn-0.1.1" + sources."json-schema-0.2.3" + sources."json-schema-traverse-0.4.1" + sources."json-stringify-safe-5.0.1" + sources."jsprim-1.4.1" + sources."mime-1.6.0" + sources."mime-db-1.40.0" + sources."mime-types-2.1.24" + sources."minimist-0.0.8" + sources."mkdirp-0.5.1" + sources."oauth-sign-0.9.0" + sources."performance-now-2.1.0" + sources."promise-7.3.1" + sources."prr-1.0.1" + sources."psl-1.1.32" + sources."punycode-2.1.1" + sources."qs-6.5.2" + sources."request-2.88.0" + sources."safe-buffer-5.1.2" + sources."safer-buffer-2.1.2" + sources."source-map-0.6.1" + sources."sshpk-1.16.1" + (sources."tough-cookie-2.4.3" // { + dependencies = [ + sources."punycode-1.4.1" + ]; + }) + sources."tunnel-agent-0.6.0" + sources."tweetnacl-0.14.5" + sources."uri-js-4.2.2" + sources."uuid-3.3.2" + sources."verror-1.10.0" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Leaner CSS"; + homepage = http://lesscss.org/; + license = "Apache-2.0"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + mocha = nodeEnv.buildNodePackage { + name = "mocha"; + packageName = "mocha"; + version = "6.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz"; + sha512 = "PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg=="; + }; + dependencies = [ + sources."ansi-colors-3.2.3" + sources."ansi-regex-3.0.0" + sources."ansi-styles-3.2.1" + sources."argparse-1.0.10" + sources."balanced-match-1.0.0" + sources."brace-expansion-1.1.11" + sources."browser-stdout-1.3.1" + sources."camelcase-5.3.1" + (sources."chalk-2.4.2" // { + dependencies = [ + sources."supports-color-5.5.0" + ]; + }) + sources."cliui-4.1.0" + sources."code-point-at-1.1.0" + sources."color-convert-1.9.3" + sources."color-name-1.1.3" + sources."concat-map-0.0.1" + sources."cross-spawn-6.0.5" + sources."debug-3.2.6" + sources."decamelize-1.2.0" + sources."define-properties-1.1.3" + sources."diff-3.5.0" + sources."emoji-regex-7.0.3" + sources."end-of-stream-1.4.1" + sources."es-abstract-1.13.0" + sources."es-to-primitive-1.2.0" + sources."escape-string-regexp-1.0.5" + sources."esprima-4.0.1" + sources."execa-1.0.0" + sources."find-up-3.0.0" + sources."flat-4.1.0" + sources."fs.realpath-1.0.0" + sources."function-bind-1.1.1" + sources."get-caller-file-2.0.5" + sources."get-stream-4.1.0" + sources."glob-7.1.3" + sources."growl-1.10.5" + sources."has-1.0.3" + sources."has-flag-3.0.0" + sources."has-symbols-1.0.0" + sources."he-1.2.0" + sources."inflight-1.0.6" + sources."inherits-2.0.3" + sources."invert-kv-2.0.0" + sources."is-buffer-2.0.3" + sources."is-callable-1.1.4" + sources."is-date-object-1.0.1" + sources."is-fullwidth-code-point-2.0.0" + sources."is-regex-1.0.4" + sources."is-stream-1.1.0" + sources."is-symbol-1.0.2" + sources."isexe-2.0.0" + sources."js-yaml-3.13.1" + sources."lcid-2.0.0" + sources."locate-path-3.0.0" + sources."lodash-4.17.11" + sources."log-symbols-2.2.0" + sources."map-age-cleaner-0.1.3" + sources."mem-4.3.0" + sources."mimic-fn-2.1.0" + sources."minimatch-3.0.4" + sources."minimist-0.0.8" + sources."mkdirp-0.5.1" + sources."ms-2.1.1" + sources."nice-try-1.0.5" + sources."node-environment-flags-1.0.5" + sources."npm-run-path-2.0.2" + sources."number-is-nan-1.0.1" + sources."object-keys-1.1.1" + sources."object.assign-4.1.0" + sources."object.getownpropertydescriptors-2.0.3" + sources."once-1.4.0" + sources."os-locale-3.1.0" + sources."p-defer-1.0.0" + sources."p-finally-1.0.0" + sources."p-is-promise-2.1.0" + sources."p-limit-2.2.0" + sources."p-locate-3.0.0" + sources."p-try-2.2.0" + sources."path-exists-3.0.0" + sources."path-is-absolute-1.0.1" + sources."path-key-2.0.1" + sources."pump-3.0.0" + sources."require-directory-2.1.1" + sources."require-main-filename-2.0.0" + sources."semver-5.7.0" + sources."set-blocking-2.0.0" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."signal-exit-3.0.2" + sources."sprintf-js-1.0.3" + sources."string-width-2.1.1" + sources."strip-ansi-4.0.0" + sources."strip-eof-1.0.0" + sources."strip-json-comments-2.0.1" + sources."supports-color-6.0.0" + sources."which-1.3.1" + sources."which-module-2.0.0" + sources."wide-align-1.1.3" + (sources."wrap-ansi-2.1.0" // { + dependencies = [ + sources."ansi-regex-2.1.1" + sources."is-fullwidth-code-point-1.0.0" + sources."string-width-1.0.2" + sources."strip-ansi-3.0.1" + ]; + }) + sources."wrappy-1.0.2" + sources."y18n-4.0.0" + (sources."yargs-13.2.2" // { + dependencies = [ + sources."ansi-regex-4.1.0" + sources."string-width-3.1.0" + sources."strip-ansi-5.2.0" + ]; + }) + sources."yargs-parser-13.0.0" + (sources."yargs-unparser-1.5.0" // { + dependencies = [ + sources."get-caller-file-1.0.3" + sources."require-main-filename-1.0.1" + sources."yargs-12.0.5" + sources."yargs-parser-11.1.1" + ]; + }) + ]; + buildInputs = globalBuildInputs; + meta = { + description = "simple, flexible, fun test framework"; + homepage = https://mochajs.org/; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + mocha-phantomjs = nodeEnv.buildNodePackage { + name = "mocha-phantomjs"; + packageName = "mocha-phantomjs"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-4.1.0.tgz"; + sha1 = "c75e16612e1a6af0ad8d281e3a2fef49d55e505b"; + }; + dependencies = [ + sources."abbrev-1.1.1" + sources."adm-zip-0.2.1" + sources."asn1-0.1.11" + sources."assert-plus-0.1.5" + sources."async-0.9.2" + sources."aws-sign2-0.5.0" + sources."boom-0.4.2" + sources."combined-stream-0.0.7" + sources."commander-2.20.0" + (sources."config-chain-1.1.12" // { + dependencies = [ + sources."ini-1.3.5" + ]; + }) + sources."cryptiles-0.2.2" + sources."ctype-0.5.3" + sources."delayed-stream-0.0.5" + sources."forever-agent-0.5.2" + sources."form-data-0.1.4" + sources."hawk-1.0.0" + sources."hoek-0.9.1" + sources."http-signature-0.10.1" + sources."inherits-1.0.2" + sources."ini-1.1.0" + sources."ip-regex-2.1.0" + sources."json-stringify-safe-5.0.1" + sources."kew-0.1.7" + sources."mime-1.2.11" + sources."mkdirp-0.3.5" + sources."mocha-phantomjs-core-1.3.1" + sources."ncp-0.4.2" + sources."node-uuid-1.4.8" + sources."nopt-2.2.1" + sources."npmconf-0.0.24" + sources."oauth-sign-0.3.0" + sources."once-1.1.1" + sources."osenv-0.0.3" + sources."phantomjs-1.9.7-15" + sources."progress-1.1.8" + sources."proto-list-1.2.4" + sources."psl-1.1.32" + sources."punycode-2.1.1" + sources."qs-0.6.6" + sources."request-2.36.0" + sources."request-progress-0.3.1" + sources."rimraf-2.2.8" + sources."semver-1.1.4" + sources."sntp-0.2.4" + sources."throttleit-0.0.2" + sources."tough-cookie-3.0.1" + sources."tunnel-agent-0.4.3" + sources."which-1.0.9" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Run mocha browser tests in phantomjs via the command line"; + homepage = "https://github.com/nathanboktae/mocha-phantomjs#readme"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + should = nodeEnv.buildNodePackage { + name = "should"; + packageName = "should"; + version = "13.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/should/-/should-13.2.3.tgz"; + sha512 = "ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ=="; + }; + dependencies = [ + sources."should-equal-2.0.0" + sources."should-format-3.0.3" + sources."should-type-1.4.0" + sources."should-type-adaptors-1.1.0" + sources."should-util-1.0.0" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "test framework agnostic BDD-style assertions"; + homepage = https://github.com/shouldjs/should.js; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + sinon = nodeEnv.buildNodePackage { + name = "sinon"; + packageName = "sinon"; + version = "7.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/sinon/-/sinon-7.3.2.tgz"; + sha512 = "thErC1z64BeyGiPvF8aoSg0LEnptSaWE7YhdWWbWXgelOyThent7uKOnnEh9zBxDbKixtr5dEko+ws1sZMuFMA=="; + }; + dependencies = [ + sources."@sinonjs/commons-1.4.0" + sources."@sinonjs/formatio-3.2.1" + sources."@sinonjs/samsam-3.3.1" + sources."@sinonjs/text-encoding-0.7.1" + sources."array-from-2.1.1" + sources."diff-3.5.0" + sources."has-flag-3.0.0" + sources."isarray-0.0.1" + sources."just-extend-4.0.2" + sources."lodash-4.17.11" + sources."lolex-4.1.0" + sources."nise-1.5.0" + sources."path-to-regexp-1.7.0" + sources."supports-color-5.5.0" + sources."type-detect-4.0.8" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "JavaScript test spies, stubs and mocks."; + homepage = https://sinonjs.org/; + license = "BSD-3-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + jshint = nodeEnv.buildNodePackage { + name = "jshint"; + packageName = "jshint"; + version = "2.10.2"; + src = fetchurl { + url = "https://registry.npmjs.org/jshint/-/jshint-2.10.2.tgz"; + sha512 = "e7KZgCSXMJxznE/4WULzybCMNXNAd/bf5TSrvVEq78Q/K8ZwFpmBqQeDtNiHc3l49nV4E/+YeHU/JZjSUIrLAA=="; + }; + dependencies = [ + sources."balanced-match-1.0.0" + sources."brace-expansion-1.1.11" + sources."cli-1.0.1" + sources."concat-map-0.0.1" + sources."console-browserify-1.1.0" + sources."core-util-is-1.0.2" + sources."date-now-0.1.4" + (sources."dom-serializer-0.1.1" // { + dependencies = [ + sources."entities-1.1.2" + ]; + }) + sources."domelementtype-1.3.1" + sources."domhandler-2.3.0" + sources."domutils-1.5.1" + sources."entities-1.0.0" + sources."exit-0.1.2" + sources."fs.realpath-1.0.0" + sources."glob-7.1.4" + sources."htmlparser2-3.8.3" + sources."inflight-1.0.6" + sources."inherits-2.0.3" + sources."isarray-0.0.1" + sources."lodash-4.17.11" + sources."minimatch-3.0.4" + sources."once-1.4.0" + sources."path-is-absolute-1.0.1" + sources."readable-stream-1.1.14" + sources."shelljs-0.3.0" + sources."string_decoder-0.10.31" + sources."strip-json-comments-1.0.4" + sources."wrappy-1.0.2" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Static analysis tool for JavaScript"; + homepage = http://jshint.com/; + license = "(MIT AND JSON)"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + shelljs = nodeEnv.buildNodePackage { + name = "shelljs"; + packageName = "shelljs"; + version = "0.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz"; + sha512 = "fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A=="; + }; + dependencies = [ + sources."balanced-match-1.0.0" + sources."brace-expansion-1.1.11" + sources."concat-map-0.0.1" + sources."fs.realpath-1.0.0" + sources."glob-7.1.4" + sources."inflight-1.0.6" + sources."inherits-2.0.3" + sources."interpret-1.2.0" + sources."minimatch-3.0.4" + sources."once-1.4.0" + sources."path-is-absolute-1.0.1" + sources."path-parse-1.0.6" + sources."rechoir-0.6.2" + sources."resolve-1.11.1" + sources."wrappy-1.0.2" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Portable Unix shell commands for Node.js"; + homepage = http://github.com/shelljs/shelljs; + license = "BSD-3-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; +} \ No newline at end of file diff --git a/nixpkgs/pkgs/development/web/remarkjs/nodepkgs.nix b/nixpkgs/pkgs/development/web/remarkjs/nodepkgs.nix new file mode 100644 index 000000000000..32c24174b5ec --- /dev/null +++ b/nixpkgs/pkgs/development/web/remarkjs/nodepkgs.nix @@ -0,0 +1,17 @@ +# This file has been generated by node2nix 1.7.0. Do not edit! + +{pkgs ? import <nixpkgs> { + inherit system; + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-8_x"}: + +let + nodeEnv = import ../../node-packages/node-env.nix { + inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit nodejs; + libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; + }; +in +import ./node-packages.nix { + inherit (pkgs) fetchurl fetchgit; + inherit nodeEnv; +} \ No newline at end of file diff --git a/nixpkgs/pkgs/development/web/remarkjs/pkgs.json b/nixpkgs/pkgs/development/web/remarkjs/pkgs.json new file mode 100644 index 000000000000..516bcebc6f48 --- /dev/null +++ b/nixpkgs/pkgs/development/web/remarkjs/pkgs.json @@ -0,0 +1,12 @@ +[ + "marked" +, "browserify" +, "uglify-js" +, "less" +, "mocha" +, "mocha-phantomjs" +, "should" +, "sinon" +, "jshint" +, "shelljs" +] diff --git a/nixpkgs/pkgs/development/web/twitter-bootstrap/3.nix b/nixpkgs/pkgs/development/web/twitter-bootstrap/3.nix new file mode 100644 index 000000000000..71cda3d3d9fc --- /dev/null +++ b/nixpkgs/pkgs/development/web/twitter-bootstrap/3.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + name = "bootstrap-${version}"; + version = "3.4.1"; + + src = fetchurl { + url = "https://github.com/twbs/bootstrap/releases/download/v${version}/bootstrap-${version}-dist.zip"; + sha256 = "0bnrxyryl4kyq250k4n2lxgkddfs9lxhqd6gq8x3kg9wfz7r75yl"; + }; + + buildInputs = [ unzip ]; + + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out/ + ''; + + meta = { + description = "Front-end framework for faster and easier web development"; + homepage = https://getbootstrap.com/; + license = stdenv.lib.licenses.mit; + }; + +} diff --git a/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix new file mode 100644 index 000000000000..61e7947a4796 --- /dev/null +++ b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + pname = "bootstrap"; + version = "4.3.1"; + + src = fetchurl { + url = "https://github.com/twbs/bootstrap/releases/download/v${version}/${pname}-${version}-dist.zip"; + sha256 = "08rkg4q8x36k03g1d81brhncrzb98sh8r53a5wg3i4p1nwqgv3w8"; + }; + + buildInputs = [ unzip ]; + + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out/ + ''; + + meta = { + description = "Front-end framework for faster and easier web development"; + homepage = https://getbootstrap.com/; + license = stdenv.lib.licenses.mit; + }; + +} diff --git a/nixpkgs/pkgs/development/web/valum/default.nix b/nixpkgs/pkgs/development/web/valum/default.nix new file mode 100644 index 000000000000..266217d94e24 --- /dev/null +++ b/nixpkgs/pkgs/development/web/valum/default.nix @@ -0,0 +1,25 @@ +{ stdenv, meson, ninja, pkgconfig, fetchFromGitHub, glib, vala, ctpl +, libgee, libsoup, fcgi }: + +stdenv.mkDerivation rec { + name = "valum-${version}"; + version = "0.3.15"; + + src = fetchFromGitHub { + owner = "valum-framework"; + repo = "valum"; + rev = "v${version}"; + sha256 = "1wk23aq5lxsqns58s4g9jrwx6wrk7k9hq9rg8jcs42rxn2pckaxw"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig ]; + buildInputs = [ glib vala ctpl libgee libsoup fcgi ]; + + meta = with stdenv.lib; { + homepage = https://github.com/valum-framework/valum; + description = "Web micro-framework written in Vala"; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = [ maintainers.lethalman ]; + }; +} diff --git a/nixpkgs/pkgs/development/web/wml/default.nix b/nixpkgs/pkgs/development/web/wml/default.nix new file mode 100644 index 000000000000..82faf32a3210 --- /dev/null +++ b/nixpkgs/pkgs/development/web/wml/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, perlPackages, ncurses, lynx, makeWrapper }: + +perlPackages.buildPerlPackage rec { + pname = "wml"; + version = "2.0.11"; + + src = fetchurl { + url = "http://thewml.org/distrib/wml-2.0.11.tar.gz"; + sha256 = "0jjxpq91x7y2mgixz7ghqp01m24qa37wl3zz515rrzv7x8cyy4cf"; + }; + + setOutputFlags = false; + + # Getting lots of Non-ASCII character errors from pod2man. + # Inserting =encoding utf8 before the first =head occurrence. + # Wasn't able to fix mp4h. + preConfigure = '' + touch Makefile.PL + for i in wml_backend/p6_asubst/asubst.src wml_aux/freetable/freetable.src wml_docs/*.pod wml_include/des/*.src wml_include/fmt/*.src; do + sed -i '0,/^=head/{s/^=head/=encoding utf8\n=head/}' $i + done + sed -i 's/ doc / /g' wml_backend/p2_mp4h/Makefile.in + sed -i '/p2_mp4h\/doc/d' Makefile.in + ''; + + buildInputs = with perlPackages; + [ perl TermReadKey GD BitVector ncurses lynx makeWrapper ImageSize ]; + + patches = [ ./redhat-with-thr.patch ./dynaloader.patch ./no_bitvector.patch ]; + + hardeningDisable = [ "format" ]; + + postPatch = '' + substituteInPlace wml_frontend/wml.src \ + --replace "File::PathConvert::realpath" "Cwd::realpath" \ + --replace "File::PathConvert::abs2rel" "File::Spec->abs2rel" \ + --replace "File::PathConvert" "File::Spec" + + for i in wml_include/des/imgbg.src wml_include/des/imgdot.src; do + substituteInPlace $i \ + --replace "WML::GD" "GD" + done + + rm wml_test/t/11-wmk.t + ''; + + preFixup = '' + wrapProgram $out/bin/wml \ + --set PERL5LIB ${with perlPackages; makePerlPath [ + BitVector TermReadKey ImageSize + ]} + ''; + + enableParallelBuilding = false; + + installTargets = "install"; + + meta = with stdenv.lib; { + homepage = http://thewml.org/; + description = "Off-line HTML generation toolkit for Unix"; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/web/wml/dynaloader.patch b/nixpkgs/pkgs/development/web/wml/dynaloader.patch new file mode 100644 index 000000000000..89b9f0427f9b --- /dev/null +++ b/nixpkgs/pkgs/development/web/wml/dynaloader.patch @@ -0,0 +1,11 @@ +--- a/wml_backend/p3_eperl/configure 2009-10-03 19:12:29.000000000 -0500 ++++ b/wml_backend/p3_eperl/configure 2009-10-03 19:12:45.000000000 -0500 +@@ -678,7 +678,7 @@ + #define HAVE_PERL_DYNALOADER 1 + EOF + +- perl_dla=$perl_archlib/auto/DynaLoader/DynaLoader.a ++ perl_dla=$perl_archlib/CORE/libperl.so + ;; + * ) + rc=no \ No newline at end of file diff --git a/nixpkgs/pkgs/development/web/wml/no_bitvector.patch b/nixpkgs/pkgs/development/web/wml/no_bitvector.patch new file mode 100644 index 000000000000..d5fe926c4c7d --- /dev/null +++ b/nixpkgs/pkgs/development/web/wml/no_bitvector.patch @@ -0,0 +1,10 @@ +--- a/wml_common/Makefile.in 2014-12-17 00:28:25.156736048 +0100 ++++ b/wml_common/Makefile.in 2014-12-17 00:28:30.501817958 +0100 +@@ -45,7 +45,6 @@ + have_gd=0 + + SUBDIRS = \ +- bitvector \ + filepathconvert \ + gd \ + getoptlong \ diff --git a/nixpkgs/pkgs/development/web/wml/redhat-with-thr.patch b/nixpkgs/pkgs/development/web/wml/redhat-with-thr.patch new file mode 100644 index 000000000000..4b06ccb3f56a --- /dev/null +++ b/nixpkgs/pkgs/development/web/wml/redhat-with-thr.patch @@ -0,0 +1,19 @@ +Description: Fix FTBFS with Perl 5.16 + Patch taken from Fedora +Debian-Bug: 676263 +Fedora-Bug: 839609 +Author: Jitka Plesnikova +Origin: https://bugzilla.redhat.com/show_bug.cgi?id=839609 + +--- a/wml_backend/p3_eperl/eperl_perl5.h 2012-07-27 10:49:27.048508799 +0200 ++++ b/wml_backend/p3_eperl/eperl_perl5.h 2012-07-27 10:50:16.288714291 +0200 +@@ -72,9 +72,6 @@ + # define PL_curstash curstash + #endif + +-#ifndef WITH_THR +-# define PL_defoutgv defoutgv +-#endif + + /* + Initialization of locales when building a new Perl interpreter. \ No newline at end of file diff --git a/nixpkgs/pkgs/development/web/woff2/default.nix b/nixpkgs/pkgs/development/web/woff2/default.nix new file mode 100644 index 000000000000..bda6dab14d8a --- /dev/null +++ b/nixpkgs/pkgs/development/web/woff2/default.nix @@ -0,0 +1,32 @@ +{ brotli, cmake, fetchFromGitHub, stdenv }: + +stdenv.mkDerivation rec { + name = "woff2-${version}"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "google"; + repo = "woff2"; + rev = "v${version}"; + sha256 = "13l4g536h0pr84ww4wxs2za439s0xp1va55g6l478rfbb1spp44y"; + }; + + outputs = [ "out" "dev" "lib" ]; + + nativeBuildInputs = [ cmake ]; + + propagatedBuildInputs = [ brotli ]; + + # without this binaries only get built if shared libs are disable + patchPhase = '' + sed 's@^if (NOT BUILD_SHARED_LIBS)$@if (TRUE)@g' -i CMakeLists.txt + ''; + + meta = with stdenv.lib; { + description = "Webfont compression reference code"; + homepage = https://github.com/google/woff2; + license = licenses.mit; + maintainers = [ maintainers.hrdinka ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/web/xmlindent/default.nix b/nixpkgs/pkgs/development/web/xmlindent/default.nix new file mode 100644 index 000000000000..f0966357d93d --- /dev/null +++ b/nixpkgs/pkgs/development/web/xmlindent/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, flex }: + +stdenv.mkDerivation rec { + name = "xmlindent-${version}"; + version = "0.2.17"; + + src = fetchurl { + url = "mirror://sourceforge/project/xmlindent/xmlindent/${version}/${name}.tar.gz"; + sha256 = "0k15rxh51a5r4bvfm6c4syxls8al96cx60a9mn6pn24nns3nh3rs"; + }; + + buildInputs = [ flex ]; + + preConfigure = '' + substituteInPlace Makefile --replace "PREFIX=/usr/local" "PREFIX=$out" + ''; + + meta = { + description = "XML stream reformatter"; + homepage = http://xmlindent.sourceforge.net/; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ocharles ]; + }; +} |