dependencies: Generated node-packages based on node2nix
johbo -
r707:2513b44c default
Not Reviewed
Show More
Add another comment
TODOs: 0 unresolved 0 Resolved
COMMENTS: 0 General 0 Inline
@@ -0,0 +1,15
1 # This file has been generated by node2nix 1.0.0. Do not edit!
2
3 {pkgs ? import <nixpkgs> {
4 inherit system;
5 }, system ? builtins.currentSystem}:
6
7 let
8 nodeEnv = import ./node-env.nix {
9 inherit (pkgs) stdenv python utillinux runCommand writeTextFile nodejs;
10 };
11 in
12 import ./node-packages.nix {
13 inherit (pkgs) fetchurl fetchgit;
14 inherit nodeEnv;
15 } No newline at end of file
@@ -0,0 +1,292
1 # This file originates from node2nix
2
3 {stdenv, python, nodejs, utillinux, runCommand, writeTextFile}:
4
5 let
6 # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
7 tarWrapper = runCommand "tarWrapper" {} ''
8 mkdir -p $out/bin
9
10 cat > $out/bin/tar <<EOF
11 #! ${stdenv.shell} -e
12 $(type -p tar) "\$@" --warning=no-unknown-keyword
13 EOF
14
15 chmod +x $out/bin/tar
16 '';
17
18 # Function that generates a TGZ file from a NPM project
19 buildNodeSourceDist =
20 { name, version, src, ... }:
21
22 stdenv.mkDerivation {
23 name = "node-tarball-${name}-${version}";
24 inherit src;
25 buildInputs = [ nodejs ];
26 buildPhase = ''
27 export HOME=$TMPDIR
28 tgzFile=$(npm pack)
29 '';
30 installPhase = ''
31 mkdir -p $out/tarballs
32 mv $tgzFile $out/tarballs
33 mkdir -p $out/nix-support
34 echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
35 '';
36 };
37
38 includeDependencies = {dependencies}:
39 stdenv.lib.optionalString (dependencies != [])
40 (stdenv.lib.concatMapStrings (dependency:
41 ''
42 # Bundle the dependencies of the package
43 mkdir -p node_modules
44 cd node_modules
45
46 # Only include dependencies if they don't exist. They may also be bundled in the package.
47 if [ ! -e "${dependency.name}" ]
48 then
49 ${composePackage dependency}
50 fi
51
52 cd ..
53 ''
54 ) dependencies);
55
56 # Recursively composes the dependencies of a package
57 composePackage = { name, packageName, src, dependencies ? [], ... }@args:
58 let
59 fixImpureDependencies = writeTextFile {
60 name = "fixDependencies.js";
61 text = ''
62 var fs = require('fs');
63 var url = require('url');
64
65 /*
66 * Replaces an impure version specification by *
67 */
68 function replaceImpureVersionSpec(versionSpec) {
69 var parsedUrl = url.parse(versionSpec);
70
71 if(versionSpec == "latest" || versionSpec == "unstable" ||
72 versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/')
73 return '*';
74 else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||
75 parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:")
76 return '*';
77 else
78 return versionSpec;
79 }
80
81 var packageObj = JSON.parse(fs.readFileSync('./package.json'));
82
83 /* Replace dependencies */
84 if(packageObj.dependencies !== undefined) {
85 for(var dependency in packageObj.dependencies) {
86 var versionSpec = packageObj.dependencies[dependency];
87 packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec);
88 }
89 }
90
91 /* Replace development dependencies */
92 if(packageObj.devDependencies !== undefined) {
93 for(var dependency in packageObj.devDependencies) {
94 var versionSpec = packageObj.devDependencies[dependency];
95 packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
96 }
97 }
98
99 /* Replace optional dependencies */
100 if(packageObj.optionalDependencies !== undefined) {
101 for(var dependency in packageObj.optionalDependencies) {
102 var versionSpec = packageObj.optionalDependencies[dependency];
103 packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
104 }
105 }
106
107 /* Write the fixed JSON file */
108 fs.writeFileSync("package.json", JSON.stringify(packageObj));
109 '';
110 };
111 in
112 ''
113 DIR=$(pwd)
114 cd $TMPDIR
115
116 unpackFile ${src}
117
118 # Make the base dir in which the target dependency resides first
119 mkdir -p "$(dirname "$DIR/${packageName}")"
120
121 if [ -f "${src}" ]
122 then
123 # Figure out what directory has been unpacked
124 packageDir=$(find . -type d -maxdepth 1 | tail -1)
125
126 # Restore write permissions to make building work
127 chmod -R u+w "$packageDir"
128
129 # Move the extracted tarball into the output folder
130 mv "$packageDir" "$DIR/${packageName}"
131 elif [ -d "${src}" ]
132 then
133 # Restore write permissions to make building work
134 chmod -R u+w $strippedName
135
136 # Move the extracted directory into the output folder
137 mv $strippedName "$DIR/${packageName}"
138 fi
139
140 # Unset the stripped name to not confuse the next unpack step
141 unset strippedName
142
143 # Some version specifiers (latest, unstable, URLs, file paths) force NPM to make remote connections or consult paths outside the Nix store.
144 # The following JavaScript replaces these by * to prevent that
145 cd "$DIR/${packageName}"
146 node ${fixImpureDependencies}
147
148 # Include the dependencies of the package
149 ${includeDependencies { inherit dependencies; }}
150 cd ..
151 ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
152 '';
153
154 # Extract the Node.js source code which is used to compile packages with
155 # native bindings
156 nodeSources = runCommand "node-sources" {} ''
157 tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
158 mv node-* $out
159 '';
160
161 # Builds and composes an NPM package including all its dependencies
162 buildNodePackage = { name, packageName, version, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, preRebuild ? "", ... }@args:
163
164 stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
165 name = "node-${name}-${version}";
166 buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
167 dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
168
169 inherit dontNpmInstall preRebuild;
170
171 unpackPhase = args.unpackPhase or "true";
172
173 buildPhase = args.buildPhase or "true";
174
175 compositionScript = composePackage args;
176 passAsFile = [ "compositionScript" ];
177
178 installPhase = args.installPhase or ''
179 # Create and enter a root node_modules/ folder
180 mkdir -p $out/lib/node_modules
181 cd $out/lib/node_modules
182
183 # Compose the package and all its dependencies
184 source $compositionScriptPath
185
186 # Patch the shebangs of the bundled modules to prevent them from
187 # calling executables outside the Nix store as much as possible
188 patchShebangs .
189
190 # Deploy the Node.js package by running npm install. Since the
191 # dependencies have been provided already by ourselves, it should not
192 # attempt to install them again, which is good, because we want to make
193 # it Nix's responsibility. If it needs to install any dependencies
194 # anyway (e.g. because the dependency parameters are
195 # incomplete/incorrect), it fails.
196 #
197 # The other responsibilities of NPM are kept -- version checks, build
198 # steps, postprocessing etc.
199
200 export HOME=$TMPDIR
201 cd "${packageName}"
202 runHook preRebuild
203 npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
204
205 if [ "$dontNpmInstall" != "1" ]
206 then
207 npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
208 fi
209
210 # Create symlink to the deployed executable folder, if applicable
211 if [ -d "$out/lib/node_modules/.bin" ]
212 then
213 ln -s $out/lib/node_modules/.bin $out/bin
214 fi
215
216 # Create symlinks to the deployed manual page folders, if applicable
217 if [ -d "$out/lib/node_modules/${packageName}/man" ]
218 then
219 mkdir -p $out/share
220 for dir in "$out/lib/node_modules/${packageName}/man/"*
221 do
222 mkdir -p $out/share/man/$(basename "$dir")
223 for page in "$dir"/*
224 do
225 ln -s $page $out/share/man/$(basename "$dir")
226 done
227 done
228 fi
229 '';
230 });
231
232 # Builds a development shell
233 buildNodeShell = { name, packageName, version, src, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, ... }@args:
234 let
235 nodeDependencies = stdenv.mkDerivation {
236 name = "node-dependencies-${name}-${version}";
237
238 buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
239
240 includeScript = includeDependencies { inherit dependencies; };
241 passAsFile = [ "includeScript" ];
242
243 buildCommand = ''
244 mkdir -p $out/lib
245 cd $out/lib
246 source $includeScriptPath
247
248 # Create fake package.json to make the npm commands work properly
249 cat > package.json <<EOF
250 {
251 "name": "${packageName}",
252 "version": "${version}"
253 }
254 EOF
255
256 # Patch the shebangs of the bundled modules to prevent them from
257 # calling executables outside the Nix store as much as possible
258 patchShebangs .
259
260 export HOME=$TMPDIR
261 npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
262
263 ${stdenv.lib.optionalString (!dontNpmInstall) ''
264 npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
265 ''}
266
267 ln -s $out/lib/node_modules/.bin $out/bin
268 '';
269 };
270 in
271 stdenv.lib.makeOverridable stdenv.mkDerivation {
272 name = "node-shell-${name}-${version}";
273
274 buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
275 buildCommand = ''
276 mkdir -p $out/bin
277 cat > $out/bin/shell <<EOF
278 #! ${stdenv.shell} -e
279 $shellHook
280 exec ${stdenv.shell}
281 EOF
282 chmod +x $out/bin/shell
283 '';
284
285 # Provide the dependencies in a development shell through the NODE_PATH environment variable
286 inherit nodeDependencies;
287 shellHook = stdenv.lib.optionalString (dependencies != []) ''
288 export NODE_PATH=$nodeDependencies/lib/node_modules
289 '';
290 };
291 in
292 { inherit buildNodeSourceDist buildNodePackage buildNodeShell; }
This diff has been collapsed as it changes many lines, (5578 lines changed) Show them Hide them
@@ -1,3341 +1,2337
1 { self, fetchurl, fetchgit ? null, lib }:
1 # This file has been generated by node2nix 1.0.0. Do not edit!
2
3 {nodeEnv, fetchurl, fetchgit}:
2
4
3 {
5 let
4 by-spec."abbrev"."1" =
6 sources = {
5 self.by-version."abbrev"."1.0.7";
7 "grunt-0.4.5" = {
6 by-version."abbrev"."1.0.7" = lib.makeOverridable self.buildNodePackage {
8 name = "grunt";
7 name = "abbrev-1.0.7";
9 packageName = "grunt";
8 bin = false;
10 version = "0.4.5";
9 src = [
11 src = fetchurl {
10 (fetchurl {
12 url = "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
11 url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz";
13 sha1 = "56937cd5194324adff6d207631832a9d6ba4e7f0";
12 name = "abbrev-1.0.7.tgz";
14 };
13 sha1 = "5b6035b2ee9d4fb5cf859f08a9be81b208491843";
15 };
14 })
16 "grunt-contrib-copy-1.0.0" = {
15 ];
17 name = "grunt-contrib-copy";
16 buildInputs =
18 packageName = "grunt-contrib-copy";
17 (self.nativeDeps."abbrev" or []);
19 version = "1.0.0";
18 deps = {
20 src = fetchurl {
21 url = "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz";
22 sha1 = "7060c6581e904b8ab0d00f076e0a8f6e3e7c3573";
23 };
24 };
25 "grunt-contrib-concat-0.5.1" = {
26 name = "grunt-contrib-concat";
27 packageName = "grunt-contrib-concat";
28 version = "0.5.1";
29 src = fetchurl {
30 url = "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.5.1.tgz";
31 sha1 = "953c6efdfdfd2c107ab9c85077f2d4b24d31cd49";
32 };
33 };
34 "grunt-contrib-jshint-0.12.0" = {
35 name = "grunt-contrib-jshint";
36 packageName = "grunt-contrib-jshint";
37 version = "0.12.0";
38 src = fetchurl {
39 url = "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.12.0.tgz";
40 sha1 = "f6b2f06fc715264837a7ab6c69a1ce1a689c2c29";
41 };
42 };
43 "grunt-contrib-less-1.4.0" = {
44 name = "grunt-contrib-less";
45 packageName = "grunt-contrib-less";
46 version = "1.4.0";
47 src = fetchurl {
48 url = "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.4.0.tgz";
49 sha1 = "17ee79cad21c9720ee07b3a991fab5103b513514";
50 };
51 };
52 "grunt-contrib-watch-0.6.1" = {
53 name = "grunt-contrib-watch";
54 packageName = "grunt-contrib-watch";
55 version = "0.6.1";
56 src = fetchurl {
57 url = "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz";
58 sha1 = "64fdcba25a635f5b4da1b6ce6f90da0aeb6e3f15";
59 };
60 };
61 "crisper-2.0.2" = {
62 name = "crisper";
63 packageName = "crisper";
64 version = "2.0.2";
65 src = fetchurl {
66 url = "https://registry.npmjs.org/crisper/-/crisper-2.0.2.tgz";
67 sha1 = "188a7da3d00dcf0c64eff7f253d23dacffba7197";
68 };
69 };
70 "vulcanize-1.14.8" = {
71 name = "vulcanize";
72 packageName = "vulcanize";
73 version = "1.14.8";
74 src = fetchurl {
75 url = "https://registry.npmjs.org/vulcanize/-/vulcanize-1.14.8.tgz";
76 sha1 = "3cdd6f81d9baf2c5796ddd6d2d289e45975086f7";
77 };
78 };
79 "grunt-crisper-1.0.1" = {
80 name = "grunt-crisper";
81 packageName = "grunt-crisper";
82 version = "1.0.1";
83 src = fetchurl {
84 url = "https://registry.npmjs.org/grunt-crisper/-/grunt-crisper-1.0.1.tgz";
85 sha1 = "e7c091dcaff10deb0091e3035ca7e54008991fe7";
86 };
87 };
88 "grunt-vulcanize-1.0.0" = {
89 name = "grunt-vulcanize";
90 packageName = "grunt-vulcanize";
91 version = "1.0.0";
92 src = fetchurl {
93 url = "https://registry.npmjs.org/grunt-vulcanize/-/grunt-vulcanize-1.0.0.tgz";
94 sha1 = "f4d6cfef274f8216c06f6c290e7dbb3b9e9e3b0f";
95 };
96 };
97 "jshint-2.9.3" = {
98 name = "jshint";
99 packageName = "jshint";
100 version = "2.9.3";
101 src = fetchurl {
102 url = "https://registry.npmjs.org/jshint/-/jshint-2.9.3.tgz";
103 sha1 = "a2e14ff85c2d6bf8c8080e5aa55129ebc6a2d320";
104 };
105 };
106 "async-0.1.22" = {
107 name = "async";
108 packageName = "async";
109 version = "0.1.22";
110 src = fetchurl {
111 url = "https://registry.npmjs.org/async/-/async-0.1.22.tgz";
112 sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
113 };
114 };
115 "coffee-script-1.3.3" = {
116 name = "coffee-script";
117 packageName = "coffee-script";
118 version = "1.3.3";
119 src = fetchurl {
120 url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
121 sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
122 };
19 };
123 };
20 peerDependencies = [
124 "colors-0.6.2" = {
21 ];
125 name = "colors";
22 passthru.names = [ "abbrev" ];
126 packageName = "colors";
23 };
127 version = "0.6.2";
24 by-spec."amdefine".">=0.0.4" =
128 src = fetchurl {
25 self.by-version."amdefine"."1.0.0";
129 url = "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
26 by-version."amdefine"."1.0.0" = lib.makeOverridable self.buildNodePackage {
130 sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
27 name = "amdefine-1.0.0";
131 };
28 bin = false;
132 };
29 src = [
133 "dateformat-1.0.2-1.2.3" = {
30 (fetchurl {
134 name = "dateformat";
31 url = "http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
135 packageName = "dateformat";
32 name = "amdefine-1.0.0.tgz";
136 version = "1.0.2-1.2.3";
33 sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
137 src = fetchurl {
34 })
138 url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
35 ];
139 sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
36 buildInputs =
140 };
37 (self.nativeDeps."amdefine" or []);
141 };
38 deps = {
142 "eventemitter2-0.4.14" = {
143 name = "eventemitter2";
144 packageName = "eventemitter2";
145 version = "0.4.14";
146 src = fetchurl {
147 url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
148 sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
149 };
150 };
151 "findup-sync-0.1.3" = {
152 name = "findup-sync";
153 packageName = "findup-sync";
154 version = "0.1.3";
155 src = fetchurl {
156 url = "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
157 sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
158 };
159 };
160 "glob-3.1.21" = {
161 name = "glob";
162 packageName = "glob";
163 version = "3.1.21";
164 src = fetchurl {
165 url = "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
166 sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
167 };
168 };
169 "hooker-0.2.3" = {
170 name = "hooker";
171 packageName = "hooker";
172 version = "0.2.3";
173 src = fetchurl {
174 url = "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
175 sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
176 };
177 };
178 "iconv-lite-0.2.11" = {
179 name = "iconv-lite";
180 packageName = "iconv-lite";
181 version = "0.2.11";
182 src = fetchurl {
183 url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
184 sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
185 };
186 };
187 "minimatch-0.2.14" = {
188 name = "minimatch";
189 packageName = "minimatch";
190 version = "0.2.14";
191 src = fetchurl {
192 url = "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
193 sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
194 };
195 };
196 "nopt-1.0.10" = {
197 name = "nopt";
198 packageName = "nopt";
199 version = "1.0.10";
200 src = fetchurl {
201 url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
202 sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
203 };
204 };
205 "rimraf-2.2.8" = {
206 name = "rimraf";
207 packageName = "rimraf";
208 version = "2.2.8";
209 src = fetchurl {
210 url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
211 sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
212 };
213 };
214 "lodash-0.9.2" = {
215 name = "lodash";
216 packageName = "lodash";
217 version = "0.9.2";
218 src = fetchurl {
219 url = "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
220 sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
221 };
222 };
223 "underscore.string-2.2.1" = {
224 name = "underscore.string";
225 packageName = "underscore.string";
226 version = "2.2.1";
227 src = fetchurl {
228 url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
229 sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
230 };
231 };
232 "which-1.0.9" = {
233 name = "which";
234 packageName = "which";
235 version = "1.0.9";
236 src = fetchurl {
237 url = "https://registry.npmjs.org/which/-/which-1.0.9.tgz";
238 sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
239 };
240 };
241 "js-yaml-2.0.5" = {
242 name = "js-yaml";
243 packageName = "js-yaml";
244 version = "2.0.5";
245 src = fetchurl {
246 url = "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
247 sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
248 };
39 };
249 };
40 peerDependencies = [
250 "exit-0.1.2" = {
41 ];
251 name = "exit";
42 passthru.names = [ "amdefine" ];
252 packageName = "exit";
43 };
253 version = "0.1.2";
44 by-spec."ansi-regex"."^0.2.0" =
254 src = fetchurl {
45 self.by-version."ansi-regex"."0.2.1";
255 url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
46 by-version."ansi-regex"."0.2.1" = lib.makeOverridable self.buildNodePackage {
256 sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
47 name = "ansi-regex-0.2.1";
257 };
48 bin = false;
258 };
49 src = [
259 "getobject-0.1.0" = {
50 (fetchurl {
260 name = "getobject";
51 url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
261 packageName = "getobject";
52 name = "ansi-regex-0.2.1.tgz";
262 version = "0.1.0";
53 sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
263 src = fetchurl {
54 })
264 url = "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
55 ];
265 sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
56 buildInputs =
266 };
57 (self.nativeDeps."ansi-regex" or []);
267 };
58 deps = {
268 "grunt-legacy-util-0.2.0" = {
269 name = "grunt-legacy-util";
270 packageName = "grunt-legacy-util";
271 version = "0.2.0";
272 src = fetchurl {
273 url = "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
274 sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
275 };
276 };
277 "grunt-legacy-log-0.1.3" = {
278 name = "grunt-legacy-log";
279 packageName = "grunt-legacy-log";
280 version = "0.1.3";
281 src = fetchurl {
282 url = "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz";
283 sha1 = "ec29426e803021af59029f87d2f9cd7335a05531";
284 };
285 };
286 "glob-3.2.11" = {
287 name = "glob";
288 packageName = "glob";
289 version = "3.2.11";
290 src = fetchurl {
291 url = "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
292 sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
293 };
294 };
295 "lodash-2.4.2" = {
296 name = "lodash";
297 packageName = "lodash";
298 version = "2.4.2";
299 src = fetchurl {
300 url = "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
301 sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
302 };
303 };
304 "inherits-2.0.1" = {
305 name = "inherits";
306 packageName = "inherits";
307 version = "2.0.1";
308 src = fetchurl {
309 url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
310 sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
311 };
312 };
313 "minimatch-0.3.0" = {
314 name = "minimatch";
315 packageName = "minimatch";
316 version = "0.3.0";
317 src = fetchurl {
318 url = "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
319 sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
320 };
321 };
322 "lru-cache-2.7.3" = {
323 name = "lru-cache";
324 packageName = "lru-cache";
325 version = "2.7.3";
326 src = fetchurl {
327 url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
328 sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
329 };
330 };
331 "sigmund-1.0.1" = {
332 name = "sigmund";
333 packageName = "sigmund";
334 version = "1.0.1";
335 src = fetchurl {
336 url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
337 sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
338 };
339 };
340 "graceful-fs-1.2.3" = {
341 name = "graceful-fs";
342 packageName = "graceful-fs";
343 version = "1.2.3";
344 src = fetchurl {
345 url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
346 sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
347 };
348 };
349 "inherits-1.0.2" = {
350 name = "inherits";
351 packageName = "inherits";
352 version = "1.0.2";
353 src = fetchurl {
354 url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
355 sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
356 };
357 };
358 "abbrev-1.0.9" = {
359 name = "abbrev";
360 packageName = "abbrev";
361 version = "1.0.9";
362 src = fetchurl {
363 url = "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz";
364 sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135";
365 };
366 };
367 "argparse-0.1.16" = {
368 name = "argparse";
369 packageName = "argparse";
370 version = "0.1.16";
371 src = fetchurl {
372 url = "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
373 sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
374 };
59 };
375 };
60 peerDependencies = [
376 "esprima-1.0.4" = {
61 ];
377 name = "esprima";
62 passthru.names = [ "ansi-regex" ];
378 packageName = "esprima";
63 };
379 version = "1.0.4";
64