aboutsummaryrefslogtreecommitdiff
path: root/pkgs/sass-lint
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2018-12-11 18:10:48 +0300
committerIgor Pashev <pashev.igor@gmail.com>2018-12-11 18:10:48 +0300
commit8b0968b2054d3bb8d90b5ac056727f7c2ebeaed3 (patch)
treed03b70f693463fc836a8dbe4240424d2547530c8 /pkgs/sass-lint
parentc4273035cf5876e3ba8ed2c6b492d31c2de290ee (diff)
downloadnixsap-8b0968b2054d3bb8d90b5ac056727f7c2ebeaed3.tar.gz
(* HUGE *) Use nixpkgs overlays
Diffstat (limited to 'pkgs/sass-lint')
-rw-r--r--pkgs/sass-lint/default.nix30
-rwxr-xr-xpkgs/sass-lint/generate.sh4
-rw-r--r--pkgs/sass-lint/main.json3
-rw-r--r--pkgs/sass-lint/main.nix17
-rw-r--r--pkgs/sass-lint/node-env.nix503
-rw-r--r--pkgs/sass-lint/node-packages.nix1488
6 files changed, 2045 insertions, 0 deletions
diff --git a/pkgs/sass-lint/default.nix b/pkgs/sass-lint/default.nix
new file mode 100644
index 0000000..ed87802
--- /dev/null
+++ b/pkgs/sass-lint/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, pkgs, nodejs, writeScript }:
+
+let
+
+ inherit (builtins)
+ attrNames
+ fromJSON
+ head
+ readFile
+ ;
+
+ packages = fromJSON (readFile ./main.json);
+ package = head packages;
+
+ name = head (attrNames package);
+ version = package.${name};
+
+ main = (import ./main.nix {
+ inherit pkgs;
+ inherit (pkgs) nodejs;
+ inherit (stdenv) system;
+ })."${name}-${version}";
+
+in
+pkgs.runCommand "${name}-${version}" {}
+''
+ mkdir -p $out/bin
+ ln -s ${main}/bin/${name} $out/bin/${name}
+ test -x $out/bin/${name}
+''
diff --git a/pkgs/sass-lint/generate.sh b/pkgs/sass-lint/generate.sh
new file mode 100755
index 0000000..16d4673
--- /dev/null
+++ b/pkgs/sass-lint/generate.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+node2nix -8 --bypass-cache --flatten -i main.json -c main.nix
+
diff --git a/pkgs/sass-lint/main.json b/pkgs/sass-lint/main.json
new file mode 100644
index 0000000..349b64e
--- /dev/null
+++ b/pkgs/sass-lint/main.json
@@ -0,0 +1,3 @@
+[
+ { "sass-lint" : "1.12.1" }
+]
diff --git a/pkgs/sass-lint/main.nix b/pkgs/sass-lint/main.nix
new file mode 100644
index 0000000..fa82945
--- /dev/null
+++ b/pkgs/sass-lint/main.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.5.3. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+ inherit system;
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-8_x"}:
+
+let
+ nodeEnv = import ./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/pkgs/sass-lint/node-env.nix b/pkgs/sass-lint/node-env.nix
new file mode 100644
index 0000000..fc118a7
--- /dev/null
+++ b/pkgs/sass-lint/node-env.nix
@@ -0,0 +1,503 @@
+# This file originates from node2nix
+
+{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+
+let
+ python = if nodejs ? python then nodejs.python else python2;
+
+ # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
+ tarWrapper = runCommand "tarWrapper" {} ''
+ mkdir -p $out/bin
+
+ cat > $out/bin/tar <<EOF
+ #! ${stdenv.shell} -e
+ $(type -p tar) "\$@" --warning=no-unknown-keyword
+ EOF
+
+ chmod +x $out/bin/tar
+ '';
+
+ # Function that generates a TGZ file from a NPM project
+ buildNodeSourceDist =
+ { name, version, src, ... }:
+
+ stdenv.mkDerivation {
+ name = "node-tarball-${name}-${version}";
+ inherit src;
+ buildInputs = [ nodejs ];
+ buildPhase = ''
+ export HOME=$TMPDIR
+ tgzFile=$(npm pack)
+ '';
+ installPhase = ''
+ mkdir -p $out/tarballs
+ mv $tgzFile $out/tarballs
+ mkdir -p $out/nix-support
+ echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
+ '';
+ };
+
+ includeDependencies = {dependencies}:
+ stdenv.lib.optionalString (dependencies != [])
+ (stdenv.lib.concatMapStrings (dependency:
+ ''
+ # Bundle the dependencies of the package
+ mkdir -p node_modules
+ cd node_modules
+
+ # Only include dependencies if they don't exist. They may also be bundled in the package.
+ if [ ! -e "${dependency.name}" ]
+ then
+ ${composePackage dependency}
+ fi
+
+ cd ..
+ ''
+ ) dependencies);
+
+ # Recursively composes the dependencies of a package
+ composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+ ''
+ DIR=$(pwd)
+ cd $TMPDIR
+
+ unpackFile ${src}
+
+ # Make the base dir in which the target dependency resides first
+ mkdir -p "$(dirname "$DIR/${packageName}")"
+
+ if [ -f "${src}" ]
+ then
+ # Figure out what directory has been unpacked
+ packageDir="$(find . -maxdepth 1 -type d | tail -1)"
+
+ # Restore write permissions to make building work
+ find "$packageDir" -type d -print0 | xargs -0 chmod u+x
+ chmod -R u+w "$packageDir"
+
+ # Move the extracted tarball into the output folder
+ mv "$packageDir" "$DIR/${packageName}"
+ elif [ -d "${src}" ]
+ then
+ # Get a stripped name (without hash) of the source directory.
+ # On old nixpkgs it's already set internally.
+ if [ -z "$strippedName" ]
+ then
+ strippedName="$(stripHash ${src})"
+ fi
+
+ # Restore write permissions to make building work
+ chmod -R u+w "$strippedName"
+
+ # Move the extracted directory into the output folder
+ mv "$strippedName" "$DIR/${packageName}"
+ fi
+
+ # Unset the stripped name to not confuse the next unpack step
+ unset strippedName
+
+ # Include the dependencies of the package
+ cd "$DIR/${packageName}"
+ ${includeDependencies { inherit dependencies; }}
+ cd ..
+ ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ '';
+
+ pinpointDependencies = {dependencies, production}:
+ let
+ pinpointDependenciesFromPackageJSON = writeTextFile {
+ name = "pinpointDependencies.js";
+ text = ''
+ var fs = require('fs');
+ var path = require('path');
+
+ function resolveDependencyVersion(location, name) {
+ if(location == process.env['NIX_STORE']) {
+ return null;
+ } else {
+ var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
+
+ if(fs.existsSync(dependencyPackageJSON)) {
+ var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
+
+ if(dependencyPackageObj.name == name) {
+ return dependencyPackageObj.version;
+ }
+ } else {
+ return resolveDependencyVersion(path.resolve(location, ".."), name);
+ }
+ }
+ }
+
+ function replaceDependencies(dependencies) {
+ if(typeof dependencies == "object" && dependencies !== null) {
+ for(var dependency in dependencies) {
+ var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
+
+ if(resolvedVersion === null) {
+ process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
+ } else {
+ dependencies[dependency] = resolvedVersion;
+ }
+ }
+ }
+ }
+
+ /* Read the package.json configuration */
+ var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+
+ /* Pinpoint all dependencies */
+ replaceDependencies(packageObj.dependencies);
+ if(process.argv[2] == "development") {
+ replaceDependencies(packageObj.devDependencies);
+ }
+ replaceDependencies(packageObj.optionalDependencies);
+
+ /* Write the fixed package.json file */
+ fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
+ '';
+ };
+ in
+ ''
+ node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
+
+ ${stdenv.lib.optionalString (dependencies != [])
+ ''
+ if [ -d node_modules ]
+ then
+ cd node_modules
+ ${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
+ cd ..
+ fi
+ ''}
+ '';
+
+ # Recursively traverses all dependencies of a package and pinpoints all
+ # dependencies in the package.json file to the versions that are actually
+ # being used.
+
+ pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
+ ''
+ if [ -d "${packageName}" ]
+ then
+ cd "${packageName}"
+ ${pinpointDependencies { inherit dependencies production; }}
+ cd ..
+ ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ fi
+ '';
+
+ # Extract the Node.js source code which is used to compile packages with
+ # native bindings
+ nodeSources = runCommand "node-sources" {} ''
+ tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+ mv node-* $out
+ '';
+
+ # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
+ addIntegrityFieldsScript = writeTextFile {
+ name = "addintegrityfields.js";
+ text = ''
+ var fs = require('fs');
+ var path = require('path');
+
+ function augmentDependencies(baseDir, dependencies) {
+ for(var dependencyName in dependencies) {
+ var dependency = dependencies[dependencyName];
+
+ // Open package.json and augment metadata fields
+ var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
+ var packageJSONPath = path.join(packageJSONDir, "package.json");
+
+ if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
+ console.log("Adding metadata fields to: "+packageJSONPath);
+ var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
+
+ if(dependency.integrity) {
+ packageObj["_integrity"] = dependency.integrity;
+ } else {
+ packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
+ }
+
+ packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
+ fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
+ }
+
+ // Augment transitive dependencies
+ if(dependency.dependencies !== undefined) {
+ augmentDependencies(packageJSONDir, dependency.dependencies);
+ }
+ }
+ }
+
+ if(fs.existsSync("./package-lock.json")) {
+ var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
+
+ if(packageLock.lockfileVersion !== 1) {
+ process.stderr.write("Sorry, I only understand lock file version 1!\n");
+ process.exit(1);
+ }
+
+ if(packageLock.dependencies !== undefined) {
+ augmentDependencies(".", packageLock.dependencies);
+ }
+ }
+ '';
+ };
+
+ # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
+ reconstructPackageLock = writeTextFile {
+ name = "addintegrityfields.js";
+ text = ''
+ var fs = require('fs');
+ var path = require('path');
+
+ var packageObj = JSON.parse(fs.readFileSync("package.json"));
+
+ var lockObj = {
+ name: packageObj.name,
+ version: packageObj.version,
+ lockfileVersion: 1,
+ requires: true,
+ dependencies: {}
+ };
+
+ function augmentPackageJSON(filePath, dependencies) {
+ var packageJSON = path.join(filePath, "package.json");
+ if(fs.existsSync(packageJSON)) {
+ var packageObj = JSON.parse(fs.readFileSync(packageJSON));
+ dependencies[packageObj.name] = {
+ version: packageObj.version,
+ integrity: "sha1-000000000000000000000000000=",
+ dependencies: {}
+ };
+ processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
+ }
+ }
+
+ function processDependencies(dir, dependencies) {
+ if(fs.existsSync(dir)) {
+ var files = fs.readdirSync(dir);
+
+ files.forEach(function(entry) {
+ var filePath = path.join(dir, entry);
+ var stats = fs.statSync(filePath);
+
+ if(stats.isDirectory()) {
+ if(entry.substr(0, 1) == "@") {
+ // When we encounter a namespace folder, augment all packages belonging to the scope
+ var pkgFiles = fs.readdirSync(filePath);
+
+ pkgFiles.forEach(function(entry) {
+ if(stats.isDirectory()) {
+ var pkgFilePath = path.join(filePath, entry);
+ augmentPackageJSON(pkgFilePath, dependencies);
+ }
+ });
+ } else {
+ augmentPackageJSON(filePath, dependencies);
+ }
+ }
+ });
+ }
+ }
+
+ processDependencies("node_modules", lockObj.dependencies);
+
+ fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
+ '';
+ };
+
+ # Builds and composes an NPM package including all its dependencies
+ buildNodePackage = { name, packageName, version, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, bypassCache ? false, preRebuild ? "", ... }@args:
+
+ let
+ forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
+ in
+ stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
+ name = "node-${name}-${version}";
+ buildInputs = [ tarWrapper python nodejs ]
+ ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+ ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+ ++ args.buildInputs or [];
+ dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
+
+ inherit dontNpmInstall preRebuild;
+
+ unpackPhase = args.unpackPhase or "true";
+
+ buildPhase = args.buildPhase or "true";
+
+ compositionScript = composePackage args;
+ pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+ passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
+
+ installPhase = args.installPhase or ''
+ # Create and enter a root node_modules/ folder
+ mkdir -p $out/lib/node_modules
+ cd $out/lib/node_modules
+
+ # Compose the package and all its dependencies
+ source $compositionScriptPath
+
+ # Pinpoint the versions of all dependencies to the ones that are actually being used
+ echo "pinpointing versions of dependencies..."
+ source $pinpointDependenciesScriptPath
+
+ # Patch the shebangs of the bundled modules to prevent them from
+ # calling executables outside the Nix store as much as possible
+ patchShebangs .
+
+ # Deploy the Node.js package by running npm install. Since the
+ # dependencies have been provided already by ourselves, it should not
+ # attempt to install them again, which is good, because we want to make
+ # it Nix's responsibility. If it needs to install any dependencies
+ # anyway (e.g. because the dependency parameters are
+ # incomplete/incorrect), it fails.
+ #
+ # The other responsibilities of NPM are kept -- version checks, build
+ # steps, postprocessing etc.
+
+ export HOME=$TMPDIR
+ cd "${packageName}"
+ runHook preRebuild
+
+ ${stdenv.lib.optionalString bypassCache ''
+ if [ ! -f package-lock.json ]
+ then
+ echo "No package-lock.json file found, reconstructing..."
+ node ${reconstructPackageLock}
+ fi
+
+ node ${addIntegrityFieldsScript}
+ ''}
+
+ npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+
+ if [ "$dontNpmInstall" != "1" ]
+ then
+ # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+ rm -f npm-shrinkwrap.json
+
+ npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+ fi
+
+ # Create symlink to the deployed executable folder, if applicable
+ if [ -d "$out/lib/node_modules/.bin" ]
+ then
+ ln -s $out/lib/node_modules/.bin $out/bin
+ fi
+
+ # Create symlinks to the deployed manual page folders, if applicable
+ if [ -d "$out/lib/node_modules/${packageName}/man" ]
+ then
+ mkdir -p $out/share
+ for dir in "$out/lib/node_modules/${packageName}/man/"*
+ do
+ mkdir -p $out/share/man/$(basename "$dir")
+ for page in "$dir"/*
+ do
+ ln -s $page $out/share/man/$(basename "$dir")
+ done
+ done
+ fi
+
+ # Run post install hook, if provided
+ runHook postInstall
+ '';
+ });
+
+ # Builds a development shell
+ buildNodeShell = { name, packageName, version, src, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, bypassCache ? false, ... }@args:
+ let
+ forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
+
+ nodeDependencies = stdenv.mkDerivation {
+ name = "node-dependencies-${name}-${version}";
+
+ buildInputs = [ tarWrapper python nodejs ]
+ ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+ ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+ ++ args.buildInputs or [];
+
+ includeScript = includeDependencies { inherit dependencies; };
+ pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+ passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
+
+ buildCommand = ''
+ mkdir -p $out/${packageName}
+ cd $out/${packageName}
+
+ source $includeScriptPath
+
+ # Create fake package.json to make the npm commands work properly
+ cp ${src}/package.json .
+ chmod 644 package.json
+ ${stdenv.lib.optionalString bypassCache ''
+ if [ -f ${src}/package-lock.json ]
+ then
+ cp ${src}/package-lock.json .
+ fi
+ ''}
+
+ # Pinpoint the versions of all dependencies to the ones that are actually being used
+ echo "pinpointing versions of dependencies..."
+ cd ..
+ source $pinpointDependenciesScriptPath
+ cd ${packageName}
+
+ # Patch the shebangs of the bundled modules to prevent them from
+ # calling executables outside the Nix store as much as possible
+ patchShebangs .
+
+ export HOME=$PWD
+
+ ${stdenv.lib.optionalString bypassCache ''
+ if [ ! -f package-lock.json ]
+ then
+ echo "No package-lock.json file found, reconstructing..."
+ node ${reconstructPackageLock}
+ fi
+
+ node ${addIntegrityFieldsScript}
+ ''}
+
+ npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+
+ ${stdenv.lib.optionalString (!dontNpmInstall) ''
+ # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+ rm -f npm-shrinkwrap.json
+
+ npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+ ''}
+
+ cd ..
+ mv ${packageName} lib
+ ln -s $out/lib/node_modules/.bin $out/bin
+ '';
+ };
+ in
+ stdenv.lib.makeOverridable stdenv.mkDerivation {
+ name = "node-shell-${name}-${version}";
+
+ buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+ buildCommand = ''
+ mkdir -p $out/bin
+ cat > $out/bin/shell <<EOF
+ #! ${stdenv.shell} -e
+ $shellHook
+ exec ${stdenv.shell}
+ EOF
+ chmod +x $out/bin/shell
+ '';
+
+ # Provide the dependencies in a development shell through the NODE_PATH environment variable
+ inherit nodeDependencies;
+ shellHook = stdenv.lib.optionalString (dependencies != []) ''
+ export NODE_PATH=$nodeDependencies/lib/node_modules
+ '';
+ };
+in
+{ inherit buildNodeSourceDist buildNodePackage buildNodeShell; }
diff --git a/pkgs/sass-lint/node-packages.nix b/pkgs/sass-lint/node-packages.nix
new file mode 100644
index 0000000..08fe9f0
--- /dev/null
+++ b/pkgs/sass-lint/node-packages.nix
@@ -0,0 +1,1488 @@
+# This file has been generated by node2nix 1.5.3. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+ sources = {
+ "acorn-3.3.0" = {
+ name = "acorn";
+ packageName = "acorn";
+ version = "3.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz";
+ sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+ };
+ };
+ "acorn-5.6.2" = {
+ name = "acorn";
+ packageName = "acorn";
+ version = "5.6.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz";
+ sha512 = "2xy044ibkfyb71si1az16c4bbfbikr65l8z8jsg89xg2rhdbyk1fmiy9zrxr3p0qky41jvnqsa8rp5nww3pldpgycr628sx9vafhk6d";
+ };
+ };
+ "acorn-jsx-3.0.1" = {
+ name = "acorn-jsx";
+ packageName = "acorn-jsx";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
+ sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+ };
+ };
+ "ajv-4.11.8" = {
+ name = "ajv";
+ packageName = "ajv";
+ version = "4.11.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";
+ sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
+ };
+ };
+ "ajv-keywords-1.5.1" = {
+ name = "ajv-keywords";
+ packageName = "ajv-keywords";
+ version = "1.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz";
+ sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c";
+ };
+ };
+ "ansi-escapes-1.4.0" = {
+ name = "ansi-escapes";
+ packageName = "ansi-escapes";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
+ sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
+ };
+ };
+ "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-styles-2.2.1" = {
+ name = "ansi-styles";
+ packageName = "ansi-styles";
+ version = "2.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+ sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+ };
+ };
+ "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 = "17fhywmdjcp8g0ys089i5xg26yajkkg9zg8hyry3fghz75b2pq5vdx997dk5p2sc15r9nsj8rmf4f27g81hi92kzj5q86sdmg5ni553";
+ };
+ };
+ "array-union-1.0.2" = {
+ name = "array-union";
+ packageName = "array-union";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+ sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+ };
+ };
+ "array-uniq-1.0.3" = {
+ name = "array-uniq";
+ packageName = "array-uniq";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+ sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+ };
+ };
+ "arrify-1.0.1" = {
+ name = "arrify";
+ packageName = "arrify";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
+ sha1 = "898508da2226f380df904728456849c1501a4b0d";
+ };
+ };
+ "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";
+ };
+ };
+ "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 = "248cnpbbf0p32h53rd3g8wzpgrkaj4p078ra1g6l16f82i6bzkvmhwqan5rk88apbll9ly1476kngd7f7z27i3b3zxpbb3064f8yaw8";
+ };
+ };
+ "buffer-from-1.1.0" = {
+ name = "buffer-from";
+ packageName = "buffer-from";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz";
+ sha512 = "0ch7mwp2p7iz81hlj769cki9vapg34rp3368mbxffjync131zz3cig7vkjv4n1lfyfnaapj9axq5d6sg92a8ri6fnvggz481fb936bk";
+ };
+ };
+ "caller-path-0.1.0" = {
+ name = "caller-path";
+ packageName = "caller-path";
+ version = "0.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz";
+ sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f";
+ };
+ };
+ "callsites-0.2.0" = {
+ name = "callsites";
+ packageName = "callsites";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz";
+ sha1 = "afab96262910a7f33c19a5775825c69f34e350ca";
+ };
+ };
+ "chalk-1.1.3" = {
+ name = "chalk";
+ packageName = "chalk";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+ sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+ };
+ };
+ "circular-json-0.3.3" = {
+ name = "circular-json";
+ packageName = "circular-json";
+ version = "0.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz";
+ sha512 = "3hadrrn41znfv3gbqjxf0ckzjmns7w7zgsqw73sdz8nclaff9b0cg1mqhz3zxw3ndnmqqvrdcfykkfpv2v1pv4jdyzcccbn3hsbg4ji";
+ };
+ };
+ "cli-cursor-1.0.2" = {
+ name = "cli-cursor";
+ packageName = "cli-cursor";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz";
+ sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987";
+ };
+ };
+ "cli-width-2.2.0" = {
+ name = "cli-width";
+ packageName = "cli-width";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
+ sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+ };
+ };
+ "co-4.6.0" = {
+ name = "co";
+ packageName = "co";
+ version = "4.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+ sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+ };
+ };
+ "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";
+ };
+ };
+ "commander-2.15.1" = {
+ name = "commander";
+ packageName = "commander";
+ version = "2.15.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz";
+ sha512 = "1mb8z6hhy74rfdgj3spmk52sdqa5bb2w5wp28z3md1daqcca4vbbsg66wz8hdhrv0fnnmf8yzdkmnw3c373vcccmyizzlnmbpsd6msn";
+ };
+ };
+ "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 = "05nnf80j9ls12y3cw2dfnc6rmand3ya5sx9cqn9dgg19ljzdnyfjjv8ig79xi73gr2y4rkfzn9wjip2zzwp5n2d49njd3ki2a1c3cfv";
+ };
+ };
+ "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";
+ };
+ };
+ "d-1.0.0" = {
+ name = "d";
+ packageName = "d";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/d/-/d-1.0.0.tgz";
+ sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f";
+ };
+ };
+ "debug-2.6.9" = {
+ name = "debug";
+ packageName = "debug";
+ version = "2.6.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+ sha512 = "0q0fsr8bk1m83z0am0h2xn09vyfcf18adscxms8hclznwks1aihsisd96h8npx0idq5wwnypnqrkyk25m5d9zh3dk7rjs29nybc8bkc";
+ };
+ };
+ "deep-is-0.1.3" = {
+ name = "deep-is";
+ packageName = "deep-is";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+ sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+ };
+ };
+ "del-2.2.2" = {
+ name = "del";
+ packageName = "del";
+ version = "2.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/del/-/del-2.2.2.tgz";
+ sha1 = "c12c981d067846c84bcaf862cff930d907ffd1a8";
+ };
+ };
+ "doctrine-1.5.0" = {
+ name = "doctrine";
+ packageName = "doctrine";
+ version = "1.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz";
+ sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+ };
+ };
+ "es5-ext-0.10.45" = {
+ name = "es5-ext";
+ packageName = "es5-ext";
+ version = "0.10.45";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz";
+ sha512 = "04p6qjhmiaqlqqgi0690lz7zzcdg1n80pxiywkkk6qalpxd8b85kv4403ckchsv8jlx9rhz4chgh819ahzcgwanibnnqzkibklwqiqn";
+ };
+ };
+ "es6-iterator-2.0.3" = {
+ name = "es6-iterator";
+ packageName = "es6-iterator";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
+ sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+ };
+ };
+ "es6-map-0.1.5" = {
+ name = "es6-map";
+ packageName = "es6-map";
+ version = "0.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz";
+ sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
+ };
+ };
+ "es6-set-0.1.5" = {
+ name = "es6-set";
+ packageName = "es6-set";
+ version = "0.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz";
+ sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
+ };
+ };
+ "es6-symbol-3.1.1" = {
+ name = "es6-symbol";
+ packageName = "es6-symbol";
+ version = "3.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz";
+ sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+ };
+ };
+ "es6-weak-map-2.0.2" = {
+ name = "es6-weak-map";
+ packageName = "es6-weak-map";
+ version = "2.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz";
+ sha1 = "5e3ab32251ffd1538a1f8e5ffa1357772f92d96f";
+ };
+ };
+ "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";
+ };
+ };
+ "escope-3.6.0" = {
+ name = "escope";
+ packageName = "escope";
+ version = "3.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz";
+ sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
+ };
+ };
+ "eslint-2.13.1" = {
+ name = "eslint";
+ packageName = "eslint";
+ version = "2.13.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/eslint/-/eslint-2.13.1.tgz";
+ sha1 = "e4cc8fa0f009fb829aaae23855a29360be1f6c11";
+ };
+ };
+ "espree-3.5.4" = {
+ name = "espree";
+ packageName = "espree";
+ version = "3.5.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz";
+ sha512 = "3a07jjjp8g8mdayw3n9l0p0llw7cfipjifan2ccyn2vm1zyafrmv5cj11rc6qmk7ibbq1vc4xxc3sfr54qpgxmxiizj0ck63d1hh1y8";
+ };
+ };
+ "esprima-4.0.0" = {
+ name = "esprima";
+ packageName = "esprima";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz";
+ sha512 = "27mkhd94y9vrr8pb97br0ym5h85rawwb0biswgwdfp31x0387y12k9p9598bi4fc83fif6crfzqiqmmjs4x7gcb22ml3z1fldqm7yx1";
+ };
+ };
+ "esrecurse-4.2.1" = {
+ name = "esrecurse";
+ packageName = "esrecurse";
+ version = "4.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz";
+ sha512 = "06zyknk70y80n428x20wvjqy5822wgz2yaxzw387njnz3ar6ixzjcxzr2jsl8wrm0m9jpa4ysbcr9znpk6gbkqd7wby084zxw3l317b";
+ };
+ };
+ "estraverse-4.2.0" = {
+ name = "estraverse";
+ packageName = "estraverse";
+ version = "4.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz";
+ sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
+ };
+ };
+ "esutils-2.0.2" = {
+ name = "esutils";
+ packageName = "esutils";
+ version = "2.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+ sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+ };
+ };
+ "event-emitter-0.3.5" = {
+ name = "event-emitter";
+ packageName = "event-emitter";
+ version = "0.3.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
+ sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+ };
+ };
+ "exit-hook-1.1.1" = {
+ name = "exit-hook";
+ packageName = "exit-hook";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz";
+ sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8";
+ };
+ };
+ "fast-levenshtein-2.0.6" = {
+ name = "fast-levenshtein";
+ packageName = "fast-levenshtein";
+ version = "2.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+ sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+ };
+ };
+ "figures-1.7.0" = {
+ name = "figures";
+ packageName = "figures";
+ version = "1.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz";
+ sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
+ };
+ };
+ "file-entry-cache-1.3.1" = {
+ name = "file-entry-cache";
+ packageName = "file-entry-cache";
+ version = "1.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz";
+ sha1 = "44c61ea607ae4be9c1402f41f44270cbfe334ff8";
+ };
+ };
+ "flat-cache-1.3.0" = {
+ name = "flat-cache";
+ packageName = "flat-cache";
+ version = "1.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz";
+ sha1 = "d3030b32b38154f4e3b7e9c709f490f7ef97c481";
+ };
+ };
+ "front-matter-2.1.2" = {
+ name = "front-matter";
+ packageName = "front-matter";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/front-matter/-/front-matter-2.1.2.tgz";
+ sha1 = "f75983b9f2f413be658c93dfd7bd8ce4078f5cdb";
+ };
+ };
+ "fs-extra-3.0.1" = {
+ name = "fs-extra";
+ packageName = "fs-extra";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz";
+ sha1 = "3794f378c58b342ea7dbbb23095109c4b3b62291";
+ };
+ };
+ "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";
+ };
+ };
+ "generate-function-2.0.0" = {
+ name = "generate-function";
+ packageName = "generate-function";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
+ sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
+ };
+ };
+ "generate-object-property-1.2.0" = {
+ name = "generate-object-property";
+ packageName = "generate-object-property";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
+ sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+ };
+ };
+ "glob-7.1.2" = {
+ name = "glob";
+ packageName = "glob";
+ version = "7.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+ sha512 = "08vjxzixc9dwc1hn5pd60yyij98krk2pr758aiga97r02ncvaqx1hidi95wk470k1v84gg4alls9bm52m77174z128bgf13b61x951h";
+ };
+ };
+ "globals-9.18.0" = {
+ name = "globals";
+ packageName = "globals";
+ version = "9.18.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz";
+ sha512 = "18psd5ig23apaw07k4mma3z1hi2ndfwsqkm05hxashnf5lf7mpfs6kjiircc0x3x3q15j2x2j4zfzsqacxvfsmw40zjchn44bfccjab";
+ };
+ };
+ "globby-5.0.0" = {
+ name = "globby";
+ packageName = "globby";
+ version = "5.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz";
+ sha1 = "ebd84667ca0dbb330b99bcfc68eac2bc54370e0d";
+ };
+ };
+ "globule-1.2.1" = {
+ name = "globule";
+ packageName = "globule";
+ version = "1.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz";
+ sha512 = "1hrvri79lkg3irpg814bc2vd38xwr0bs6zj98032fl73wihsd3z46cq94l7is297k2jj62mn95spcxrn5ayyrzpwy5q9fbqc60jvd43";
+ };
+ };
+ "gonzales-pe-sl-4.2.3" = {
+ name = "gonzales-pe-sl";
+ packageName = "gonzales-pe-sl";
+ version = "4.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/gonzales-pe-sl/-/gonzales-pe-sl-4.2.3.tgz";
+ sha1 = "6a868bc380645f141feeb042c6f97fcc71b59fe6";
+ };
+ };
+ "graceful-fs-4.1.11" = {
+ name = "graceful-fs";
+ packageName = "graceful-fs";
+ version = "4.1.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz";
+ sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
+ };
+ };
+ "has-ansi-2.0.0" = {
+ name = "has-ansi";
+ packageName = "has-ansi";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+ sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+ };
+ };
+ "ignore-3.3.8" = {
+ name = "ignore";
+ packageName = "ignore";
+ version = "3.3.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz";
+ sha512 = "1pcaabfvizn9sa1m16vdnp2rn54fhkmaw4ayj2vb1amgsjn9w7yw64ac4km7avly142z4gzsgyv8g3im9d1qirlpvg0r18h8k2pwj55";
+ };
+ };
+ "imurmurhash-0.1.4" = {
+ name = "imurmurhash";
+ packageName = "imurmurhash";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+ sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+ };
+ };
+ "inflight-1.0.6" = {
+ name = "inflight";
+ packageName = "inflight";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+ sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+ };
+ };
+ "inherits-2.0.3" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+ sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+ };
+ };
+ "inquirer-0.12.0" = {
+ name = "inquirer";
+ packageName = "inquirer";
+ version = "0.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz";
+ sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+ };
+ };
+ "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-my-ip-valid-1.0.0" = {
+ name = "is-my-ip-valid";
+ packageName = "is-my-ip-valid";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz";
+ sha512 = "1lnwwykigbkg3yqmr61cyiplxfdvpchcsi1fz67jwn55gvdrl597jpsd6jds205gjkn8c3zxbqmppmf3danpj0rrla7ffnicmwpys42";
+ };
+ };
+ "is-my-json-valid-2.17.2" = {
+ name = "is-my-json-valid";
+ packageName = "is-my-json-valid";
+ version = "2.17.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz";
+ sha512 = "29bla4943cs5dks8f307ykpgk5gihgjy158h8nspcxia85gb1lwaxpqywisr7621spdp8j5p4vd3zhfl2csdlihy06w9017b2r42610";
+ };
+ };
+ "is-path-cwd-1.0.0" = {
+ name = "is-path-cwd";
+ packageName = "is-path-cwd";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+ sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+ };
+ };
+ "is-path-in-cwd-1.0.1" = {
+ name = "is-path-in-cwd";
+ packageName = "is-path-in-cwd";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz";
+ sha512 = "1lrmbdvciajn2smq4j80qvp3gpkkzqddiyay3xgbzni3gi4vljkawyyw68i6h8m1jfdg4jy8l8c16rlfvr17pnfb314xw5q6m2pad8n";
+ };
+ };
+ "is-path-inside-1.0.1" = {
+ name = "is-path-inside";
+ packageName = "is-path-inside";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz";
+ sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
+ };
+ };
+ "is-property-1.0.2" = {
+ name = "is-property";
+ packageName = "is-property";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
+ sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+ };
+ };
+ "is-resolvable-1.1.0" = {
+ name = "is-resolvable";
+ packageName = "is-resolvable";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz";
+ sha512 = "0r8v3dkj5qbfh2wlj4w1msyqsw6j5myvxi88wkw36isscb97yyc2yc1pwm64djrmh1css6jp9p08cx1zb479fg4gv26prciaifdh05a";
+ };
+ };
+ "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";
+ };
+ };
+ "js-yaml-3.12.0" = {
+ name = "js-yaml";
+ packageName = "js-yaml";
+ version = "3.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz";
+ sha512 = "3f8k2gvi3gnj9gpr3dnm5n5vpy2w68pshqk4hajlsmkb37ky30cnqza82l8sq153zx1nk67gizcm1ngmvlajw53hkwg4g96gir7d2rw";
+ };
+ };
+ "json-stable-stringify-1.0.1" = {
+ name = "json-stable-stringify";
+ packageName = "json-stable-stringify";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+ sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+ };
+ };
+ "jsonfile-3.0.1" = {
+ name = "jsonfile";
+ packageName = "jsonfile";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz";
+ sha1 = "a5ecc6f65f53f662c4415c7675a0331d0992ec66";
+ };
+ };
+ "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";
+ };
+ };
+ "jsonpointer-4.0.1" = {
+ name = "jsonpointer";
+ packageName = "jsonpointer";
+ version = "4.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz";
+ sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
+ };
+ };
+ "known-css-properties-0.3.0" = {
+ name = "known-css-properties";
+ packageName = "known-css-properties";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.3.0.tgz";
+ sha512 = "0jldw39d2d8y48wp98w2vps4d3im8hj5iapbrq836xmdhj6vz5hq0zj9kgp1ssq1z6kbz6acmkqday2x8ghdb9s84gwfh92l2f1ri20";
+ };
+ };
+ "levn-0.3.0" = {
+ name = "levn";
+ packageName = "levn";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+ sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+ };
+ };
+ "lodash-4.17.10" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "4.17.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz";
+ sha512 = "1ba5b80jjzwrh9fbdk5ywv8sic0dynij21wgrfxsfjzwvwd7x1n6azdhdc0vjdxqmcpm0mhshd1k7n2ascxpz00z3p8a3k97mwg1s2i";
+ };
+ };
+ "lodash.capitalize-4.2.1" = {
+ name = "lodash.capitalize";
+ packageName = "lodash.capitalize";
+ version = "4.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz";
+ sha1 = "f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9";
+ };
+ };
+ "lodash.kebabcase-4.1.1" = {
+ name = "lodash.kebabcase";
+ packageName = "lodash.kebabcase";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz";
+ sha1 = "8489b1cb0d29ff88195cceca448ff6d6cc295c36";
+ };
+ };
+ "merge-1.2.0" = {
+ name = "merge";
+ packageName = "merge";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz";
+ sha1 = "7531e39d4949c281a66b8c5a6e0265e8b05894da";
+ };
+ };
+ "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 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
+ };
+ };
+ "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.1.3" = {
+ name = "minimist";
+ packageName = "minimist";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz";
+ sha1 = "3bedfd91a92d39016fcfaa1c681e8faa1a1efda8";
+ };
+ };
+ "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";
+ };
+ };
+ "ms-2.0.0" = {
+ name = "ms";
+ packageName = "ms";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+ sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+ };
+ };
+ "mute-stream-0.0.5" = {
+ name = "mute-stream";
+ packageName = "mute-stream";
+ version = "0.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz";
+ sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+ };
+ };
+ "next-tick-1.0.0" = {
+ name = "next-tick";
+ packageName = "next-tick";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
+ sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+ };
+ };
+ "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";
+ };
+ };
+ "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";
+ };
+ };
+ "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";
+ };
+ };
+ "onetime-1.1.0" = {
+ name = "onetime";
+ packageName = "onetime";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz";
+ sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
+ };
+ };
+ "optionator-0.8.2" = {
+ name = "optionator";
+ packageName = "optionator";
+ version = "0.8.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
+ sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+ };
+ };
+ "os-homedir-1.0.2" = {
+ name = "os-homedir";
+ packageName = "os-homedir";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+ sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+ };
+ };
+ "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-is-inside-1.0.2" = {
+ name = "path-is-inside";
+ packageName = "path-is-inside";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+ sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+ };
+ };
+ "pify-2.3.0" = {
+ name = "pify";
+ packageName = "pify";
+ version = "2.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+ sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+ };
+ };
+ "pinkie-2.0.4" = {
+ name = "pinkie";
+ packageName = "pinkie";
+ version = "2.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+ sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+ };
+ };
+ "pinkie-promise-2.0.1" = {
+ name = "pinkie-promise";
+ packageName = "pinkie-promise";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+ sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+ };
+ };
+ "pluralize-1.2.1" = {
+ name = "pluralize";
+ packageName = "pluralize";
+ version = "1.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz";
+ sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
+ };
+ };
+ "prelude-ls-1.1.2" = {
+ name = "prelude-ls";
+ packageName = "prelude-ls";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+ sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+ };
+ };
+ "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 = "0rw8xpqqkhs91722slvzf8icxfaimqp4w8zb3840jxr7r8n8035byl6dhdi5bm0yr6x7sdws0gf3m025fg6hqgaklwlbl4d7bah5l9j";
+ };
+ };
+ "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";
+ };
+ };
+ "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 = "0mj9b6190amln9rg89x5pq2n195s3v0gzicpdamv1kbabg69aw5m71l34jsjn7bqil7405l6l35x9ijnb3h4jz5vx2i00l8sl1ll2xm";
+ };
+ };
+ "readline2-1.0.1" = {
+ name = "readline2";
+ packageName = "readline2";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz";
+ sha1 = "41059608ffc154757b715d9989d199ffbf372e35";
+ };
+ };
+ "require-uncached-1.0.3" = {
+ name = "require-uncached";
+ packageName = "require-uncached";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz";
+ sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
+ };
+ };
+ "resolve-from-1.0.1" = {
+ name = "resolve-from";
+ packageName = "resolve-from";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz";
+ sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
+ };
+ };
+ "restore-cursor-1.0.1" = {
+ name = "restore-cursor";
+ packageName = "restore-cursor";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz";
+ sha1 = "34661f46886327fed2991479152252df92daa541";
+ };
+ };
+ "rimraf-2.6.2" = {
+ name = "rimraf";
+ packageName = "rimraf";
+ version = "2.6.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz";
+ sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
+ };
+ };
+ "run-async-0.1.0" = {
+ name = "run-async";
+ packageName = "run-async";
+ version = "0.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz";
+ sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389";
+ };
+ };
+ "rx-lite-3.1.2" = {
+ name = "rx-lite";
+ packageName = "rx-lite";
+ version = "3.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz";
+ sha1 = "19ce502ca572665f3b647b10939f97fd1615f102";
+ };
+ };
+ "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 = "3xbm0dkya4bc3zwfwpdzbl8ngq0aai5ihlp2v3s39y7162c7wyvv9izj3g8hv6dy6vm2lq48lmfzygk0kxwbjb6xic7k4a329j99p8r";
+ };
+ };
+ "shelljs-0.6.1" = {
+ name = "shelljs";
+ packageName = "shelljs";
+ version = "0.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz";
+ sha1 = "ec6211bed1920442088fe0f70b2837232ed2c8a8";
+ };
+ };
+ "slice-ansi-0.0.4" = {
+ name = "slice-ansi";
+ packageName = "slice-ansi";
+ version = "0.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz";
+ sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35";
+ };
+ };
+ "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";
+ };
+ };
+ "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 = "29s1fqgr4mnhfxwczgdghfmmc1f792m9hysvcjxw2h5lfj8ndf2b6gm02m96qk5m75g4aisijvng4pk618anwbr8i9ay2jyszkqgslw";
+ };
+ };
+ "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 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
+ };
+ };
+ "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-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";
+ };
+ };
+ "supports-color-2.0.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+ sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+ };
+ };
+ "table-3.8.3" = {
+ name = "table";
+ packageName = "table";
+ version = "3.8.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/table/-/table-3.8.3.tgz";
+ sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
+ };
+ };
+ "text-table-0.2.0" = {
+ name = "text-table";
+ packageName = "text-table";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+ sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+ };
+ };
+ "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";
+ };
+ };
+ "type-check-0.3.2" = {
+ name = "type-check";
+ packageName = "type-check";
+ version = "0.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+ sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+ };
+ };
+ "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";
+ };
+ };
+ "universalify-0.1.1" = {
+ name = "universalify";
+ packageName = "universalify";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz";
+ sha1 = "fa71badd4437af4c148841e3b3b165f9e9e590b7";
+ };
+ };
+ "user-home-2.0.0" = {
+ name = "user-home";
+ packageName = "user-home";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz";
+ sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
+ };
+ };
+ "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 = "3sbbgsya51i86ih8bn3nfwi3f9556xlnwh32z4k54dwcpi0jibhfa5dpbfmpzyla63yh2zlxs9chl6wkhc8bqjmjxjyxc9p6j2vvyfh";
+ };
+ };
+ "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";
+ };
+ };
+ "wordwrap-1.0.0" = {
+ name = "wordwrap";
+ packageName = "wordwrap";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+ sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+ };
+ };
+ "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";
+ };
+ };
+ "write-0.2.1" = {
+ name = "write";
+ packageName = "write";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/write/-/write-0.2.1.tgz";
+ sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757";
+ };
+ };
+ "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";
+ };
+ };
+ };
+in
+{
+ "sass-lint-1.12.1" = nodeEnv.buildNodePackage {
+ name = "sass-lint";
+ packageName = "sass-lint";
+ version = "1.12.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sass-lint/-/sass-lint-1.12.1.tgz";
+ sha1 = "630f69c216aa206b8232fb2aa907bdf3336b6d83";
+ };
+ dependencies = [
+ sources."acorn-5.6.2"
+ (sources."acorn-jsx-3.0.1" // {
+ dependencies = [
+ sources."acorn-3.3.0"
+ ];
+ })
+ sources."ajv-4.11.8"
+ sources."ajv-keywords-1.5.1"
+ sources."ansi-escapes-1.4.0"
+ sources."ansi-regex-2.1.1"
+ sources."ansi-styles-2.2.1"
+ sources."argparse-1.0.10"
+ sources."array-union-1.0.2"
+ sources."array-uniq-1.0.3"
+ sources."arrify-1.0.1"
+ sources."balanced-match-1.0.0"
+ sources."brace-expansion-1.1.11"
+ sources."buffer-from-1.1.0"
+ sources."caller-path-0.1.0"
+ sources."callsites-0.2.0"
+ sources."chalk-1.1.3"
+ sources."circular-json-0.3.3"
+ sources."cli-cursor-1.0.2"
+ sources."cli-width-2.2.0"
+ sources."co-4.6.0"
+ sources."code-point-at-1.1.0"
+ sources."commander-2.15.1"
+ sources."concat-map-0.0.1"
+ sources."concat-stream-1.6.2"
+ sources."core-util-is-1.0.2"
+ sources."d-1.0.0"
+ sources."debug-2.6.9"
+ sources."deep-is-0.1.3"
+ sources."del-2.2.2"
+ sources."doctrine-1.5.0"
+ sources."es5-ext-0.10.45"
+ sources."es6-iterator-2.0.3"
+ sources."es6-map-0.1.5"
+ sources."es6-set-0.1.5"
+ sources."es6-symbol-3.1.1"
+ sources."es6-weak-map-2.0.2"
+ sources."escape-string-regexp-1.0.5"
+ sources."escope-3.6.0"
+ (sources."eslint-2.13.1" // {
+ dependencies = [
+ sources."ansi-regex-3.0.0"
+ sources."is-fullwidth-code-point-2.0.0"
+ sources."string-width-2.1.1"
+ sources."strip-ansi-4.0.0"
+ ];
+ })
+ sources."espree-3.5.4"
+ sources."esprima-4.0.0"
+ sources."esrecurse-4.2.1"
+ sources."estraverse-4.2.0"
+ sources."esutils-2.0.2"
+ sources."event-emitter-0.3.5"
+ sources."exit-hook-1.1.1"
+ sources."fast-levenshtein-2.0.6"
+ sources."figures-1.7.0"
+ sources."file-entry-cache-1.3.1"
+ sources."flat-cache-1.3.0"
+ sources."front-matter-2.1.2"
+ sources."fs-extra-3.0.1"
+ sources."fs.realpath-1.0.0"
+ sources."generate-function-2.0.0"
+ sources."generate-object-property-1.2.0"
+ sources."glob-7.1.2"
+ sources."globals-9.18.0"
+ sources."globby-5.0.0"
+ sources."globule-1.2.1"
+ (sources."gonzales-pe-sl-4.2.3" // {
+ dependencies = [
+ sources."minimist-1.1.3"
+ ];
+ })
+ sources."graceful-fs-4.1.11"
+ sources."has-ansi-2.0.0"
+ sources."ignore-3.3.8"
+ sources."imurmurhash-0.1.4"
+ sources."inflight-1.0.6"
+ sources."inherits-2.0.3"
+ sources."inquirer-0.12.0"
+ sources."is-fullwidth-code-point-1.0.0"
+ sources."is-my-ip-valid-1.0.0"
+ sources."is-my-json-valid-2.17.2"
+ sources."is-path-cwd-1.0.0"
+ sources."is-path-in-cwd-1.0.1"
+ sources."is-path-inside-1.0.1"
+ sources."is-property-1.0.2"
+ sources."is-resolvable-1.1.0"
+ sources."isarray-1.0.0"
+ sources."js-yaml-3.12.0"
+ sources."json-stable-stringify-1.0.1"
+ sources."jsonfile-3.0.1"
+ sources."jsonify-0.0.0"
+ sources."jsonpointer-4.0.1"
+ sources."known-css-properties-0.3.0"
+ sources."levn-0.3.0"
+ sources."lodash-4.17.10"
+ sources."lodash.capitalize-4.2.1"
+ sources."lodash.kebabcase-4.1.1"
+ sources."merge-1.2.0"
+ sources."minimatch-3.0.4"
+ sources."minimist-0.0.8"
+ sources."mkdirp-0.5.1"
+ sources."ms-2.0.0"
+ sources."mute-stream-0.0.5"
+ sources."next-tick-1.0.0"
+ sources."number-is-nan-1.0.1"
+ sources."object-assign-4.1.1"
+ sources."once-1.4.0"
+ sources."onetime-1.1.0"
+ sources."optionator-0.8.2"
+ sources."os-homedir-1.0.2"
+ sources."path-is-absolute-1.0.1"
+ sources."path-is-inside-1.0.2"
+ sources."pify-2.3.0"
+ sources."pinkie-2.0.4"
+ sources."pinkie-promise-2.0.1"
+ sources."pluralize-1.2.1"
+ sources."prelude-ls-1.1.2"
+ sources."process-nextick-args-2.0.0"
+ sources."progress-1.1.8"
+ sources."readable-stream-2.3.6"
+ sources."readline2-1.0.1"
+ sources."require-uncached-1.0.3"
+ sources."resolve-from-1.0.1"
+ sources."restore-cursor-1.0.1"
+ sources."rimraf-2.6.2"
+ sources."run-async-0.1.0"
+ sources."rx-lite-3.1.2"
+ sources."safe-buffer-5.1.2"
+ sources."shelljs-0.6.1"
+ sources."slice-ansi-0.0.4"
+ sources."sprintf-js-1.0.3"
+ sources."string-width-1.0.2"
+ sources."string_decoder-1.1.1"
+ sources."strip-ansi-3.0.1"
+ sources."strip-json-comments-1.0.4"
+ sources."supports-color-2.0.0"
+ sources."table-3.8.3"
+ sources."text-table-0.2.0"
+ sources."through-2.3.8"
+ sources."type-check-0.3.2"
+ sources."typedarray-0.0.6"
+ sources."universalify-0.1.1"
+ sources."user-home-2.0.0"
+ sources."util-0.10.4"
+ sources."util-deprecate-1.0.2"
+ sources."wordwrap-1.0.0"
+ sources."wrappy-1.0.2"
+ sources."write-0.2.1"
+ sources."xtend-4.0.1"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "All Node Sass linter!";
+ homepage = https://github.com/sasstools/sass-lint;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+} \ No newline at end of file