Skip to content

Instantly share code, notes, and snippets.

@creshal

creshal/gist:3089059

Created Jul 11, 2012
Embed
What would you like to do?
npm debug log
0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'install', '-g', 'jshint' ]
2 info using npm@1.1.33
3 info using node@v0.8.1
4 verbose config file /root/.npmrc
5 verbose config file /usr/local/etc/npmrc
6 verbose config file /usr/local/lib/node_modules/npm/npmrc
7 verbose read json /usr/local/lib/package.json
8 verbose read json /usr/local/lib/package.json
9 verbose cache add [ 'jshint', null ]
10 silly cache add name=undefined spec="jshint" args=["jshint",null]
11 verbose parsed url { pathname: 'jshint', path: 'jshint', href: 'jshint' }
12 verbose lock jshint /root/.npm/da5c03cb390c943d740b400ef27430a464050f79-jshint.lock
13 verbose addNamed [ 'jshint', '' ]
14 verbose addNamed [ null, '' ]
15 verbose lock jshint@ /root/.npm/a02a24689584300c1634d3c2f217731043c90769-jshint-.lock
16 silly addNameRange { name: 'jshint', range: '', hasData: false }
17 verbose url raw jshint
18 verbose url resolving [ 'https://registry.npmjs.org/', './jshint' ]
19 verbose url resolved https://registry.npmjs.org/jshint
20 info retry registry request attempt 1 at 10:40:07
21 verbose etag "2HPL4CVGI5SOZHYWPV4UQMI10"
22 http GET https://registry.npmjs.org/jshint
23 http 200 https://registry.npmjs.org/jshint
24 silly registry.get cb [ 200,
24 silly registry.get { vary: 'Accept',
24 silly registry.get server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
24 silly registry.get etag: '"4W7J68U3OYCBEHZDCTPUKTJK7"',
24 silly registry.get date: 'Wed, 11 Jul 2012 08:40:10 GMT',
24 silly registry.get 'content-type': 'application/json',
24 silly registry.get 'content-length': '54305' } ]
25 silly addNameRange number 2 { name: 'jshint', range: '', hasData: true }
26 silly addNameRange versions [ 'jshint',
26 silly addNameRange [ '0.1.8',
26 silly addNameRange '0.1.9',
26 silly addNameRange '0.2.0',
26 silly addNameRange '0.2.1',
26 silly addNameRange '0.2.2',
26 silly addNameRange '0.2.3',
26 silly addNameRange '0.3.0',
26 silly addNameRange '0.3.1',
26 silly addNameRange '0.4.0',
26 silly addNameRange '0.5.0',
26 silly addNameRange '0.5.1',
26 silly addNameRange '0.5.2',
26 silly addNameRange '0.5.3',
26 silly addNameRange '0.5.4',
26 silly addNameRange '0.5.5',
26 silly addNameRange '0.5.6',
26 silly addNameRange '0.5.7',
26 silly addNameRange '0.5.8',
26 silly addNameRange '0.5.9',
26 silly addNameRange '0.6.0',
26 silly addNameRange '0.6.1',
26 silly addNameRange '0.6.2',
26 silly addNameRange '0.6.3',
26 silly addNameRange '0.7.0',
26 silly addNameRange '0.7.1' ] ]
27 verbose addNamed [ 'jshint', '0.7.1' ]
28 verbose addNamed [ '0.7.1', '0.7.1' ]
29 verbose lock jshint@0.7.1 /root/.npm/94eb3915f1c69a93ce7e9c0cd4b8dfcf9e2bae7e-jshint-0-7-1.lock
30 verbose read json /root/.npm/jshint/0.7.1/package/package.json
31 silly resolved [ { name: 'jshint',
31 silly resolved version: '0.7.1',
31 silly resolved description: 'A CLI for JSHint',
31 silly resolved homepage: 'http://github.com/jshint/node-jshint',
31 silly resolved author:
31 silly resolved { name: 'Brent Lintner',
31 silly resolved email: 'brent.lintner@gmail.com',
31 silly resolved url: 'http://github.com/brentlintner' },
31 silly resolved licenses: [ [Object] ],
31 silly resolved bin: { jshint: './bin/hint' },
31 silly resolved main: 'packages/jshint/jshint',
31 silly resolved files:
31 silly resolved [ 'packages/jshint/README.markdown',
31 silly resolved 'packages/jshint/jshint.js',
31 silly resolved 'README.md',
31 silly resolved 'LICENSE',
31 silly resolved 'bin/hint',
31 silly resolved 'lib' ],
31 silly resolved dependencies: { cli: '0.4.3', minimatch: '0.0.x' },
31 silly resolved devDependencies: { 'jasmine-node': '1.0.x' },
31 silly resolved preferGlobal: true,
31 silly resolved readme: '# node-jshint\n\nA command line interface and npm package for jshint.\n\n## Install\n\nTo use jshint from any location (for npm v1.x) you need to install using the global (-g) flag.\n\n npm install -g jshint\n\n## Usage\n\n jshint -h\n\nYou can also require JSHint itself as a module.\n\n var jshint = require(\'jshint\');\n\nNote: If you are using npm v1.x be sure to install jshint locally (without the -g flag) or link it globally.\n\n## Text Editor Plugins\n\n* [gedit-node-jshint](https://github.com/niftylettuce/gedit-node-jshint) - Simply use CTRL+J in gedit to run JSHint using `node-jshint`.\n* [vim syntastic](https://github.com/scrooloose/syntastic) - Run node-jshint at each file save.\n* [sublime-jshint](https://github.com/uipoet/sublime-jshint) - `F7` or `command-B` on any .js file. `F4` next error line,column. `shift-F4` previous error line,column.\n\n## Custom Reporters\n\nSpecify a custom reporter module (see example/reporter.js).\n\n --reporter path/to/reporter.js\n\nUse a jslint compatible xml reporter.\n\n --jslint-reporter\n\nShow additional non-error data generated by jshint (unused globals etc).\n\n --show-non-errors\n\n## Configuration Options\n\n**Note:** This behavior described below is very different from versions prior to `0.6`.\n\nThe CLI uses the default options that come with JSHint. To have your own configuration apply, there are several methods you can use:\n\n### Specify Manually\n\nSetting the `--config=/path/to/your/config` command line option to specify your own configuration file outside of the directory tree for your project.\n\n### Within your Project\'s Directory Tree\n\nWhen the CLI is called, and a configuration file isn\'t specified already, `node-jshint` will attempt to locate one for you starting in `pwd`. (or "present working directory") If this does not yield a `.jshintrc` file, it will move one level up (`..`) the directory tree all the way up to the filesystem root. If a file is found, it stops immediately and uses that set of configuration.\n\nThis setup allows you to set up **one** configuration file for your entire project. (place it in the root folder) As long as you run `jshint` from anywhere within your project directory tree, the same configuration file will be used.\n\n### Home Directory\n\nIf all the methods above do not yield a `.jshintrc` to use, the last place that will be checked is your user\'s `$HOME` directory.\n\n## File Extensions\n\nDefault extension for files is ".js". If you want to use JSHint with other file extensions (.json), you need to pass this extra extension as an option :\n\n --extra-ext .json\n\n## Ignoring Files and Directories\n\nIf there is a .jshintignore file in your project\'s directory tree, (also provided you run `jshint` from within your project\'s directory) then any directories or files specified will be skipped over. (behaves just like a `.gitignore` file)\n\n**Note:** Pattern matching uses minimatch, with the nocase [option](https://github.com/isaacs/minimatch). When there is no match, it performs a left side match (when no forward slashes present and path is a directory).\n\n## Installing dependencies for development\n\n ./configure\n\n## Build Commands\n\n jake -T\n\n## Project Guidelines\n\n* All tests are passing.\n* No (new) JSHint errors are introduced.\n',
31 silly resolved _id: 'jshint@0.7.1',
31 silly resolved _from: 'jshint' } ]
32 info install jshint@0.7.1 into /usr/local/lib
33 info installOne jshint@0.7.1
34 verbose from cache /root/.npm/jshint/0.7.1/package/package.json
35 info /usr/local/lib/node_modules/jshint unbuild
36 verbose read json /usr/local/lib/node_modules/jshint/package.json
37 verbose tar unpack /root/.npm/jshint/0.7.1/package.tgz
38 silly gunzTarPerm modes [ '755', '644' ]
39 silly gunzTarPerm extractEntry README.md
40 silly gunzTarPerm extractEntry LICENSE
41 silly gunzTarPerm extractEntry package.json
42 verbose read json /usr/local/lib/node_modules/jshint/package.json
43 info preinstall jshint@0.7.1
44 verbose from cache /usr/local/lib/node_modules/jshint/package.json
45 verbose readDependencies using package.json deps
46 verbose from cache /usr/local/lib/node_modules/jshint/package.json
47 verbose readDependencies using package.json deps
48 verbose cache add [ 'cli@0.4.3', null ]
49 silly cache add name=undefined spec="cli@0.4.3" args=["cli@0.4.3",null]
50 verbose parsed url { pathname: 'cli@0.4.3', path: 'cli@0.4.3', href: 'cli@0.4.3' }
51 silly cache add name="cli" spec="0.4.3" args=["cli","0.4.3"]
52 verbose parsed url { pathname: '0.4.3', path: '0.4.3', href: '0.4.3' }
53 verbose addNamed [ 'cli', '0.4.3' ]
54 verbose addNamed [ '0.4.3', '0.4.3' ]
55 verbose lock cli@0.4.3 /root/.npm/67960ed52682c30f9fb1484ca1bfa5994b9a62a3-cli-0-4-3.lock
56 verbose cache add [ 'minimatch@0.0.x', null ]
57 silly cache add name=undefined spec="minimatch@0.0.x" args=["minimatch@0.0.x",null]
58 verbose parsed url { pathname: 'minimatch@0.0.x',
58 verbose parsed url path: 'minimatch@0.0.x',
58 verbose parsed url href: 'minimatch@0.0.x' }
59 silly cache add name="minimatch" spec="0.0.x" args=["minimatch","0.0.x"]
60 verbose parsed url { pathname: '0.0.x', path: '0.0.x', href: '0.0.x' }
61 verbose addNamed [ 'minimatch', '0.0.x' ]
62 verbose addNamed [ null, '>=0.0.0- <0.1.0-' ]
63 verbose lock minimatch@0.0.x /root/.npm/19874feb11426bb3a0b16bd325b3669be3599970-minimatch-0-0-x.lock
64 silly addNameRange { name: 'minimatch', range: '>=0.0.0- <0.1.0-', hasData: false }
65 verbose url raw cli/0.4.3
66 verbose url resolving [ 'https://registry.npmjs.org/', './cli/0.4.3' ]
67 verbose url resolved https://registry.npmjs.org/cli/0.4.3
68 info retry registry request attempt 1 at 10:40:10
69 verbose etag "LXTQBXOCUL7OQHW1C8UTO19L"
70 http GET https://registry.npmjs.org/cli/0.4.3
71 verbose url raw minimatch
72 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
73 verbose url resolved https://registry.npmjs.org/minimatch
74 info retry registry request attempt 1 at 10:40:10
75 verbose etag "53NERN8DP5G9C7KYB2LYFMBU0"
76 http GET https://registry.npmjs.org/minimatch
77 http 200 https://registry.npmjs.org/cli/0.4.3
78 silly registry.get cb [ 200,
78 silly registry.get { vary: 'Accept',
78 silly registry.get server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
78 silly registry.get etag: '"1SQ0O3GCV9QXWDKYAXHESVCI3"',
78 silly registry.get date: 'Wed, 11 Jul 2012 08:40:11 GMT',
78 silly registry.get 'content-type': 'application/json',
78 silly registry.get 'content-length': '7506' } ]
79 verbose lock https://registry.npmjs.org/cli/-/cli-0.4.3.tgz /root/.npm/0299af82f2db5d79cb7978cb26be7f45c79327d3-https-registry-npmjs-org-cli-cli-0-4-3-tgz.lock
80 verbose addRemoteTarball [ 'https://registry.npmjs.org/cli/-/cli-0.4.3.tgz',
80 verbose addRemoteTarball 'e6819c8d5faa957f64f98f66a8506268c1d1f17d' ]
81 info retry fetch attempt 1 at 10:40:10
82 verbose fetch to= /root/tmp/npm-18436/1341996010962-0.18655737792141736/tmp.tgz
83 http GET https://registry.npmjs.org/cli/-/cli-0.4.3.tgz
84 http 200 https://registry.npmjs.org/minimatch
85 silly registry.get cb [ 200,
85 silly registry.get { vary: 'Accept',
85 silly registry.get server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
85 silly registry.get etag: '"7OXEY71JSQJUYD7UW9SSFQTEE"',
85 silly registry.get date: 'Wed, 11 Jul 2012 08:40:11 GMT',
85 silly registry.get 'content-type': 'application/json',
85 silly registry.get 'content-length': '83470' } ]
86 silly addNameRange number 2 { name: 'minimatch', range: '>=0.0.0- <0.1.0-', hasData: true }
87 silly addNameRange versions [ 'minimatch',
87 silly addNameRange [ '0.0.1',
87 silly addNameRange '0.0.2',
87 silly addNameRange '0.0.4',
87 silly addNameRange '0.0.5',
87 silly addNameRange '0.1.1',
87 silly addNameRange '0.1.2',
87 silly addNameRange '0.1.3',
87 silly addNameRange '0.1.4',
87 silly addNameRange '0.1.5',
87 silly addNameRange '0.2.0',
87 silly addNameRange '0.2.2',
87 silly addNameRange '0.2.3',
87 silly addNameRange '0.2.4',
87 silly addNameRange '0.2.5' ] ]
88 verbose addNamed [ 'minimatch', '0.0.5' ]
89 verbose addNamed [ '0.0.5', '0.0.5' ]
90 verbose lock minimatch@0.0.5 /root/.npm/9767f7d6f95691db4985a34d166cecf8ffbe32aa-minimatch-0-0-5.lock
91 verbose read json /root/.npm/minimatch/0.0.5/package/package.json
92 http 200 https://registry.npmjs.org/cli/-/cli-0.4.3.tgz
93 silly shasum updated bytes 14533
94 info shasum e6819c8d5faa957f64f98f66a8506268c1d1f17d
94 info shasum /root/tmp/npm-18436/1341996010962-0.18655737792141736/tmp.tgz
95 verbose tar unpack /root/tmp/npm-18436/1341996010962-0.18655737792141736/tmp.tgz
96 silly gunzTarPerm modes [ '755', '644' ]
97 silly gunzTarPerm extractEntry package.json
98 silly gunzTarPerm extractEntry README.md
99 silly gunzTarPerm extractEntry cli.js
100 silly gunzTarPerm extractEntry index.js
101 silly gunzTarPerm extractEntry examples/cat.js
102 silly gunzTarPerm extractEntry examples/command.js
103 silly gunzTarPerm extractEntry examples/echo.js
104 silly gunzTarPerm extractEntry examples/glob.js
105 silly gunzTarPerm extractEntry examples/long_desc.js
106 silly gunzTarPerm extractEntry examples/progress.js
107 silly gunzTarPerm extractEntry examples/sort.js
108 silly gunzTarPerm extractEntry examples/spinner.js
109 silly gunzTarPerm extractEntry examples/static.js
110 silly gunzTarPerm extractEntry examples/static.coffee
111 verbose read json /root/tmp/npm-18436/1341996010962-0.18655737792141736/package/package.json
112 verbose from cache /root/tmp/npm-18436/1341996010962-0.18655737792141736/package/package.json
113 verbose tar pack [ '/root/.npm/cli/0.4.3/package.tgz',
113 verbose tar pack '/root/tmp/npm-18436/1341996010962-0.18655737792141736/package' ]
114 verbose tarball /root/.npm/cli/0.4.3/package.tgz
115 verbose folder /root/tmp/npm-18436/1341996010962-0.18655737792141736/package
116 verbose tar unpack /root/.npm/cli/0.4.3/package.tgz
117 silly gunzTarPerm modes [ '755', '644' ]
118 silly gunzTarPerm extractEntry package.json
119 silly gunzTarPerm extractEntry README.md
120 silly gunzTarPerm extractEntry index.js
121 silly gunzTarPerm extractEntry cli.js
122 silly gunzTarPerm extractEntry examples/cat.js
123 silly gunzTarPerm extractEntry examples/glob.js
124 silly gunzTarPerm extractEntry examples/long_desc.js
125 silly gunzTarPerm extractEntry examples/static.js
126 silly gunzTarPerm extractEntry examples/command.js
127 silly gunzTarPerm extractEntry examples/spinner.js
128 silly gunzTarPerm extractEntry examples/progress.js
129 silly gunzTarPerm extractEntry examples/echo.js
130 silly gunzTarPerm extractEntry examples/sort.js
131 silly gunzTarPerm extractEntry examples/static.coffee
132 verbose read json /root/.npm/cli/0.4.3/package/package.json
133 silly shasum updated bytes 14526
134 info shasum cbc9815e076476282c272e3e9d51b4f8036953a3
134 info shasum /root/.npm/cli/0.4.3/package.tgz
135 verbose from cache /root/.npm/cli/0.4.3/package/package.json
136 verbose chmod /root/.npm/cli/0.4.3/package.tgz 644
137 verbose chown /root/.npm/cli/0.4.3/package.tgz [ 0, 0 ]
138 silly resolved [ { author:
138 silly resolved { name: 'Isaac Z. Schlueter',
138 silly resolved email: 'i@izs.me',
138 silly resolved url: 'http://blog.izs.me' },
138 silly resolved name: 'minimatch',
138 silly resolved description: 'a glob matcher in javascript',
138 silly resolved version: '0.0.5',
138 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
138 silly resolved main: 'minimatch.js',
138 silly resolved scripts: { test: 'tap test' },
138 silly resolved engines: { node: '*' },
138 silly resolved dependencies: { 'lru-cache': '~1.0.2' },
138 silly resolved devDependencies: { tap: '~0.0.5' },
138 silly resolved licenses: [ [Object] ],
138 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\n```\n\n## Features\n\nSupports all glob features.\n\nSee:\n\n* `man sh`\n* `man fnmatch`\n* `man 5 gitignore`\n\n### Departures from zsh/bash/ksh/sh\n\nIf the pattern starts with a `!` character, then it is negated.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. (Use `\\#` to match a literal `#` at the\nstart of a line.)\n\nThe double-star `**` is always supported, instead of requiring a special\nflag.\n\nIf an escaped pattern has no matches, and the `null` flag is not set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`.\n\n## Functions\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against\nthe pattern using the options.\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`.\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, then\nreturn the pattern (unless `{ null: true }` in the options.)\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object\nfrom the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### null\n\nReturn an empty list from minimatch.match, instead of a list\ncontaining the pattern itself.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### cache\n\nAn LRU cache with `.get(k)` and `.set(k,v)` methods. By\ndefault, an instance of `node-lru-cache` is used, with 1000 max\nentries.\n\n### slash\n\nIf set, then `a/*` will match `a/` as well as `a/b`.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match `xyz/123/acb`.\n\n### partial\n\nInternal. Used by `minimatch.makeRe`.\n\n### dot\n\nAllow patterns to match paths starting with a period, even if\nthe pattern does not explicitly start with a period.\n',
138 silly resolved _id: 'minimatch@0.0.5',
138 silly resolved _from: 'minimatch@0.0.x' },
138 silly resolved { name: 'cli',
138 silly resolved description: 'A tool for rapidly building command line apps',
138 silly resolved version: '0.4.3',
138 silly resolved homepage: 'http://github.com/chriso/cli',
138 silly resolved keywords:
138 silly resolved [ 'cli',
138 silly resolved 'command line',
138 silly resolved 'opts',
138 silly resolved 'parseopt',
138 silly resolved 'opt',
138 silly resolved 'args',
138 silly resolved 'console',
138 silly resolved 'argsparse',
138 silly resolved 'optparse',
138 silly resolved 'daemon',
138 silly resolved 'autocomplete',
138 silly resolved 'command',
138 silly resolved 'autocompletion' ],
138 silly resolved author: { name: 'Chris O\'Hara', email: 'cohara87@gmail.com' },
138 silly resolved main: 'cli.js',
138 silly resolved bugs:
138 silly resolved { mail: 'cohara87@gmail.com',
138 silly resolved url: 'http://github.com/chriso/cli/issues' },
138 silly resolved repository: { type: 'git', url: 'http://github.com/chriso/cli.git' },
138 silly resolved dependencies: { glob: '>= 3.1.4' },
138 silly resolved contributors: [ [Object] ],
138 silly resolved engines: { node: '>=0.2.5' },
138 silly resolved licenses: [ [Object] ],
138 silly resolved readme: '**cli is a toolkit for rapidly building command line apps - it includes:**\n\n- Full featured opts/args parser\n- Plugin support for adding common options and switches\n- Helper methods for working with input/output and spawning child processes\n- Output colored/styled messages, [progress bars](https://github.com/chriso/cli/blob/master/examples/progress.js) or [spinners](https://github.com/chriso/cli/blob/master/examples/spinner.js)\n- Command [auto-completion](https://github.com/chriso/cli/blob/master/examples/command.js) and [glob support](https://github.com/chriso/cli/blob/master/examples/glob.js)\n\nInstall using `npm install cli` or just bundle [cli.js](https://github.com/chriso/cli/raw/master/cli-min.js) with your app.\n\n## Example apps\n\n### sort.js\n\n```javascript\n#!/usr/bin/env node\nrequire(\'cli\').withStdinLines(function(lines, newline) {\n this.output(lines.sort().join(newline));\n});\n```\n\nTry it out\n\n```bash\n$ ./sort.js < input.txt\n```\n\nLet\'s add support for an `-n` switch to use a numeric sort, and a `-r` switch to reverse output - only 5 extra lines of code (!)\n\n```javascript\nvar cli = require(\'cli\'), options = cli.parse();\n\ncli.withStdinLines(function(lines, newline) {\n lines.sort(!options.n ? null : function(a, b) {\n return parseInt(a) > parseInt(b);\n });\n if (options.r) lines.reverse();\n this.output(lines.join(newline));\n});\n```\n\n### static.js\n\nLet\'s create a static file server with daemon support to see the opts parser + plugins in use - note: this requires `npm install creationix daemon`\n\n```javascript\nvar cli = require(\'cli\').enable(\'daemon\', \'status\'); //Enable 2 plugins\n\ncli.parse({\n log: [\'l\', \'Enable logging\'],\n port: [\'p\', \'Listen on this port\', \'number\', 8080],\n serve: [false, \'Serve static files from PATH\', \'path\', \'./public\']\n});\n\ncli.main(function(args, options) {\n var server, middleware = [];\n\n if (options.log) {\n this.debug(\'Enabling logging\');\n middleware.push(require(\'creationix/log\')());\n }\n\n this.debug(\'Serving files from \' + options.serve);\n middleware.push(require(\'creationix/static\')(\'/\', options.serve, \'index.html\'));\n\n server = this.createServer(middleware).listen(options.port);\n\n this.ok(\'Listening on port \' + options.port);\n});\n```\n\nTo output usage information\n\n```bash\n$ ./static.js --help\n```\n\nTo create a daemon that serves files from */tmp*, run\n\n```bash\n$ ./static.js -ld --serve=/tmp\n```\n\nFor more examples, see [./examples](https://github.com/chriso/cli/tree/master/examples)\n\n## Helper methods\n\ncli has methods that collect stdin (newline is autodetected as \\n or \\r\\n)\n\n```javascript\ncli.withStdin(callback); //callback receives stdin as a string\ncli.withStdinLines(callback); //callback receives stdin split into an array of lines (lines, newline)\n```\n\ncli also has a lower level method for working with input line by line (see [./examples/cat.js](https://github.com/chriso/cli/blob/master/examples/cat.js) for an example). \n\n```javascript\ncli.withInput(file, function (line, newline, eof) {\n if (!eof) {\n this.output(line + newline);\n }\n});\n```\n\n*Note: `file` can be omitted if you want to work with stdin*\n\nTo output a progress bar, call\n\n```javascript\ncli.progress(progress); //Where 0 <= progress <= 1\n```\n\nTo spawn a child process, use\n\n```javascript\ncli.exec(cmd, callback); //callback receives the output of the process (split into lines)\n```\n\ncli also comes bundled with kof\'s [node-natives](https://github.com/kof/node-natives) (access with cli.native) and creationix\' [stack](https://github.com/creationix/stack) (access with cli.createServer)\n\n## Plugins\n\nPlugins are a way of adding common opts and can be enabled using \n\n```javascript\ncli.enable(plugin1, [plugin2, ...]); //To disable, use the equivalent disable() method\n```\n\n**help** - *enabled by default*\n\nAdds `-h,--help` to output auto-generated usage information\n\n**version**\n\nAdds `-v,--version` to output version information for the app. cli will attempt to locate and parse a nearby *package.json*\n\nTo set your own app name and version, use `cli.setApp(app_name, version)`\n\n**status**\n\nAdds options to show/hide the stylized status messages that are output to the console when using one of these methods\n\n```javascript\ncli.debug(msg); //Only shown when using --debug\ncli.error(msg);\ncli.fatal(msg); //Exits the process after outputting msg\ncli.info(msg);\ncli.ok(msg);\n```\n\n`-k,--no-color` will omit ANSI color escapes from the output\n\n**glob** - *requires* `npm install glob`\n\nEnables glob matching of arguments\n\n**daemon** - *requires* `npm install daemon`\n\nAdds `-d,--daemon ARG` for daemonizing the process and controlling the resulting daemon\n\n`ARG` can be either start (default), stop, restart, pid (outputs the daemon\'s pid if it\'s running), or log (output the daemon\'s stdout+stderr)\n\n**timeout**\n\nAdds `-t,--timeout N` to exit the process after N seconds with an error\n\n**catchall**\n\nAdds `-c,--catch` to catch and output uncaughtExceptions and resume execution\n\n*Note: Plugins are automatically disabled if an option or switch of the same name is already defined*\n\n## LICENSE\n\n(MIT license)\n\nCopyright (c) 2010 Chris O\'Hara <cohara87@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n"Software"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
138 silly resolved _id: 'cli@0.4.3',
138 silly resolved dist: { shasum: 'cbc9815e076476282c272e3e9d51b4f8036953a3' },
138 silly resolved _from: 'cli@0.4.3' } ]
139 info install minimatch@0.0.5 into /usr/local/lib/node_modules/jshint
140 info install cli@0.4.3 into /usr/local/lib/node_modules/jshint
141 info installOne minimatch@0.0.5
142 info installOne cli@0.4.3
143 verbose from cache /root/.npm/minimatch/0.0.5/package/package.json
144 verbose from cache /root/.npm/cli/0.4.3/package/package.json
145 info /usr/local/lib/node_modules/jshint/node_modules/minimatch unbuild
146 verbose read json /usr/local/lib/node_modules/jshint/node_modules/minimatch/package.json
147 info /usr/local/lib/node_modules/jshint/node_modules/cli unbuild
148 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/package.json
149 verbose tar unpack /root/.npm/minimatch/0.0.5/package.tgz
150 verbose tar unpack /root/.npm/cli/0.4.3/package.tgz
151 silly gunzTarPerm modes [ '755', '644' ]
152 silly gunzTarPerm modes [ '755', '644' ]
153 silly gunzTarPerm extractEntry README.md
154 silly gunzTarPerm extractEntry package.json
155 silly gunzTarPerm extractEntry minimatch.js
156 silly gunzTarPerm extractEntry test/
157 silly gunzTarPerm extractEntry README.md
158 silly gunzTarPerm extractEntry index.js
159 silly gunzTarPerm extractEntry test/basic.js
160 silly gunzTarPerm extractEntry t.js
161 silly gunzTarPerm extractEntry LICENSE
162 silly gunzTarPerm extractEntry cli.js
163 silly gunzTarPerm extractEntry examples/cat.js
164 silly gunzTarPerm extractEntry blerg.js
165 silly gunzTarPerm extractEntry .travis.yml
166 silly gunzTarPerm extractEntry examples/glob.js
167 silly gunzTarPerm extractEntry package.json
168 silly gunzTarPerm extractEntry examples/long_desc.js
169 silly gunzTarPerm extractEntry examples/static.js
170 silly gunzTarPerm extractEntry examples/command.js
171 silly gunzTarPerm extractEntry examples/spinner.js
172 silly gunzTarPerm extractEntry examples/progress.js
173 silly gunzTarPerm extractEntry examples/echo.js
174 silly gunzTarPerm extractEntry examples/sort.js
175 silly gunzTarPerm extractEntry examples/static.coffee
176 verbose read json /usr/local/lib/node_modules/jshint/node_modules/minimatch/package.json
177 info preinstall minimatch@0.0.5
178 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/minimatch/package.json
179 verbose readDependencies using package.json deps
180 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/minimatch/package.json
181 verbose readDependencies using package.json deps
182 verbose cache add [ 'lru-cache@~1.0.2', null ]
183 silly cache add name=undefined spec="lru-cache@~1.0.2" args=["lru-cache@~1.0.2",null]
184 verbose parsed url { pathname: 'lru-cache@~1.0.2',
184 verbose parsed url path: 'lru-cache@~1.0.2',
184 verbose parsed url href: 'lru-cache@~1.0.2' }
185 silly cache add name="lru-cache" spec="~1.0.2" args=["lru-cache","~1.0.2"]
186 verbose parsed url { pathname: '~1.0.2', path: '~1.0.2', href: '~1.0.2' }
187 verbose addNamed [ 'lru-cache', '~1.0.2' ]
188 verbose addNamed [ null, '>=1.0.2- <1.1.0-' ]
189 verbose lock lru-cache@~1.0.2 /root/.npm/c1d3db53de22bd39ed08f59523e3fff881413777-lru-cache-1-0-2.lock
190 silly addNameRange { name: 'lru-cache', range: '>=1.0.2- <1.1.0-', hasData: false }
191 verbose url raw lru-cache
192 verbose url resolving [ 'https://registry.npmjs.org/', './lru-cache' ]
193 verbose url resolved https://registry.npmjs.org/lru-cache
194 info retry registry request attempt 1 at 10:40:12
195 verbose etag "D6BNO3RBA5GPRLD01WMWKQ0XE"
196 http GET https://registry.npmjs.org/lru-cache
197 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/package.json
198 info preinstall cli@0.4.3
199 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/package.json
200 verbose readDependencies using package.json deps
201 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/package.json
202 verbose readDependencies using package.json deps
203 verbose cache add [ 'glob@>= 3.1.4', null ]
204 silly cache add name=undefined spec="glob@>= 3.1.4" args=["glob@>= 3.1.4",null]
205 verbose parsed url { pathname: 'glob@%3E=%203.1.4',
205 verbose parsed url path: 'glob@%3E=%203.1.4',
205 verbose parsed url href: 'glob@%3E=%203.1.4' }
206 silly cache add name="glob" spec=">= 3.1.4" args=["glob",">= 3.1.4"]
207 verbose parsed url { pathname: '%3E=%203.1.4',
207 verbose parsed url path: '%3E=%203.1.4',
207 verbose parsed url href: '%3E=%203.1.4' }
208 verbose addNamed [ 'glob', '>= 3.1.4' ]
209 verbose addNamed [ null, '>=3.1.4' ]
210 verbose lock glob@>= 3.1.4 /root/.npm/2f09716d783a59392fc6eb03db43212d46408437-glob-3-1-4.lock
211 silly addNameRange { name: 'glob', range: '>=3.1.4', hasData: false }
212 verbose url raw glob
213 verbose url resolving [ 'https://registry.npmjs.org/', './glob' ]
214 verbose url resolved https://registry.npmjs.org/glob
215 info retry registry request attempt 1 at 10:40:12
216 verbose etag "6VHW9PZ9YBEROKSO44TV637RC"
217 http GET https://registry.npmjs.org/glob
218 http 200 https://registry.npmjs.org/lru-cache
219 silly registry.get cb [ 200,
219 silly registry.get { vary: 'Accept',
219 silly registry.get server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
219 silly registry.get etag: '"9N82M3AKSKT7DVEPKQ6VWSEEP"',
219 silly registry.get date: 'Wed, 11 Jul 2012 08:40:13 GMT',
219 silly registry.get 'content-type': 'application/json',
219 silly registry.get 'content-length': '7242' } ]
220 silly addNameRange number 2 { name: 'lru-cache', range: '>=1.0.2- <1.1.0-', hasData: true }
221 silly addNameRange versions [ 'lru-cache',
221 silly addNameRange [ '1.0.1', '1.0.2', '1.0.3', '1.0.4', '1.0.5', '1.0.6', '1.1.0' ] ]
222 verbose addNamed [ 'lru-cache', '1.0.6' ]
223 verbose addNamed [ '1.0.6', '1.0.6' ]
224 verbose lock lru-cache@1.0.6 /root/.npm/b9b6ae387e7bb61abfed194d026629adbf18b94f-lru-cache-1-0-6.lock
225 verbose read json /root/.npm/lru-cache/1.0.6/package/package.json
226 silly resolved [ { name: 'lru-cache',
226 silly resolved description: 'A cache object that deletes the least-recently-used items.',
226 silly resolved version: '1.0.6',
226 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
226 silly resolved scripts: { test: 'tap test' },
226 silly resolved main: 'lib/lru-cache.js',
226 silly resolved repository:
226 silly resolved { type: 'git',
226 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
226 silly resolved devDependencies: { tap: '0' },
226 silly resolved license:
226 silly resolved { type: 'MIT',
226 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
226 silly resolved readme: '# lru cache\n\nA cache object that deletes the least-recently-used items.\n\nUsage:\n\n var LRU = require("lru-cache")\n , cache = LRU(10) // max 10 items. default = Infinity\n cache.set("key", "value")\n cache.get("key") // "value"\n\n cache.reset() // empty the cache\n\nRTFS for more info.\n',
226 silly resolved _id: 'lru-cache@1.0.6',
226 silly resolved _from: 'lru-cache@~1.0.2' } ]
227 info install lru-cache@1.0.6 into /usr/local/lib/node_modules/jshint/node_modules/minimatch
228 info installOne lru-cache@1.0.6
229 verbose from cache /root/.npm/lru-cache/1.0.6/package/package.json
230 info /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache unbuild
231 verbose read json /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json
232 verbose tar unpack /root/.npm/lru-cache/1.0.6/package.tgz
233 silly gunzTarPerm modes [ '755', '644' ]
234 silly gunzTarPerm extractEntry README.md
235 silly gunzTarPerm extractEntry test/
236 silly gunzTarPerm extractEntry test/basic.js
237 silly gunzTarPerm extractEntry lib/
238 silly gunzTarPerm extractEntry lib/lru-cache.js
239 silly gunzTarPerm extractEntry LICENSE
240 silly gunzTarPerm extractEntry .npmignore
241 silly gunzTarPerm extractEntry package.json
242 verbose read json /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json
243 info preinstall lru-cache@1.0.6
244 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json
245 verbose readDependencies using package.json deps
246 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json
247 verbose readDependencies using package.json deps
248 silly resolved []
249 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache
250 info build /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache
251 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json
252 verbose linkStuff [ true,
252 verbose linkStuff '/usr/local/lib/node_modules',
252 verbose linkStuff false,
252 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules/minimatch/node_modules' ]
253 info linkStuff lru-cache@1.0.6
254 verbose linkBins lru-cache@1.0.6
255 verbose linkMans lru-cache@1.0.6
256 verbose rebuildBundles lru-cache@1.0.6
257 info install lru-cache@1.0.6
258 info postinstall lru-cache@1.0.6
259 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/minimatch
260 info build /usr/local/lib/node_modules/jshint/node_modules/minimatch
261 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/minimatch/package.json
262 verbose linkStuff [ true,
262 verbose linkStuff '/usr/local/lib/node_modules',
262 verbose linkStuff false,
262 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules' ]
263 info linkStuff minimatch@0.0.5
264 verbose linkBins minimatch@0.0.5
265 verbose linkMans minimatch@0.0.5
266 verbose rebuildBundles minimatch@0.0.5
267 verbose rebuildBundles [ 'lru-cache' ]
268 info install minimatch@0.0.5
269 info postinstall minimatch@0.0.5
270 http 200 https://registry.npmjs.org/glob
271 silly registry.get cb [ 200,
271 silly registry.get { vary: 'Accept',
271 silly registry.get server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
271 silly registry.get etag: '"206UODCFKVOY1OJAQ1HL1TM66"',
271 silly registry.get date: 'Wed, 11 Jul 2012 08:40:13 GMT',
271 silly registry.get 'content-type': 'application/json',
271 silly registry.get 'content-length': '94142' } ]
272 silly addNameRange number 2 { name: 'glob', range: '>=3.1.4', hasData: true }
273 silly addNameRange versions [ 'glob',
273 silly addNameRange [ '1.1.0',
273 silly addNameRange '2.0.9',
273 silly addNameRange '2.0.8',
273 silly addNameRange '2.0.7',
273 silly addNameRange '2.1.0',
273 silly addNameRange '3.0.0',
273 silly addNameRange '3.0.1',
273 silly addNameRange '3.1.0',
273 silly addNameRange '3.1.1',
273 silly addNameRange '3.1.2',
273 silly addNameRange '3.1.3',
273 silly addNameRange '3.1.4',
273 silly addNameRange '3.1.5',
273 silly addNameRange '3.1.6',
273 silly addNameRange '3.1.7',
273 silly addNameRange '3.1.9',
273 silly addNameRange '3.1.10' ] ]
274 verbose addNamed [ 'glob', '3.1.10' ]
275 verbose addNamed [ '3.1.10', '3.1.10' ]
276 verbose lock glob@3.1.10 /root/.npm/3f231a177574379170bdc042304eb135dcc2f8d0-glob-3-1-10.lock
277 verbose read json /root/.npm/glob/3.1.10/package/package.json
278 silly resolved [ { author:
278 silly resolved { name: 'Isaac Z. Schlueter',
278 silly resolved email: 'i@izs.me',
278 silly resolved url: 'http://blog.izs.me/' },
278 silly resolved name: 'glob',
278 silly resolved description: 'a little globber',
278 silly resolved version: '3.1.10',
278 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
278 silly resolved main: 'glob.js',
278 silly resolved engines: { node: '*' },
278 silly resolved dependencies: { minimatch: '0.2', 'graceful-fs': '~1.1.2', inherits: '1' },
278 silly resolved devDependencies: { tap: '~0.2.3', mkdirp: '0', rimraf: '1' },
278 silly resolved scripts: { test: 'tap test/*.js' },
278 silly resolved license: 'BSD',
278 silly resolved readme: '# Glob\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there\'s an event emitter class, proper tests, and all the other\nthings you\'ve come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require("glob")\n\n// options is optional\nglob("**/*.js", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is ["**/*.js"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options]\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require("glob").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt\'s an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `nomount` By default, a pattern starting with a forward-slash will be\n "mounted" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don\'t sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See "Race Conditions" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not. **Note that this is different from the way that `**` is\nhandled by ruby\'s `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the statCache object is reused between glob calls.\n\nUsers are thus advised not to use a glob result as a\nguarantee of filesystem state in the face of rapid changes.\nFor the vast majority of operations, this is never a problem.\n',
278 silly resolved _id: 'glob@3.1.10',
278 silly resolved _from: 'glob@>= 3.1.4' } ]
279 info install glob@3.1.10 into /usr/local/lib/node_modules/jshint/node_modules/cli
280 info installOne glob@3.1.10
281 verbose from cache /root/.npm/glob/3.1.10/package/package.json
282 info /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob unbuild
283 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/package.json
284 verbose tar unpack /root/.npm/glob/3.1.10/package.tgz
285 silly gunzTarPerm modes [ '755', '644' ]
286 silly gunzTarPerm extractEntry README.md
287 silly gunzTarPerm extractEntry examples/
288 silly gunzTarPerm extractEntry examples/g.js
289 silly gunzTarPerm extractEntry examples/usr-local.js
290 silly gunzTarPerm extractEntry glob.js
291 silly gunzTarPerm extractEntry LICENCE
292 silly gunzTarPerm extractEntry test/
293 silly gunzTarPerm extractEntry test/cwd-test.js
294 silly gunzTarPerm extractEntry test/00-setup.js
295 silly gunzTarPerm extractEntry test/bash-comparison.js
296 silly gunzTarPerm extractEntry test/root.js
297 silly gunzTarPerm extractEntry test/pause-resume.js
298 silly gunzTarPerm extractEntry test/zz-cleanup.js
299 silly gunzTarPerm extractEntry test/root-nomount.js
300 silly gunzTarPerm extractEntry .npmignore
301 silly gunzTarPerm extractEntry .travis.yml
302 silly gunzTarPerm extractEntry package.json
303 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/package.json
304 info preinstall glob@3.1.10
305 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/package.json
306 verbose readDependencies using package.json deps
307 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/package.json
308 verbose readDependencies using package.json deps
309 verbose cache add [ 'minimatch@0.2', null ]
310 silly cache add name=undefined spec="minimatch@0.2" args=["minimatch@0.2",null]
311 verbose parsed url { pathname: 'minimatch@0.2',
311 verbose parsed url path: 'minimatch@0.2',
311 verbose parsed url href: 'minimatch@0.2' }
312 silly cache add name="minimatch" spec="0.2" args=["minimatch","0.2"]
313 verbose parsed url { pathname: '0.2', path: '0.2', href: '0.2' }
314 verbose addNamed [ 'minimatch', '0.2' ]
315 verbose addNamed [ null, '>=0.2.0- <0.3.0-' ]
316 verbose lock minimatch@0.2 /root/.npm/1c6e096b06d60c870b8118c5f0714ec1748ce28c-minimatch-0-2.lock
317 verbose cache add [ 'graceful-fs@~1.1.2', null ]
318 silly cache add name=undefined spec="graceful-fs@~1.1.2" args=["graceful-fs@~1.1.2",null]
319 verbose parsed url { pathname: 'graceful-fs@~1.1.2',
319 verbose parsed url path: 'graceful-fs@~1.1.2',
319 verbose parsed url href: 'graceful-fs@~1.1.2' }
320 silly cache add name="graceful-fs" spec="~1.1.2" args=["graceful-fs","~1.1.2"]
321 verbose parsed url { pathname: '~1.1.2', path: '~1.1.2', href: '~1.1.2' }
322 verbose addNamed [ 'graceful-fs', '~1.1.2' ]
323 verbose addNamed [ null, '>=1.1.2- <1.2.0-' ]
324 verbose lock graceful-fs@~1.1.2 /root/.npm/6ef561cf43d44663ec2c7e2c905c653176c1a790-graceful-fs-1-1-2.lock
325 silly addNameRange { name: 'minimatch', range: '>=0.2.0- <0.3.0-', hasData: false }
326 silly addNameRange { name: 'graceful-fs',
326 silly addNameRange range: '>=1.1.2- <1.2.0-',
326 silly addNameRange hasData: false }
327 verbose url raw minimatch
328 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
329 verbose url resolved https://registry.npmjs.org/minimatch
330 info retry registry request attempt 1 at 10:40:13
331 verbose etag "7OXEY71JSQJUYD7UW9SSFQTEE"
332 http GET https://registry.npmjs.org/minimatch
333 verbose url raw graceful-fs
334 verbose url resolving [ 'https://registry.npmjs.org/', './graceful-fs' ]
335 verbose url resolved https://registry.npmjs.org/graceful-fs
336 info retry registry request attempt 1 at 10:40:13
337 verbose etag "2AHH4EODEDUGPOFYU17R87O5L"
338 http GET https://registry.npmjs.org/graceful-fs
339 verbose cache add [ 'inherits@1', null ]
340 silly cache add name=undefined spec="inherits@1" args=["inherits@1",null]
341 verbose parsed url { pathname: 'inherits@1',
341 verbose parsed url path: 'inherits@1',
341 verbose parsed url href: 'inherits@1' }
342 silly cache add name="inherits" spec="1" args=["inherits","1"]
343 verbose parsed url { pathname: '1', path: '1', href: '1' }
344 verbose addNamed [ 'inherits', '1' ]
345 verbose addNamed [ null, '>=1.0.0- <2.0.0-' ]
346 verbose lock inherits@1 /root/.npm/4bca46d04f108786aa2e04adc9b4a6a85ec500cf-inherits-1.lock
347 silly addNameRange { name: 'inherits', range: '>=1.0.0- <2.0.0-', hasData: false }
348 verbose url raw inherits
349 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
350 verbose url resolved https://registry.npmjs.org/inherits
351 info retry registry request attempt 1 at 10:40:13
352 verbose etag "8UWB98VDUHGBDLBEHXE6BSXC"
353 http GET https://registry.npmjs.org/inherits
354 http 304 https://registry.npmjs.org/minimatch
355 silly registry.get cb [ 304,
355 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
355 silly registry.get etag: '"7OXEY71JSQJUYD7UW9SSFQTEE"',
355 silly registry.get date: 'Wed, 11 Jul 2012 08:40:14 GMT',
355 silly registry.get 'content-length': '0' } ]
356 verbose etag minimatch from cache
357 silly addNameRange number 2 { name: 'minimatch', range: '>=0.2.0- <0.3.0-', hasData: true }
358 silly addNameRange versions [ 'minimatch',
358 silly addNameRange [ '0.0.1',
358 silly addNameRange '0.0.2',
358 silly addNameRange '0.0.4',
358 silly addNameRange '0.0.5',
358 silly addNameRange '0.1.1',
358 silly addNameRange '0.1.2',
358 silly addNameRange '0.1.3',
358 silly addNameRange '0.1.4',
358 silly addNameRange '0.1.5',
358 silly addNameRange '0.2.0',
358 silly addNameRange '0.2.2',
358 silly addNameRange '0.2.3',
358 silly addNameRange '0.2.4',
358 silly addNameRange '0.2.5' ] ]
359 verbose addNamed [ 'minimatch', '0.2.5' ]
360 verbose addNamed [ '0.2.5', '0.2.5' ]
361 verbose lock minimatch@0.2.5 /root/.npm/9d4487fb16762a5b742426a2a7531e9c67b4862d-minimatch-0-2-5.lock
362 verbose read json /root/.npm/minimatch/0.2.5/package/package.json
363 http 200 https://registry.npmjs.org/inherits
364 silly registry.get cb [ 200,
364 silly registry.get { vary: 'Accept',
364 silly registry.get server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
364 silly registry.get etag: '"239IRG2P9KCNWXXVZX9D7IR06"',
364 silly registry.get date: 'Wed, 11 Jul 2012 08:40:14 GMT',
364 silly registry.get 'content-type': 'application/json',
364 silly registry.get 'content-length': '1138' } ]
365 silly addNameRange number 2 { name: 'inherits', range: '>=1.0.0- <2.0.0-', hasData: true }
366 silly addNameRange versions [ 'inherits', [ '1.0.0' ] ]
367 verbose addNamed [ 'inherits', '1.0.0' ]
368 verbose addNamed [ '1.0.0', '1.0.0' ]
369 verbose lock inherits@1.0.0 /root/.npm/776fbe7790d5cc0d953dd52583354652df2a772a-inherits-1-0-0.lock
370 verbose read json /root/.npm/inherits/1.0.0/package/package.json
371 http 200 https://registry.npmjs.org/graceful-fs
372 silly registry.get cb [ 200,
372 silly registry.get { vary: 'Accept',
372 silly registry.get server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
372 silly registry.get etag: '"DXPN8N7QOCCEJZALN5FJNDSDY"',
372 silly registry.get date: 'Wed, 11 Jul 2012 08:40:14 GMT',
372 silly registry.get 'content-type': 'application/json',
372 silly registry.get 'content-length': '11419' } ]
373 silly addNameRange number 2 { name: 'graceful-fs', range: '>=1.1.2- <1.2.0-', hasData: true }
374 silly addNameRange versions [ 'graceful-fs',
374 silly addNameRange [ '1.0.0',
374 silly addNameRange '1.0.1',
374 silly addNameRange '1.0.2',
374 silly addNameRange '1.1.0',
374 silly addNameRange '1.1.1',
374 silly addNameRange '1.1.2',
374 silly addNameRange '1.1.3',
374 silly addNameRange '1.1.4',
374 silly addNameRange '1.1.5',
374 silly addNameRange '1.1.6',
374 silly addNameRange '1.1.7',
374 silly addNameRange '1.1.8' ] ]
375 verbose addNamed [ 'graceful-fs', '1.1.8' ]
376 verbose addNamed [ '1.1.8', '1.1.8' ]
377 verbose lock graceful-fs@1.1.8 /root/.npm/3cae4b65b280345f4b97bf2cedba55f1e1b9d750-graceful-fs-1-1-8.lock
378 verbose read json /root/.npm/graceful-fs/1.1.8/package/package.json
379 silly resolved [ { author:
379 silly resolved { name: 'Isaac Z. Schlueter',
379 silly resolved email: 'i@izs.me',
379 silly resolved url: 'http://blog.izs.me' },
379 silly resolved name: 'minimatch',
379 silly resolved description: 'a glob matcher in javascript',
379 silly resolved version: '0.2.5',
379 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
379 silly resolved main: 'minimatch.js',
379 silly resolved scripts: { test: 'tap test' },
379 silly resolved engines: { node: '*' },
379 silly resolved dependencies: { 'lru-cache': '~1' },
379 silly resolved devDependencies: { tap: '' },
379 silly resolved licenses: [ [Object] ],
379 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n### Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not. **Note that this is different from the way that `**` is\nhandled by ruby\'s `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n',
379 silly resolved _id: 'minimatch@0.2.5',
379 silly resolved _from: 'minimatch@0.2' },
379 silly resolved { name: 'inherits',
379 silly resolved description: 'A tiny simple way to do classic inheritance in js',
379 silly resolved version: '1.0.0',
379 silly resolved keywords: [ 'inheritance', 'class', 'klass', 'oop', 'object-oriented' ],
379 silly resolved main: './inherits.js',
379 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/inherits' },
379 silly resolved author:
379 silly resolved { name: 'Isaac Z. Schlueter',
379 silly resolved email: 'i@izs.me',
379 silly resolved url: 'http://blog.izs.me/' },
379 silly resolved readme: 'A dead simple way to do inheritance in JS.\n\n var inherits = require("inherits")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say("sniff sniff")\n }\n Dog.prototype.bark = function () {\n this.say("woof woof")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say("yip yip")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say("CHSKKSS!!")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say("miao miao") }\n })\n Cat.prototype.purr = function () {\n this.say("purr purr")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n',
379 silly resolved _id: 'inherits@1.0.0',
379 silly resolved _from: 'inherits@1' },
379 silly resolved { author:
379 silly resolved { name: 'Isaac Z. Schlueter',
379 silly resolved email: 'i@izs.me',
379 silly resolved url: 'http://blog.izs.me' },
379 silly resolved name: 'graceful-fs',
379 silly resolved description: 'fs monkey-patching to avoid EMFILE and other problems',
379 silly resolved version: '1.1.8',
379 silly resolved repository:
379 silly resolved { type: 'git',
379 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
379 silly resolved main: 'graceful-fs.js',
379 silly resolved engines: { node: '>=0.4.0' },
379 silly resolved devDependencies: {},
379 silly resolved readme: 'Just like node\'s `fs` module, but it does an incremental back-off when\nEMFILE is encountered.\n\nUseful in asynchronous situations where one needs to try to open lots\nand lots of files.\n',
379 silly resolved _id: 'graceful-fs@1.1.8',
379 silly resolved _from: 'graceful-fs@~1.1.2' } ]
380 info install minimatch@0.2.5 into /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob
381 info install inherits@1.0.0 into /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob
382 info install graceful-fs@1.1.8 into /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob
383 info installOne minimatch@0.2.5
384 info installOne inherits@1.0.0
385 info installOne graceful-fs@1.1.8
386 verbose from cache /root/.npm/minimatch/0.2.5/package/package.json
387 verbose from cache /root/.npm/inherits/1.0.0/package/package.json
388 verbose from cache /root/.npm/graceful-fs/1.1.8/package/package.json
389 info /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch unbuild
390 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json
391 info /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits unbuild
392 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json
393 info /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs unbuild
394 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs/package.json
395 verbose tar unpack /root/.npm/minimatch/0.2.5/package.tgz
396 verbose tar unpack /root/.npm/inherits/1.0.0/package.tgz
397 verbose tar unpack /root/.npm/graceful-fs/1.1.8/package.tgz
398 silly gunzTarPerm modes [ '755', '644' ]
399 silly gunzTarPerm modes [ '755', '644' ]
400 silly gunzTarPerm modes [ '755', '644' ]
401 silly gunzTarPerm extractEntry README.md
402 silly gunzTarPerm extractEntry README.md
403 silly gunzTarPerm extractEntry graceful-fs.js
404 silly gunzTarPerm extractEntry minimatch.js
405 silly gunzTarPerm extractEntry test/
406 silly gunzTarPerm extractEntry inherits.js
407 silly gunzTarPerm extractEntry package.json
408 silly gunzTarPerm extractEntry README.md
409 silly gunzTarPerm extractEntry LICENSE
410 silly gunzTarPerm extractEntry test/brace-expand.js
411 silly gunzTarPerm extractEntry test/defaults.js
412 silly gunzTarPerm extractEntry .npmignore
413 silly gunzTarPerm extractEntry test/caching.js
414 silly gunzTarPerm extractEntry package.json
415 silly gunzTarPerm extractEntry test/basic.js
416 silly gunzTarPerm extractEntry LICENSE
417 silly gunzTarPerm extractEntry .travis.yml
418 silly gunzTarPerm extractEntry package.json
419 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json
420 info preinstall inherits@1.0.0
421 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json
422 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs/package.json
423 info preinstall graceful-fs@1.1.8
424 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs/package.json
425 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json
426 info preinstall minimatch@0.2.5
427 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json
428 verbose readDependencies using package.json deps
429 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json
430 verbose readDependencies using package.json deps
431 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs/package.json
432 verbose readDependencies using package.json deps
433 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json
434 verbose readDependencies using package.json deps
435 silly resolved []
436 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits
437 info build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits
438 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json
439 verbose readDependencies using package.json deps
440 silly resolved []
441 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs
442 info build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs
443 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/graceful-fs/package.json
444 verbose readDependencies using package.json deps
445 verbose linkStuff [ true,
445 verbose linkStuff '/usr/local/lib/node_modules',
445 verbose linkStuff false,
445 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules' ]
446 info linkStuff inherits@1.0.0
447 verbose linkBins inherits@1.0.0
448 verbose linkMans inherits@1.0.0
449 verbose rebuildBundles inherits@1.0.0
450 verbose linkStuff [ true,
450 verbose linkStuff '/usr/local/lib/node_modules',
450 verbose linkStuff false,
450 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules' ]
451 info linkStuff graceful-fs@1.1.8
452 verbose linkBins graceful-fs@1.1.8
453 verbose linkMans graceful-fs@1.1.8
454 verbose rebuildBundles graceful-fs@1.1.8
455 verbose cache add [ 'lru-cache@~1', null ]
456 silly cache add name=undefined spec="lru-cache@~1" args=["lru-cache@~1",null]
457 verbose parsed url { pathname: 'lru-cache@~1',
457 verbose parsed url path: 'lru-cache@~1',
457 verbose parsed url href: 'lru-cache@~1' }
458 silly cache add name="lru-cache" spec="~1" args=["lru-cache","~1"]
459 verbose parsed url { pathname: '~1', path: '~1', href: '~1' }
460 verbose addNamed [ 'lru-cache', '~1' ]
461 verbose addNamed [ null, '>=1.0.0- <2.0.0-' ]
462 verbose lock lru-cache@~1 /root/.npm/a0c1fcfc3eea10df731eba0c1f5d1d2880882c22-lru-cache-1.lock
463 info install inherits@1.0.0
464 info install graceful-fs@1.1.8
465 silly addNameRange { name: 'lru-cache', range: '>=1.0.0- <2.0.0-', hasData: false }
466 info postinstall inherits@1.0.0
467 info postinstall graceful-fs@1.1.8
468 verbose url raw lru-cache
469 verbose url resolving [ 'https://registry.npmjs.org/', './lru-cache' ]
470 verbose url resolved https://registry.npmjs.org/lru-cache
471 info retry registry request attempt 1 at 10:40:14
472 verbose etag "9N82M3AKSKT7DVEPKQ6VWSEEP"
473 http GET https://registry.npmjs.org/lru-cache
474 http 304 https://registry.npmjs.org/lru-cache
475 silly registry.get cb [ 304,
475 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
475 silly registry.get etag: '"9N82M3AKSKT7DVEPKQ6VWSEEP"',
475 silly registry.get date: 'Wed, 11 Jul 2012 08:40:15 GMT',
475 silly registry.get 'content-length': '0' } ]
476 verbose etag lru-cache from cache
477 silly addNameRange number 2 { name: 'lru-cache', range: '>=1.0.0- <2.0.0-', hasData: true }
478 silly addNameRange versions [ 'lru-cache',
478 silly addNameRange [ '1.0.1', '1.0.2', '1.0.3', '1.0.4', '1.0.5', '1.0.6', '1.1.0' ] ]
479 verbose addNamed [ 'lru-cache', '1.1.0' ]
480 verbose addNamed [ '1.1.0', '1.1.0' ]
481 verbose lock lru-cache@1.1.0 /root/.npm/2f3c1a5290d526d1e2c3b27978373e01b9fcbdcf-lru-cache-1-1-0.lock
482 verbose read json /root/.npm/lru-cache/1.1.0/package/package.json
483 silly resolved [ { name: 'lru-cache',
483 silly resolved description: 'A cache object that deletes the least-recently-used items.',
483 silly resolved version: '1.1.0',
483 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
483 silly resolved scripts: { test: 'tap test' },
483 silly resolved main: 'lib/lru-cache.js',
483 silly resolved repository:
483 silly resolved { type: 'git',
483 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
483 silly resolved devDependencies: { tap: '' },
483 silly resolved license:
483 silly resolved { type: 'MIT',
483 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
483 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
483 silly resolved readme: '# lru cache\n\nA cache object that deletes the least-recently-used items.\n\nUsage:\n\n var LRU = require("lru-cache")\n , cache = LRU(10, // max length. default = Infinity\n // calculate how "big" each item is\n //\n // defaults to function(){return 1}, ie, just limit\n // the item count, without any knowledge as to their\n // relative size.\n function (item) { return item.length })\n\n cache.set("key", "value")\n cache.get("key") // "value"\n\n cache.reset() // empty the cache\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it\'ll fall out right\naway.\n\nRTFS for more info.\n',
483 silly resolved _id: 'lru-cache@1.1.0',
483 silly resolved _from: 'lru-cache@~1' } ]
484 info install lru-cache@1.1.0 into /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch
485 info installOne lru-cache@1.1.0
486 verbose from cache /root/.npm/lru-cache/1.1.0/package/package.json
487 info /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache unbuild
488 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json
489 verbose tar unpack /root/.npm/lru-cache/1.1.0/package.tgz
490 silly gunzTarPerm modes [ '755', '644' ]
491 silly gunzTarPerm extractEntry README.md
492 silly gunzTarPerm extractEntry test/
493 silly gunzTarPerm extractEntry test/basic.js
494 silly gunzTarPerm extractEntry lib/
495 silly gunzTarPerm extractEntry lib/lru-cache.js
496 silly gunzTarPerm extractEntry LICENSE
497 silly gunzTarPerm extractEntry .npmignore
498 silly gunzTarPerm extractEntry package.json
499 silly gunzTarPerm extractEntry AUTHORS
500 verbose read json /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json
501 info preinstall lru-cache@1.1.0
502 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json
503 verbose readDependencies using package.json deps
504 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json
505 verbose readDependencies using package.json deps
506 silly resolved []
507 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache
508 info build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache
509 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json
510 verbose linkStuff [ true,
510 verbose linkStuff '/usr/local/lib/node_modules',
510 verbose linkStuff false,
510 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules' ]
511 info linkStuff lru-cache@1.1.0
512 verbose linkBins lru-cache@1.1.0
513 verbose linkMans lru-cache@1.1.0
514 verbose rebuildBundles lru-cache@1.1.0
515 info install lru-cache@1.1.0
516 info postinstall lru-cache@1.1.0
517 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch
518 info build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch
519 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json
520 verbose linkStuff [ true,
520 verbose linkStuff '/usr/local/lib/node_modules',
520 verbose linkStuff false,
520 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules' ]
521 info linkStuff minimatch@0.2.5
522 verbose linkBins minimatch@0.2.5
523 verbose linkMans minimatch@0.2.5
524 verbose rebuildBundles minimatch@0.2.5
525 verbose rebuildBundles [ 'lru-cache' ]
526 info install minimatch@0.2.5
527 info postinstall minimatch@0.2.5
528 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob
529 info build /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob
530 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/node_modules/glob/package.json
531 verbose linkStuff [ true,
531 verbose linkStuff '/usr/local/lib/node_modules',
531 verbose linkStuff false,
531 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules/cli/node_modules' ]
532 info linkStuff glob@3.1.10
533 verbose linkBins glob@3.1.10
534 verbose linkMans glob@3.1.10
535 verbose rebuildBundles glob@3.1.10
536 verbose rebuildBundles [ 'minimatch', 'graceful-fs', 'inherits' ]
537 info install glob@3.1.10
538 info postinstall glob@3.1.10
539 verbose about to build /usr/local/lib/node_modules/jshint/node_modules/cli
540 info build /usr/local/lib/node_modules/jshint/node_modules/cli
541 verbose from cache /usr/local/lib/node_modules/jshint/node_modules/cli/package.json
542 verbose linkStuff [ true,
542 verbose linkStuff '/usr/local/lib/node_modules',
542 verbose linkStuff false,
542 verbose linkStuff '/usr/local/lib/node_modules/jshint/node_modules' ]
543 info linkStuff cli@0.4.3
544 verbose linkBins cli@0.4.3
545 verbose linkMans cli@0.4.3
546 verbose rebuildBundles cli@0.4.3
547 verbose rebuildBundles [ 'glob' ]
548 info install cli@0.4.3
549 info postinstall cli@0.4.3
550 verbose about to build /usr/local/lib/node_modules/jshint
551 info build /usr/local/lib/node_modules/jshint
552 verbose from cache /usr/local/lib/node_modules/jshint/package.json
553 verbose linkStuff [ true,
553 verbose linkStuff '/usr/local/lib/node_modules',
553 verbose linkStuff true,
553 verbose linkStuff '/usr/local/lib/node_modules' ]
554 info linkStuff jshint@0.7.1
555 verbose linkBins jshint@0.7.1
556 verbose link bins [ { jshint: './bin/hint' }, '/usr/local/bin', true ]
557 verbose linkMans jshint@0.7.1
558 verbose rebuildBundles jshint@0.7.1
559 verbose rebuildBundles [ 'minimatch', 'cli' ]
560 info /usr/local/lib/node_modules/jshint unbuild
561 verbose from cache /usr/local/lib/node_modules/jshint/package.json
562 info preuninstall jshint@0.7.1
563 info uninstall jshint@0.7.1
564 verbose true,/usr/local/lib/node_modules,/usr/local/lib/node_modules unbuild jshint@0.7.1
565 verbose /usr/local/bin,[object Object] binRoot
566 info postuninstall jshint@0.7.1
567 error Error: ENOENT, chmod '/usr/local/lib/node_modules/jshint/bin/hint'
567 error { [Error: ENOENT, chmod '/usr/local/lib/node_modules/jshint/bin/hint']
567 error errno: 34,
567 error code: 'ENOENT',
567 error path: '/usr/local/lib/node_modules/jshint/bin/hint' }
568 error You may report this log at:
568 error <http://github.com/isaacs/npm/issues>
568 error or email it to:
568 error <npm-@googlegroups.com>
569 error System Linux 2.6.26-2-xen-amd64
570 error command "node" "/usr/local/bin/npm" "install" "-g" "jshint"
571 error cwd /opt/etherpad-lite
572 error node -v v0.8.1
573 error npm -v 1.1.33
574 error path /usr/local/lib/node_modules/jshint/bin/hint
575 error code ENOENT
576 error message ENOENT, chmod '/usr/local/lib/node_modules/jshint/bin/hint'
577 error errno 34
578 error 34 errno
579 verbose exit [ 34, true ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment