Skip to content

Instantly share code, notes, and snippets.

@lukasz-zak
Created November 21, 2013 08:45
Show Gist options
  • Save lukasz-zak/7578038 to your computer and use it in GitHub Desktop.
Save lukasz-zak/7578038 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
10000 silly gunzTarPerm extractEntry lib/public/favicon.ico
10001 silly gunzTarPerm modified mode [ 'lib/public/favicon.ico', 438, 420 ]
10002 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
10003 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
10004 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
10005 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
10006 silly gunzTarPerm extractEntry lib/public/icons/page_white_edit.png
10007 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_edit.png', 438, 420 ]
10008 silly gunzTarPerm extractEntry lib/public/icons/page.png
10009 silly gunzTarPerm modified mode [ 'lib/public/icons/page.png', 438, 420 ]
10010 verbose cache add [ 'jade@0.26.3', null ]
10011 verbose cache add name=undefined spec="jade@0.26.3" args=["jade@0.26.3",null]
10012 verbose parsed url { protocol: null,
10012 verbose parsed url slashes: null,
10012 verbose parsed url auth: null,
10012 verbose parsed url host: null,
10012 verbose parsed url port: null,
10012 verbose parsed url hostname: null,
10012 verbose parsed url hash: null,
10012 verbose parsed url search: null,
10012 verbose parsed url query: null,
10012 verbose parsed url pathname: 'jade@0.26.3',
10012 verbose parsed url path: 'jade@0.26.3',
10012 verbose parsed url href: 'jade@0.26.3' }
10013 verbose cache add name="jade" spec="0.26.3" args=["jade","0.26.3"]
10014 verbose parsed url { protocol: null,
10014 verbose parsed url slashes: null,
10014 verbose parsed url auth: null,
10014 verbose parsed url host: null,
10014 verbose parsed url port: null,
10014 verbose parsed url hostname: null,
10014 verbose parsed url hash: null,
10014 verbose parsed url search: null,
10014 verbose parsed url query: null,
10014 verbose parsed url pathname: '0.26.3',
10014 verbose parsed url path: '0.26.3',
10014 verbose parsed url href: '0.26.3' }
10015 verbose addNamed [ 'jade', '0.26.3' ]
10016 verbose addNamed [ '0.26.3', '0.26.3' ]
10017 silly lockFile 7a3d3ea7-jade-0-26-3 jade@0.26.3
10018 verbose lock jade@0.26.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\7a3d3ea7-jade-0-26-3.lock
10019 verbose cache add [ 'diff@1.0.2', null ]
10020 verbose cache add name=undefined spec="diff@1.0.2" args=["diff@1.0.2",null]
10021 verbose parsed url { protocol: null,
10021 verbose parsed url slashes: null,
10021 verbose parsed url auth: null,
10021 verbose parsed url host: null,
10021 verbose parsed url port: null,
10021 verbose parsed url hostname: null,
10021 verbose parsed url hash: null,
10021 verbose parsed url search: null,
10021 verbose parsed url query: null,
10021 verbose parsed url pathname: 'diff@1.0.2',
10021 verbose parsed url path: 'diff@1.0.2',
10021 verbose parsed url href: 'diff@1.0.2' }
10022 verbose cache add name="diff" spec="1.0.2" args=["diff","1.0.2"]
10023 verbose parsed url { protocol: null,
10023 verbose parsed url slashes: null,
10023 verbose parsed url auth: null,
10023 verbose parsed url host: null,
10023 verbose parsed url port: null,
10023 verbose parsed url hostname: null,
10023 verbose parsed url hash: null,
10023 verbose parsed url search: null,
10023 verbose parsed url query: null,
10023 verbose parsed url pathname: '1.0.2',
10023 verbose parsed url path: '1.0.2',
10023 verbose parsed url href: '1.0.2' }
10024 verbose addNamed [ 'diff', '1.0.2' ]
10025 verbose addNamed [ '1.0.2', '1.0.2' ]
10026 silly lockFile 314815e6-diff-1-0-2 diff@1.0.2
10027 verbose lock diff@1.0.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\314815e6-diff-1-0-2.lock
10028 verbose cache add [ 'debug@*', null ]
10029 verbose cache add name=undefined spec="debug@*" args=["debug@*",null]
10030 verbose parsed url { protocol: null,
10030 verbose parsed url slashes: null,
10030 verbose parsed url auth: null,
10030 verbose parsed url host: null,
10030 verbose parsed url port: null,
10030 verbose parsed url hostname: null,
10030 verbose parsed url hash: null,
10030 verbose parsed url search: null,
10030 verbose parsed url query: null,
10030 verbose parsed url pathname: 'debug@*',
10030 verbose parsed url path: 'debug@*',
10030 verbose parsed url href: 'debug@*' }
10031 verbose cache add name="debug" spec="*" args=["debug","*"]
10032 verbose parsed url { protocol: null,
10032 verbose parsed url slashes: null,
10032 verbose parsed url auth: null,
10032 verbose parsed url host: null,
10032 verbose parsed url port: null,
10032 verbose parsed url hostname: null,
10032 verbose parsed url hash: null,
10032 verbose parsed url search: null,
10032 verbose parsed url query: null,
10032 verbose parsed url pathname: '*',
10032 verbose parsed url path: '*',
10032 verbose parsed url href: '*' }
10033 verbose addNamed [ 'debug', '*' ]
10034 verbose addNamed [ null, '*' ]
10035 silly lockFile 3ac45eff-debug debug@*
10036 verbose lock debug@* C:\Users\lukasz.zak\AppData\Roaming\npm-cache\3ac45eff-debug.lock
10037 verbose cache add [ 'glob@3.2.1', null ]
10038 verbose cache add name=undefined spec="glob@3.2.1" args=["glob@3.2.1",null]
10039 verbose parsed url { protocol: null,
10039 verbose parsed url slashes: null,
10039 verbose parsed url auth: null,
10039 verbose parsed url host: null,
10039 verbose parsed url port: null,
10039 verbose parsed url hostname: null,
10039 verbose parsed url hash: null,
10039 verbose parsed url search: null,
10039 verbose parsed url query: null,
10039 verbose parsed url pathname: 'glob@3.2.1',
10039 verbose parsed url path: 'glob@3.2.1',
10039 verbose parsed url href: 'glob@3.2.1' }
10040 verbose cache add name="glob" spec="3.2.1" args=["glob","3.2.1"]
10041 verbose parsed url { protocol: null,
10041 verbose parsed url slashes: null,
10041 verbose parsed url auth: null,
10041 verbose parsed url host: null,
10041 verbose parsed url port: null,
10041 verbose parsed url hostname: null,
10041 verbose parsed url hash: null,
10041 verbose parsed url search: null,
10041 verbose parsed url query: null,
10041 verbose parsed url pathname: '3.2.1',
10041 verbose parsed url path: '3.2.1',
10041 verbose parsed url href: '3.2.1' }
10042 verbose addNamed [ 'glob', '3.2.1' ]
10043 verbose addNamed [ '3.2.1', '3.2.1' ]
10044 silly lockFile 83d909f9-glob-3-2-1 glob@3.2.1
10045 verbose lock glob@3.2.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\83d909f9-glob-3-2-1.lock
10046 verbose cache add [ 'commander@0.6.1', null ]
10047 verbose cache add name=undefined spec="commander@0.6.1" args=["commander@0.6.1",null]
10048 verbose parsed url { protocol: null,
10048 verbose parsed url slashes: null,
10048 verbose parsed url auth: null,
10048 verbose parsed url host: null,
10048 verbose parsed url port: null,
10048 verbose parsed url hostname: null,
10048 verbose parsed url hash: null,
10048 verbose parsed url search: null,
10048 verbose parsed url query: null,
10048 verbose parsed url pathname: 'commander@0.6.1',
10048 verbose parsed url path: 'commander@0.6.1',
10048 verbose parsed url href: 'commander@0.6.1' }
10049 verbose cache add name="commander" spec="0.6.1" args=["commander","0.6.1"]
10050 verbose parsed url { protocol: null,
10050 verbose parsed url slashes: null,
10050 verbose parsed url auth: null,
10050 verbose parsed url host: null,
10050 verbose parsed url port: null,
10050 verbose parsed url hostname: null,
10050 verbose parsed url hash: null,
10050 verbose parsed url search: null,
10050 verbose parsed url query: null,
10050 verbose parsed url pathname: '0.6.1',
10050 verbose parsed url path: '0.6.1',
10050 verbose parsed url href: '0.6.1' }
10051 verbose addNamed [ 'commander', '0.6.1' ]
10052 verbose addNamed [ '0.6.1', '0.6.1' ]
10053 silly lockFile fa16a2ce-commander-0-6-1 commander@0.6.1
10054 verbose lock commander@0.6.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\fa16a2ce-commander-0-6-1.lock
10055 verbose cache add [ 'growl@1.7.x', null ]
10056 verbose cache add name=undefined spec="growl@1.7.x" args=["growl@1.7.x",null]
10057 verbose parsed url { protocol: null,
10057 verbose parsed url slashes: null,
10057 verbose parsed url auth: null,
10057 verbose parsed url host: null,
10057 verbose parsed url port: null,
10057 verbose parsed url hostname: null,
10057 verbose parsed url hash: null,
10057 verbose parsed url search: null,
10057 verbose parsed url query: null,
10057 verbose parsed url pathname: 'growl@1.7.x',
10057 verbose parsed url path: 'growl@1.7.x',
10057 verbose parsed url href: 'growl@1.7.x' }
10058 verbose cache add name="growl" spec="1.7.x" args=["growl","1.7.x"]
10059 verbose parsed url { protocol: null,
10059 verbose parsed url slashes: null,
10059 verbose parsed url auth: null,
10059 verbose parsed url host: null,
10059 verbose parsed url port: null,
10059 verbose parsed url hostname: null,
10059 verbose parsed url hash: null,
10059 verbose parsed url search: null,
10059 verbose parsed url query: null,
10059 verbose parsed url pathname: '1.7.x',
10059 verbose parsed url path: '1.7.x',
10059 verbose parsed url href: '1.7.x' }
10060 verbose addNamed [ 'growl', '1.7.x' ]
10061 verbose addNamed [ null, '>=1.7.0-0 <1.8.0-0' ]
10062 silly lockFile 9f7e3aca-growl-1-7-x growl@1.7.x
10063 verbose lock growl@1.7.x C:\Users\lukasz.zak\AppData\Roaming\npm-cache\9f7e3aca-growl-1-7-x.lock
10064 http 304 https://registry.npmjs.org/mime
10065 silly registry.get cb [ 304,
10065 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10065 silly registry.get etag: '"7EO2K9LTTTQE0CBK2EEXXT9R"',
10065 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10065 silly registry.get 'content-length': '0' } ]
10066 verbose etag mime from cache
10067 silly addNameRange { name: 'debug', range: '*', hasData: false }
10068 silly addNameRange { name: 'growl', range: '>=1.7.0-0 <1.8.0-0', hasData: false }
10069 verbose registry.get debug not expired, no request
10070 silly addNameRange number 2 { name: 'debug', range: '*', hasData: true }
10071 silly addNameRange versions [ 'debug',
10071 silly addNameRange [ '0.0.1',
10071 silly addNameRange '0.1.0',
10071 silly addNameRange '0.2.0',
10071 silly addNameRange '0.3.0',
10071 silly addNameRange '0.4.0',
10071 silly addNameRange '0.4.1',
10071 silly addNameRange '0.5.0',
10071 silly addNameRange '0.6.0',
10071 silly addNameRange '0.7.0',
10071 silly addNameRange '0.7.1',
10071 silly addNameRange '0.7.2',
10071 silly addNameRange '0.7.3',
10071 silly addNameRange '0.7.4' ] ]
10072 verbose addNamed [ 'debug', '0.7.4' ]
10073 verbose addNamed [ '0.7.4', '0.7.4' ]
10074 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
10075 verbose lock debug@0.7.4 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\16160008-debug-0-7-4.lock
10076 verbose url raw jade/0.26.3
10077 verbose url resolving [ 'https://registry.npmjs.org/', './jade/0.26.3' ]
10078 verbose url resolved https://registry.npmjs.org/jade/0.26.3
10079 info trying registry request attempt 1 at 09:42:55
10080 verbose etag "F4GBFQ5TIM483SKCQPGCJBR9C"
10081 http GET https://registry.npmjs.org/jade/0.26.3
10082 verbose url raw diff/1.0.2
10083 verbose url resolving [ 'https://registry.npmjs.org/', './diff/1.0.2' ]
10084 verbose url resolved https://registry.npmjs.org/diff/1.0.2
10085 info trying registry request attempt 1 at 09:42:55
10086 verbose etag "AWPGLL1C2MWTDSOYLRIJ96P51"
10087 http GET https://registry.npmjs.org/diff/1.0.2
10088 silly gunzTarPerm extractEntry lib/public/icons/page_attach.png
10089 silly gunzTarPerm modified mode [ 'lib/public/icons/page_attach.png', 438, 420 ]
10090 silly gunzTarPerm extractEntry lib/public/icons/page_code.png
10091 silly gunzTarPerm modified mode [ 'lib/public/icons/page_code.png', 438, 420 ]
10092 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
10093 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
10094 silly addNameRange number 2 { name: 'mime', range: '>=1.2.9-0 <1.3.0-0', hasData: true }
10095 silly addNameRange versions [ 'mime',
10095 silly addNameRange [ '1.0.0',
10095 silly addNameRange '1.1.0',
10095 silly addNameRange '1.2.1',
10095 silly addNameRange '1.2.2',
10095 silly addNameRange '1.2.3',
10095 silly addNameRange '1.2.4',
10095 silly addNameRange '1.2.5',
10095 silly addNameRange '1.2.6',
10095 silly addNameRange '1.2.7',
10095 silly addNameRange '1.2.8',
10095 silly addNameRange '1.2.9',
10095 silly addNameRange '1.2.10',
10095 silly addNameRange '1.2.11' ] ]
10096 verbose addNamed [ 'mime', '1.2.11' ]
10097 verbose addNamed [ '1.2.11', '1.2.11' ]
10098 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
10099 verbose lock mime@1.2.11 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c4b0741f-mime-1-2-11.lock
10100 verbose url raw glob/3.2.1
10101 verbose url resolving [ 'https://registry.npmjs.org/', './glob/3.2.1' ]
10102 verbose url resolved https://registry.npmjs.org/glob/3.2.1
10103 info trying registry request attempt 1 at 09:42:55
10104 verbose etag "EP1CLCK5YVPMT5P5DD2LQO7K6"
10105 http GET https://registry.npmjs.org/glob/3.2.1
10106 verbose url raw commander/0.6.1
10107 verbose url resolving [ 'https://registry.npmjs.org/', './commander/0.6.1' ]
10108 verbose url resolved https://registry.npmjs.org/commander/0.6.1
10109 info trying registry request attempt 1 at 09:42:55
10110 verbose etag "27IZG02YYKQFVTUPHC3CC5OQ5"
10111 http GET https://registry.npmjs.org/commander/0.6.1
10112 verbose url raw growl
10113 verbose url resolving [ 'https://registry.npmjs.org/', './growl' ]
10114 verbose url resolved https://registry.npmjs.org/growl
10115 info trying registry request attempt 1 at 09:42:55
10116 verbose etag "6SD2371L0MQBHTWNPQDK6FYDW"
10117 http GET https://registry.npmjs.org/growl
10118 silly lockFile 3ac45eff-debug debug@*
10119 silly lockFile 3ac45eff-debug debug@*
10120 silly gunzTarPerm extractEntry lib/public/icons/page_copy.png
10121 silly gunzTarPerm modified mode [ 'lib/public/icons/page_copy.png', 438, 420 ]
10122 silly gunzTarPerm extractEntry lib/public/icons/page_delete.png
10123 silly gunzTarPerm modified mode [ 'lib/public/icons/page_delete.png', 438, 420 ]
10124 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
10125 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
10126 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
10127 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
10128 silly resolved [ { author:
10128 silly resolved { name: 'Robert Kieffer',
10128 silly resolved email: 'robert@broofa.com',
10128 silly resolved url: 'http://github.com/broofa' },
10128 silly resolved contributors: [ [Object] ],
10128 silly resolved dependencies: {},
10128 silly resolved description: 'A comprehensive library for mime-type mapping',
10128 silly resolved devDependencies: {},
10128 silly resolved keywords: [ 'util', 'mime' ],
10128 silly resolved main: 'mime.js',
10128 silly resolved name: 'mime',
10128 silly resolved repository: { url: 'https://github.com/broofa/node-mime', type: 'git' },
10128 silly resolved version: '1.2.11',
10128 silly resolved readme: '# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last \'/\' or \'.\'). E.g.\n\n var mime = require(\'mime\');\n\n mime.lookup(\'/path/to/file.txt\'); // => \'text/plain\'\n mime.lookup(\'file.txt\'); // => \'text/plain\'\n mime.lookup(\'.TXT\'); // => \'text/plain\'\n mime.lookup(\'htm\'); // => \'text/html\'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n mime.extension(\'text/html\'); // => \'html\'\n mime.extension(\'application/octet-stream\'); // => \'bin\'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n mime.charsets.lookup(\'text/plain\'); // => \'UTF-8\'\n\n(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n mime.define({\n \'text/x-some-format\': [\'x-sf\', \'x-sft\', \'x-sfml\'],\n \'application/x-my-type\': [\'x-mt\', \'x-mtt\'],\n // etc ...\n });\n\n mime.lookup(\'x-sft\'); // => \'text/x-some-format\'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n mime.extension(\'text/x-some-format\'); // => \'x-sf\'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache ".types" format file\n\n mime.load(\'./my_project.types\');\n\nThe .types file format is simple - See the `types` dir for examples.\n',
10128 silly resolved readmeFilename: 'README.md',
10128 silly resolved bugs: { url: 'https://github.com/broofa/node-mime/issues' },
10128 silly resolved homepage: 'https://github.com/broofa/node-mime',
10128 silly resolved _id: 'mime@1.2.11',
10128 silly resolved _from: 'mime@~1.2.9' } ]
10129 info install mime@1.2.11 into C:\Projects\trainingsservice\node_modules\express\node_modules\send
10130 info installOne mime@1.2.11
10131 info C:\Projects\trainingsservice\node_modules\express\node_modules\send\node_modules\mime unbuild
10132 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10133 silly lockFile ecb618a0-e-modules-send-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\express\node_modules\send\node_modules\mime
10134 verbose lock tar://C:\Projects\trainingsservice\node_modules\express\node_modules\send\node_modules\mime C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ecb618a0-e-modules-send-node-modules-mime.lock
10135 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10136 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2405ac6f-pm-cache-mime-1-2-11-package-tgz.lock
10137 silly gunzTarPerm modes [ '755', '644' ]
10138 silly gunzTarPerm extractEntry lib/public/icons/page_edit.png
10139 silly gunzTarPerm modified mode [ 'lib/public/icons/page_edit.png', 438, 420 ]
10140 silly gunzTarPerm extractEntry lib/public/icons/page_error.png
10141 silly gunzTarPerm modified mode [ 'lib/public/icons/page_error.png', 438, 420 ]
10142 silly gunzTarPerm extractEntry package.json
10143 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10144 silly gunzTarPerm extractEntry README.md
10145 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10146 silly gunzTarPerm extractEntry LICENSE
10147 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10148 silly gunzTarPerm extractEntry mime.js
10149 silly gunzTarPerm modified mode [ 'mime.js', 438, 420 ]
10150 silly gunzTarPerm extractEntry test.js
10151 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
10152 silly lockFile e0ca63bd-ntrib-watch-node-modules-tiny-lr tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\tiny-lr
10153 silly lockFile e0ca63bd-ntrib-watch-node-modules-tiny-lr tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\tiny-lr
10154 silly lockFile d0d24dcf--cache-tiny-lr-0-0-4-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tiny-lr\0.0.4\package.tgz
10155 silly lockFile d0d24dcf--cache-tiny-lr-0-0-4-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tiny-lr\0.0.4\package.tgz
10156 silly gunzTarPerm extractEntry lib/public/icons/page_excel.png
10157 silly gunzTarPerm modified mode [ 'lib/public/icons/page_excel.png', 438, 420 ]
10158 silly gunzTarPerm extractEntry lib/public/icons/page_find.png
10159 silly gunzTarPerm modified mode [ 'lib/public/icons/page_find.png', 438, 420 ]
10160 silly gunzTarPerm extractEntry types/mime.types
10161 silly gunzTarPerm modified mode [ 'types/mime.types', 438, 420 ]
10162 silly gunzTarPerm extractEntry types/node.types
10163 silly gunzTarPerm modified mode [ 'types/node.types', 438, 420 ]
10164 info preinstall tiny-lr@0.0.4
10165 silly gunzTarPerm extractEntry lib/public/icons/page_gear.png
10166 silly gunzTarPerm modified mode [ 'lib/public/icons/page_gear.png', 438, 420 ]
10167 silly gunzTarPerm extractEntry lib/public/icons/page_go.png
10168 silly gunzTarPerm modified mode [ 'lib/public/icons/page_go.png', 438, 420 ]
10169 verbose readDependencies using package.json deps
10170 verbose readDependencies using package.json deps
10171 silly gunzTarPerm extractEntry lib/public/icons/page_green.png
10172 silly gunzTarPerm modified mode [ 'lib/public/icons/page_green.png', 438, 420 ]
10173 silly gunzTarPerm extractEntry lib/public/icons/page_key.png
10174 silly gunzTarPerm modified mode [ 'lib/public/icons/page_key.png', 438, 420 ]
10175 verbose cache add [ 'qs@~0.5.2', null ]
10176 verbose cache add name=undefined spec="qs@~0.5.2" args=["qs@~0.5.2",null]
10177 verbose parsed url { protocol: null,
10177 verbose parsed url slashes: null,
10177 verbose parsed url auth: null,
10177 verbose parsed url host: null,
10177 verbose parsed url port: null,
10177 verbose parsed url hostname: null,
10177 verbose parsed url hash: null,
10177 verbose parsed url search: null,
10177 verbose parsed url query: null,
10177 verbose parsed url pathname: 'qs@~0.5.2',
10177 verbose parsed url path: 'qs@~0.5.2',
10177 verbose parsed url href: 'qs@~0.5.2' }
10178 verbose cache add name="qs" spec="~0.5.2" args=["qs","~0.5.2"]
10179 verbose parsed url { protocol: null,
10179 verbose parsed url slashes: null,
10179 verbose parsed url auth: null,
10179 verbose parsed url host: null,
10179 verbose parsed url port: null,
10179 verbose parsed url hostname: null,
10179 verbose parsed url hash: null,
10179 verbose parsed url search: null,
10179 verbose parsed url query: null,
10179 verbose parsed url pathname: '~0.5.2',
10179 verbose parsed url path: '~0.5.2',
10179 verbose parsed url href: '~0.5.2' }
10180 verbose addNamed [ 'qs', '~0.5.2' ]
10181 verbose addNamed [ null, '>=0.5.2-0 <0.6.0-0' ]
10182 silly lockFile 60f93a07-qs-0-5-2 qs@~0.5.2
10183 verbose lock qs@~0.5.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\60f93a07-qs-0-5-2.lock
10184 verbose cache add [ 'faye-websocket@~0.4.3', null ]
10185 verbose cache add name=undefined spec="faye-websocket@~0.4.3" args=["faye-websocket@~0.4.3",null]
10186 verbose parsed url { protocol: null,
10186 verbose parsed url slashes: null,
10186 verbose parsed url auth: null,
10186 verbose parsed url host: null,
10186 verbose parsed url port: null,
10186 verbose parsed url hostname: null,
10186 verbose parsed url hash: null,
10186 verbose parsed url search: null,
10186 verbose parsed url query: null,
10186 verbose parsed url pathname: 'faye-websocket@~0.4.3',
10186 verbose parsed url path: 'faye-websocket@~0.4.3',
10186 verbose parsed url href: 'faye-websocket@~0.4.3' }
10187 verbose cache add name="faye-websocket" spec="~0.4.3" args=["faye-websocket","~0.4.3"]
10188 verbose parsed url { protocol: null,
10188 verbose parsed url slashes: null,
10188 verbose parsed url auth: null,
10188 verbose parsed url host: null,
10188 verbose parsed url port: null,
10188 verbose parsed url hostname: null,
10188 verbose parsed url hash: null,
10188 verbose parsed url search: null,
10188 verbose parsed url query: null,
10188 verbose parsed url pathname: '~0.4.3',
10188 verbose parsed url path: '~0.4.3',
10188 verbose parsed url href: '~0.4.3' }
10189 verbose addNamed [ 'faye-websocket', '~0.4.3' ]
10190 verbose addNamed [ null, '>=0.4.3-0 <0.5.0-0' ]
10191 silly lockFile 20d63c72-faye-websocket-0-4-3 faye-websocket@~0.4.3
10192 verbose lock faye-websocket@~0.4.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\20d63c72-faye-websocket-0-4-3.lock
10193 verbose cache add [ 'noptify@latest', null ]
10194 verbose cache add name=undefined spec="noptify@latest" args=["noptify@latest",null]
10195 verbose parsed url { protocol: null,
10195 verbose parsed url slashes: null,
10195 verbose parsed url auth: null,
10195 verbose parsed url host: null,
10195 verbose parsed url port: null,
10195 verbose parsed url hostname: null,
10195 verbose parsed url hash: null,
10195 verbose parsed url search: null,
10195 verbose parsed url query: null,
10195 verbose parsed url pathname: 'noptify@latest',
10195 verbose parsed url path: 'noptify@latest',
10195 verbose parsed url href: 'noptify@latest' }
10196 verbose cache add name="noptify" spec="latest" args=["noptify","latest"]
10197 verbose parsed url { protocol: null,
10197 verbose parsed url slashes: null,
10197 verbose parsed url auth: null,
10197 verbose parsed url host: null,
10197 verbose parsed url port: null,
10197 verbose parsed url hostname: null,
10197 verbose parsed url hash: null,
10197 verbose parsed url search: null,
10197 verbose parsed url query: null,
10197 verbose parsed url pathname: 'latest',
10197 verbose parsed url path: 'latest',
10197 verbose parsed url href: 'latest' }
10198 verbose addNamed [ 'noptify', 'latest' ]
10199 verbose addNamed [ null, null ]
10200 silly lockFile ca287262-noptify-latest noptify@latest
10201 verbose lock noptify@latest C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ca287262-noptify-latest.lock
10202 verbose cache add [ 'debug@~0.7.0', null ]
10203 verbose cache add name=undefined spec="debug@~0.7.0" args=["debug@~0.7.0",null]
10204 verbose parsed url { protocol: null,
10204 verbose parsed url slashes: null,
10204 verbose parsed url auth: null,
10204 verbose parsed url host: null,
10204 verbose parsed url port: null,
10204 verbose parsed url hostname: null,
10204 verbose parsed url hash: null,
10204 verbose parsed url search: null,
10204 verbose parsed url query: null,
10204 verbose parsed url pathname: 'debug@~0.7.0',
10204 verbose parsed url path: 'debug@~0.7.0',
10204 verbose parsed url href: 'debug@~0.7.0' }
10205 verbose cache add name="debug" spec="~0.7.0" args=["debug","~0.7.0"]
10206 verbose parsed url { protocol: null,
10206 verbose parsed url slashes: null,
10206 verbose parsed url auth: null,
10206 verbose parsed url host: null,
10206 verbose parsed url port: null,
10206 verbose parsed url hostname: null,
10206 verbose parsed url hash: null,
10206 verbose parsed url search: null,
10206 verbose parsed url query: null,
10206 verbose parsed url pathname: '~0.7.0',
10206 verbose parsed url path: '~0.7.0',
10206 verbose parsed url href: '~0.7.0' }
10207 verbose addNamed [ 'debug', '~0.7.0' ]
10208 verbose addNamed [ null, '>=0.7.0-0 <0.8.0-0' ]
10209 silly lockFile 88a35dfc-debug-0-7-0 debug@~0.7.0
10210 verbose lock debug@~0.7.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\88a35dfc-debug-0-7-0.lock
10211 silly addNameRange { name: 'qs', range: '>=0.5.2-0 <0.6.0-0', hasData: false }
10212 silly addNameRange { name: 'faye-websocket',
10212 silly addNameRange range: '>=0.4.3-0 <0.5.0-0',
10212 silly addNameRange hasData: false }
10213 info addNameTag [ 'noptify', 'latest' ]
10214 silly addNameRange { name: 'debug', range: '>=0.7.0-0 <0.8.0-0', hasData: false }
10215 verbose registry.get qs not expired, no request
10216 silly addNameRange number 2 { name: 'qs', range: '>=0.5.2-0 <0.6.0-0', hasData: true }
10217 silly addNameRange versions [ 'qs',
10217 silly addNameRange [ '0.0.1',
10217 silly addNameRange '0.0.2',
10217 silly addNameRange '0.0.3',
10217 silly addNameRange '0.0.4',
10217 silly addNameRange '0.0.5',
10217 silly addNameRange '0.0.6',
10217 silly addNameRange '0.0.7',
10217 silly addNameRange '0.1.0',
10217 silly addNameRange '0.2.0',
10217 silly addNameRange '0.3.0',
10217 silly addNameRange '0.3.1',
10217 silly addNameRange '0.3.2',
10217 silly addNameRange '0.4.0',
10217 silly addNameRange '0.4.1',
10217 silly addNameRange '0.4.2',
10217 silly addNameRange '0.5.0',
10217 silly addNameRange '0.5.1',
10217 silly addNameRange '0.5.2',
10217 silly addNameRange '0.5.3',
10217 silly addNameRange '0.5.4',
10217 silly addNameRange '0.5.5',
10217 silly addNameRange '0.5.6',
10217 silly addNameRange '0.6.0',
10217 silly addNameRange '0.6.1',
10217 silly addNameRange '0.6.2',
10217 silly addNameRange '0.6.3',
10217 silly addNameRange '0.6.4',
10217 silly addNameRange '0.6.5' ] ]
10218 verbose addNamed [ 'qs', '0.5.6' ]
10219 verbose addNamed [ '0.5.6', '0.5.6' ]
10220 silly lockFile 84168241-qs-0-5-6 qs@0.5.6
10221 verbose lock qs@0.5.6 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\84168241-qs-0-5-6.lock
10222 verbose registry.get debug not expired, no request
10223 silly addNameRange number 2 { name: 'debug', range: '>=0.7.0-0 <0.8.0-0', hasData: true }
10224 silly addNameRange versions [ 'debug',
10224 silly addNameRange [ '0.0.1',
10224 silly addNameRange '0.1.0',
10224 silly addNameRange '0.2.0',
10224 silly addNameRange '0.3.0',
10224 silly addNameRange '0.4.0',
10224 silly addNameRange '0.4.1',
10224 silly addNameRange '0.5.0',
10224 silly addNameRange '0.6.0',
10224 silly addNameRange '0.7.0',
10224 silly addNameRange '0.7.1',
10224 silly addNameRange '0.7.2',
10224 silly addNameRange '0.7.3',
10224 silly addNameRange '0.7.4' ] ]
10225 verbose addNamed [ 'debug', '0.7.4' ]
10226 verbose addNamed [ '0.7.4', '0.7.4' ]
10227 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
10228 verbose lock debug@0.7.4 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\16160008-debug-0-7-4.lock
10229 silly gunzTarPerm extractEntry lib/public/icons/page_lightning.png
10230 silly gunzTarPerm modified mode [ 'lib/public/icons/page_lightning.png', 438, 420 ]
10231 silly gunzTarPerm extractEntry lib/public/icons/page_link.png
10232 silly gunzTarPerm modified mode [ 'lib/public/icons/page_link.png', 438, 420 ]
10233 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
10234 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
10235 verbose url raw noptify
10236 verbose url resolving [ 'https://registry.npmjs.org/', './noptify' ]
10237 verbose url resolved https://registry.npmjs.org/noptify
10238 info trying registry request attempt 1 at 09:42:55
10239 verbose etag "9XVO9ETRVF9ARC290XT8LZJC3"
10240 http GET https://registry.npmjs.org/noptify
10241 verbose url raw faye-websocket
10242 verbose url resolving [ 'https://registry.npmjs.org/', './faye-websocket' ]
10243 verbose url resolved https://registry.npmjs.org/faye-websocket
10244 info trying registry request attempt 1 at 09:42:55
10245 verbose etag "BW2G5863XLS1E0YB31LIUJCQR"
10246 http GET https://registry.npmjs.org/faye-websocket
10247 silly lockFile 88a35dfc-debug-0-7-0 debug@~0.7.0
10248 silly lockFile 88a35dfc-debug-0-7-0 debug@~0.7.0
10249 silly lockFile 84168241-qs-0-5-6 qs@0.5.6
10250 silly lockFile 84168241-qs-0-5-6 qs@0.5.6
10251 silly lockFile 60f93a07-qs-0-5-2 qs@~0.5.2
10252 silly lockFile 60f93a07-qs-0-5-2 qs@~0.5.2
10253 http 304 https://registry.npmjs.org/di
10254 silly registry.get cb [ 304,
10254 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10254 silly registry.get etag: '"4BUUIQQOOZIHOEVKYVMUSHMLX"',
10254 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10254 silly registry.get 'content-length': '0' } ]
10255 verbose etag di from cache
10256 silly gunzTarPerm extractEntry lib/public/icons/page_paintbrush.png
10257 silly gunzTarPerm modified mode [ 'lib/public/icons/page_paintbrush.png', 438, 420 ]
10258 silly gunzTarPerm extractEntry lib/public/icons/page_paste.png
10259 silly gunzTarPerm modified mode [ 'lib/public/icons/page_paste.png', 438, 420 ]
10260 silly addNameRange number 2 { name: 'di', range: '>=0.0.1-0 <0.1.0-0', hasData: true }
10261 silly addNameRange versions [ 'di', [ '0.0.0', '0.0.1' ] ]
10262 verbose addNamed [ 'di', '0.0.1' ]
10263 verbose addNamed [ '0.0.1', '0.0.1' ]
10264 silly lockFile fc79c1df-di-0-0-1 di@0.0.1
10265 verbose lock di@0.0.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\fc79c1df-di-0-0-1.lock
10266 silly gunzTarPerm extractEntry lib/public/icons/page_red.png
10267 silly gunzTarPerm modified mode [ 'lib/public/icons/page_red.png', 438, 420 ]
10268 silly gunzTarPerm extractEntry lib/public/icons/page_refresh.png
10269 silly gunzTarPerm modified mode [ 'lib/public/icons/page_refresh.png', 438, 420 ]
10270 http 304 https://registry.npmjs.org/hawk
10271 silly registry.get cb [ 304,
10271 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10271 silly registry.get etag: '"4V6F9H6DH8DYRLRIEZ2D4XVFW"',
10271 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10271 silly registry.get 'content-length': '0' } ]
10272 verbose etag hawk from cache
10273 http 304 https://registry.npmjs.org/socket.io
10274 silly registry.get cb [ 304,
10274 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10274 silly registry.get etag: '"3378V8BWRBQ8OM17YSLTFNABW"',
10274 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10274 silly registry.get 'content-length': '0' } ]
10275 verbose etag socket.io from cache
10276 silly gunzTarPerm extractEntry lib/public/icons/page_save.png
10277 silly gunzTarPerm modified mode [ 'lib/public/icons/page_save.png', 438, 420 ]
10278 silly gunzTarPerm extractEntry lib/public/icons/page_white.png
10279 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white.png', 438, 420 ]
10280 silly lockFile fc79c1df-di-0-0-1 di@0.0.1
10281 silly lockFile fc79c1df-di-0-0-1 di@0.0.1
10282 silly lockFile 8333ef40-di-0-0-1 di@~0.0.1
10283 silly lockFile 8333ef40-di-0-0-1 di@~0.0.1
10284 silly addNameRange number 2 { name: 'hawk', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
10285 silly addNameRange versions [ 'hawk',
10285 silly addNameRange [ '0.0.1',
10285 silly addNameRange '0.0.2',
10285 silly addNameRange '0.0.3',
10285 silly addNameRange '0.0.4',
10285 silly addNameRange '0.0.5',
10285 silly addNameRange '0.0.6',
10285 silly addNameRange '0.0.7',
10285 silly addNameRange '0.0.8',
10285 silly addNameRange '0.1.0',
10285 silly addNameRange '0.2.0',
10285 silly addNameRange '0.3.0',
10285 silly addNameRange '0.4.0',
10285 silly addNameRange '0.5.0',
10285 silly addNameRange '0.5.1',
10285 silly addNameRange '0.5.2',
10285 silly addNameRange '0.5.3',
10285 silly addNameRange '0.6.0',
10285 silly addNameRange '0.6.1',
10285 silly addNameRange '0.7.0',
10285 silly addNameRange '0.7.1',
10285 silly addNameRange '0.8.1',
10285 silly addNameRange '0.9.0',
10285 silly addNameRange '0.10.0',
10285 silly addNameRange '0.10.1',
10285 silly addNameRange '0.10.2',
10285 silly addNameRange '0.11.0',
10285 silly addNameRange '0.11.1',
10285 silly addNameRange '0.12.0',
10285 silly addNameRange '0.12.1',
10285 silly addNameRange '0.12.2',
10285 silly addNameRange '0.13.0',
10285 silly addNameRange '0.13.1',
10285 silly addNameRange '0.14.0',
10285 silly addNameRange '0.15.0',
10285 silly addNameRange '1.0.0',
10285 silly addNameRange '1.1.0-pre',
10285 silly addNameRange '1.1.1',
10285 silly addNameRange '1.1.2' ] ]
10286 verbose addNamed [ 'hawk', '1.0.0' ]
10287 verbose addNamed [ '1.0.0', '1.0.0' ]
10288 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
10289 verbose lock hawk@1.0.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\1ca87dbe-hawk-1-0-0.lock
10290 silly addNameRange number 2 { name: 'socket.io',
10290 silly addNameRange range: '>=0.9.13-0 <0.10.0-0',
10290 silly addNameRange hasData: true }
10291 silly addNameRange versions [ 'socket.io',
10291 silly addNameRange [ '0.3.8',
10291 silly addNameRange '0.4.0',
10291 silly addNameRange '0.4.1',
10291 silly addNameRange '0.5.1',
10291 silly addNameRange '0.5.3',
10291 silly addNameRange '0.6.0',
10291 silly addNameRange '0.6.1',
10291 silly addNameRange '0.6.3',
10291 silly addNameRange '0.6.4',
10291 silly addNameRange '0.6.5',
10291 silly addNameRange '0.6.6',
10291 silly addNameRange '0.6.7',
10291 silly addNameRange '0.6.8',
10291 silly addNameRange '0.6.9',
10291 silly addNameRange '0.6.10',
10291 silly addNameRange '0.6.11',
10291 silly addNameRange '0.6.12',
10291 silly addNameRange '0.6.14',
10291 silly addNameRange '0.6.15',
10291 silly addNameRange '0.6.16',
10291 silly addNameRange '0.6.17',
10291 silly addNameRange '0.6.18',
10291 silly addNameRange '0.7.0',
10291 silly addNameRange '0.7.1',
10291 silly addNameRange '0.7.2',
10291 silly addNameRange '0.7.3',
10291 silly addNameRange '0.7.4',
10291 silly addNameRange '0.7.5',
10291 silly addNameRange '0.7.6',
10291 silly addNameRange '0.7.7',
10291 silly addNameRange '0.7.8',
10291 silly addNameRange '0.7.9',
10291 silly addNameRange '0.7.10',
10291 silly addNameRange '0.7.11',
10291 silly addNameRange '0.8.0',
10291 silly addNameRange '0.8.1',
10291 silly addNameRange '0.8.2',
10291 silly addNameRange '0.8.3',
10291 silly addNameRange '0.8.4',
10291 silly addNameRange '0.8.5',
10291 silly addNameRange '0.8.6',
10291 silly addNameRange '0.8.7',
10291 silly addNameRange '0.9.0',
10291 silly addNameRange '0.9.1',
10291 silly addNameRange '0.9.1-1',
10291 silly addNameRange '0.9.2',
10291 silly addNameRange '0.9.3',
10291 silly addNameRange '0.9.4',
10291 silly addNameRange '0.9.5',
10291 silly addNameRange '0.9.6',
10291 silly addNameRange '0.9.7',
10291 silly addNameRange '0.9.8',
10291 silly addNameRange '0.9.9',
10291 silly addNameRange '0.9.10',
10291 silly addNameRange '0.9.11',
10291 silly addNameRange '0.9.12',
10291 silly addNameRange '0.9.13',
10291 silly addNameRange '0.9.14',
10291 silly addNameRange '0.9.15',
10291 silly addNameRange '0.9.16' ] ]
10292 verbose addNamed [ 'socket.io', '0.9.16' ]
10293 verbose addNamed [ '0.9.16', '0.9.16' ]
10294 silly lockFile a7acce22-socket-io-0-9-16 socket.io@0.9.16
10295 verbose lock socket.io@0.9.16 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a7acce22-socket-io-0-9-16.lock
10296 silly gunzTarPerm extractEntry lib/public/icons/page_white_acrobat.png
10297 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_acrobat.png', 438, 420 ]
10298 silly gunzTarPerm extractEntry lib/public/icons/page_white_actionscript.png
10299 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_actionscript.png', 438, 420 ]
10300 silly lockFile ecb618a0-e-modules-send-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\express\node_modules\send\node_modules\mime
10301 silly lockFile ecb618a0-e-modules-send-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\express\node_modules\send\node_modules\mime
10302 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10303 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10304 silly gunzTarPerm extractEntry lib/public/icons/page_white_add.png
10305 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_add.png', 438, 420 ]
10306 silly gunzTarPerm extractEntry lib/public/icons/page_white_c.png
10307 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_c.png', 438, 420 ]
10308 info preinstall mime@1.2.11
10309 verbose readDependencies using package.json deps
10310 silly lockFile c04eb996--contrib-watch-node-modules-gaze tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze
10311 silly lockFile c04eb996--contrib-watch-node-modules-gaze tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze
10312 verbose readDependencies using package.json deps
10313 silly resolved []
10314 verbose about to build C:\Projects\trainingsservice\node_modules\express\node_modules\send\node_modules\mime
10315 info build C:\Projects\trainingsservice\node_modules\express\node_modules\send\node_modules\mime
10316 verbose linkStuff [ false,
10316 verbose linkStuff false,
10316 verbose linkStuff false,
10316 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\express\\node_modules\\send\\node_modules' ]
10317 info linkStuff mime@1.2.11
10318 verbose linkBins mime@1.2.11
10319 verbose linkMans mime@1.2.11
10320 verbose rebuildBundles mime@1.2.11
10321 silly lockFile ce95f435-npm-cache-gaze-0-4-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\gaze\0.4.3\package.tgz
10322 silly lockFile ce95f435-npm-cache-gaze-0-4-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\gaze\0.4.3\package.tgz
10323 info install mime@1.2.11
10324 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
10325 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
10326 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
10327 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
10328 info postinstall mime@1.2.11
10329 silly resolved [ { author:
10329 silly resolved { name: 'Mikeal Rogers',
10329 silly resolved email: 'mikeal.rogers@gmail.com',
10329 silly resolved url: 'http://www.futurealoof.com' },
10329 silly resolved name: 'forever-agent',
10329 silly resolved description: 'HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.',
10329 silly resolved version: '0.5.0',
10329 silly resolved repository: { url: 'https://github.com/mikeal/forever-agent' },
10329 silly resolved main: 'index.js',
10329 silly resolved dependencies: {},
10329 silly resolved devDependencies: {},
10329 silly resolved optionalDependencies: {},
10329 silly resolved engines: { node: '*' },
10329 silly resolved readme: 'forever-agent\n=============\n\nHTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/mikeal/forever-agent/issues' },
10329 silly resolved homepage: 'https://github.com/mikeal/forever-agent',
10329 silly resolved _id: 'forever-agent@0.5.0',
10329 silly resolved _from: 'forever-agent@~0.5.0' },
10329 silly resolved { author:
10329 silly resolved { name: 'Mikeal Rogers',
10329 silly resolved email: 'mikeal.rogers@gmail.com',
10329 silly resolved url: 'http://www.futurealoof.com' },
10329 silly resolved name: 'tunnel-agent',
10329 silly resolved description: 'HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.',
10329 silly resolved version: '0.3.0',
10329 silly resolved repository: { url: 'https://github.com/mikeal/tunnel-agent' },
10329 silly resolved main: 'index.js',
10329 silly resolved dependencies: {},
10329 silly resolved devDependencies: {},
10329 silly resolved optionalDependencies: {},
10329 silly resolved engines: { node: '*' },
10329 silly resolved readme: 'tunnel-agent\n============\n\nHTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/mikeal/tunnel-agent/issues' },
10329 silly resolved homepage: 'https://github.com/mikeal/tunnel-agent',
10329 silly resolved _id: 'tunnel-agent@0.3.0',
10329 silly resolved _from: 'tunnel-agent@~0.3.0' },
10329 silly resolved { name: 'json-stringify-safe',
10329 silly resolved version: '5.0.0',
10329 silly resolved description: 'Like JSON.stringify, but doesn\'t blow up on circular refs',
10329 silly resolved main: 'stringify.js',
10329 silly resolved scripts: { test: 'node test.js' },
10329 silly resolved repository:
10329 silly resolved { type: 'git',
10329 silly resolved url: 'git://github.com/isaacs/json-stringify-safe' },
10329 silly resolved keywords: [ 'json', 'stringify', 'circular', 'safe' ],
10329 silly resolved author:
10329 silly resolved { name: 'Isaac Z. Schlueter',
10329 silly resolved email: 'i@izs.me',
10329 silly resolved url: 'http://blog.izs.me' },
10329 silly resolved license: 'BSD',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved readme: '# json-stringify-safe\n\nLike JSON.stringify, but doesn\'t throw on circular references.\n\n## Usage\n\nTakes the same arguments as `JSON.stringify`.\n\n```javascript\nvar stringify = require(\'json-stringify-safe\');\nvar circularObj = {};\ncircularObj.circularRef = circularObj;\ncircularObj.list = [ circularObj, circularObj ];\nconsole.log(stringify(circularObj, null, 2));\n```\n\nOutput:\n\n```json\n{\n "circularRef": "[Circular]",\n "list": [\n "[Circular]",\n "[Circular]"\n ]\n}\n```\n\n## Details\n\n```\nstringify(obj, serializer, indent, decycler)\n```\n\nThe first three arguments are the same as to JSON.stringify. The last\nis an argument that\'s only used when the object has been seen already.\n\nThe default `decycler` function returns the string `\'[Circular]\'`.\nIf, for example, you pass in `function(k,v){}` (return nothing) then it\nwill prune cycles. If you pass in `function(k,v){ return {foo: \'bar\'}}`,\nthen cyclical objects will always be represented as `{"foo":"bar"}` in\nthe result.\n\n```\nstringify.getSerialize(serializer, decycler)\n```\n\nReturns a serializer that can be used elsewhere. This is the actual\nfunction that\'s passed to JSON.stringify.\n',
10329 silly resolved bugs: { url: 'https://github.com/isaacs/json-stringify-safe/issues' },
10329 silly resolved homepage: 'https://github.com/isaacs/json-stringify-safe',
10329 silly resolved _id: 'json-stringify-safe@5.0.0',
10329 silly resolved _from: 'json-stringify-safe@~5.0.0' },
10329 silly resolved { author:
10329 silly resolved { name: 'Mikeal Rogers',
10329 silly resolved email: 'mikeal.rogers@gmail.com',
10329 silly resolved url: 'http://www.futurealoof.com' },
10329 silly resolved name: 'oauth-sign',
10329 silly resolved description: 'OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.',
10329 silly resolved version: '0.3.0',
10329 silly resolved repository: { url: 'https://github.com/mikeal/oauth-sign' },
10329 silly resolved main: 'index.js',
10329 silly resolved dependencies: {},
10329 silly resolved devDependencies: {},
10329 silly resolved optionalDependencies: {},
10329 silly resolved engines: { node: '*' },
10329 silly resolved scripts: { test: 'node test.js' },
10329 silly resolved readme: 'oauth-sign\n==========\n\nOAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. \n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/mikeal/oauth-sign/issues' },
10329 silly resolved homepage: 'https://github.com/mikeal/oauth-sign',
10329 silly resolved _id: 'oauth-sign@0.3.0',
10329 silly resolved _from: 'oauth-sign@~0.3.0' },
10329 silly resolved { name: 'qs',
10329 silly resolved description: 'querystring parser',
10329 silly resolved version: '0.6.5',
10329 silly resolved keywords: [ 'query string', 'parser', 'component' ],
10329 silly resolved repository:
10329 silly resolved { type: 'git',
10329 silly resolved url: 'git://github.com/visionmedia/node-querystring.git' },
10329 silly resolved devDependencies: { mocha: '*', 'expect.js': '*' },
10329 silly resolved scripts: { test: 'make test' },
10329 silly resolved author:
10329 silly resolved { name: 'TJ Holowaychuk',
10329 silly resolved email: 'tj@vision-media.ca',
10329 silly resolved url: 'http://tjholowaychuk.com' },
10329 silly resolved main: 'index',
10329 silly resolved engines: { node: '*' },
10329 silly resolved readme: '# node-querystring\n\n query string parser for node and the browser supporting nesting, as it was removed from `0.3.x`, so this library provides the previous and commonly desired behaviour (and twice as fast). Used by [express](http://expressjs.com), [connect](http://senchalabs.github.com/connect) and others.\n\n## Installation\n\n $ npm install qs\n\n## Examples\n\n```js\nvar qs = require(\'qs\');\n\nqs.parse(\'user[name][first]=Tobi&user[email]=tobi@learnboost.com\');\n// => { user: { name: { first: \'Tobi\' }, email: \'tobi@learnboost.com\' } }\n\nqs.stringify({ user: { name: \'Tobi\', email: \'tobi@learnboost.com\' }})\n// => user[name]=Tobi&user[email]=tobi%40learnboost.com\n```\n\n## Testing\n\nInstall dev dependencies:\n\n $ npm install -d\n\nand execute:\n\n $ make test\n\nbrowser:\n\n $ open test/browser/index.html\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\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 NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.',
10329 silly resolved readmeFilename: 'Readme.md',
10329 silly resolved bugs: { url: 'https://github.com/visionmedia/node-querystring/issues' },
10329 silly resolved homepage: 'https://github.com/visionmedia/node-querystring',
10329 silly resolved _id: 'qs@0.6.5',
10329 silly resolved _from: 'qs@~0.6.0' },
10329 silly resolved { author:
10329 silly resolved { name: 'Mikeal Rogers',
10329 silly resolved email: 'mikeal.rogers@gmail.com',
10329 silly resolved url: 'http://www.futurealoof.com' },
10329 silly resolved name: 'aws-sign',
10329 silly resolved description: 'AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.',
10329 silly resolved version: '0.3.0',
10329 silly resolved repository: { url: 'https://github.com/mikeal/aws-sign' },
10329 silly resolved main: 'index.js',
10329 silly resolved dependencies: {},
10329 silly resolved devDependencies: {},
10329 silly resolved optionalDependencies: {},
10329 silly resolved engines: { node: '*' },
10329 silly resolved readme: 'aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/mikeal/aws-sign/issues' },
10329 silly resolved homepage: 'https://github.com/mikeal/aws-sign',
10329 silly resolved _id: 'aws-sign@0.3.0',
10329 silly resolved _from: 'aws-sign@~0.3.0' },
10329 silly resolved { author:
10329 silly resolved { name: 'Mikeal Rogers',
10329 silly resolved email: 'mikeal.rogers@gmail.com',
10329 silly resolved url: 'http://www.futurealoof.com' },
10329 silly resolved name: 'cookie-jar',
10329 silly resolved description: 'Cookie Jar. Originally pulled form tobi, maintained as vendor in request, now a standalone module.',
10329 silly resolved version: '0.3.0',
10329 silly resolved repository: { url: 'https://github.com/mikeal/cookie-jar' },
10329 silly resolved main: 'index.js',
10329 silly resolved scripts: { test: 'node tests/run.js' },
10329 silly resolved dependencies: {},
10329 silly resolved devDependencies: {},
10329 silly resolved optionalDependencies: {},
10329 silly resolved engines: { node: '*' },
10329 silly resolved readme: 'cookie-jar\n==========\n\nCookie Jar. Originally pulled from LearnBoost/tobi, maintained as vendor in request, now a standalone module.\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/mikeal/cookie-jar/issues' },
10329 silly resolved homepage: 'https://github.com/mikeal/cookie-jar',
10329 silly resolved _id: 'cookie-jar@0.3.0',
10329 silly resolved _from: 'cookie-jar@~0.3.0' },
10329 silly resolved { author: { name: 'Joyent, Inc' },
10329 silly resolved name: 'http-signature',
10329 silly resolved description: 'Reference implementation of Joyent\'s HTTP Signature Scheme',
10329 silly resolved version: '0.10.0',
10329 silly resolved repository:
10329 silly resolved { type: 'git',
10329 silly resolved url: 'git://github.com/joyent/node-http-signature.git' },
10329 silly resolved engines: { node: '>=0.8' },
10329 silly resolved main: 'lib/index.js',
10329 silly resolved scripts: { test: './node_modules/.bin/tap tst/*.js' },
10329 silly resolved dependencies: { 'assert-plus': '0.1.2', asn1: '0.1.11', ctype: '0.5.2' },
10329 silly resolved devDependencies: { 'node-uuid': '1.4.0', tap: '0.4.2' },
10329 silly resolved readme: '# node-http-signature\n\nnode-http-signature is a node.js library that has client and server components\nfor Joyent\'s [HTTP Signature Scheme](http_signing.md).\n\n## Usage\n\nNote the example below signs a request with the same key/cert used to start an\nHTTP server. This is almost certainly not what you actaully want, but is just\nused to illustrate the API calls; you will need to provide your own key\nmanagement in addition to this library.\n\n### Client\n\n var fs = require(\'fs\');\n var https = require(\'https\');\n var httpSignature = require(\'http-signature\');\n\n var key = fs.readFileSync(\'./key.pem\', \'ascii\');\n\n var options = {\n host: \'localhost\',\n port: 8443,\n path: \'/\',\n method: \'GET\',\n headers: {}\n };\n\n // Adds a \'Date\' header in, signs it, and adds the\n // \'Authorization\' header in.\n var req = https.request(options, function(res) {\n console.log(res.statusCode);\n });\n\n\n httpSignature.sign(req, {\n key: key,\n keyId: \'./cert.pem\'\n });\n\n req.end();\n\n### Server\n\n var fs = require(\'fs\');\n var https = require(\'https\');\n var httpSignature = require(\'http-signature\');\n\n var options = {\n key: fs.readFileSync(\'./key.pem\'),\n cert: fs.readFileSync(\'./cert.pem\')\n };\n\n https.createServer(options, function (req, res) {\n var rc = 200;\n var parsed = httpSignature.parseRequest(req);\n var pub = fs.readFileSync(parsed.keyId, \'ascii\');\n if (!httpSignature.verifySignature(parsed, pub))\n rc = 401;\n\n res.writeHead(rc);\n res.end();\n }).listen(8443);\n\n## Installation\n\n npm install http-signature\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/joyent/node-http-signature/issues>.\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/joyent/node-http-signature/issues' },
10329 silly resolved homepage: 'https://github.com/joyent/node-http-signature',
10329 silly resolved _id: 'http-signature@0.10.0',
10329 silly resolved _from: 'http-signature@~0.10.0' },
10329 silly resolved { author:
10329 silly resolved { name: 'Felix Geisendörfer',
10329 silly resolved email: 'felix@debuggable.com',
10329 silly resolved url: 'http://debuggable.com/' },
10329 silly resolved name: 'form-data',
10329 silly resolved description: 'A module to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.',
10329 silly resolved version: '0.1.2',
10329 silly resolved repository:
10329 silly resolved { type: 'git',
10329 silly resolved url: 'git://github.com/felixge/node-form-data.git' },
10329 silly resolved main: './lib/form_data',
10329 silly resolved scripts: { test: 'node test/run.js' },
10329 silly resolved engines: { node: '>= 0.6' },
10329 silly resolved dependencies: { 'combined-stream': '~0.0.4', mime: '~1.2.11', async: '~0.2.9' },
10329 silly resolved licenses: [ [Object] ],
10329 silly resolved devDependencies:
10329 silly resolved { fake: '~0.2.2',
10329 silly resolved far: '~0.0.7',
10329 silly resolved formidable: '~1.0.14',
10329 silly resolved request: '~2.27.0' },
10329 silly resolved readme: '# Form-Data [![Build Status](https://travis-ci.org/felixge/node-form-data.png?branch=master)](https://travis-ci.org/felixge/node-form-data) [![Dependency Status](https://gemnasium.com/felixge/node-form-data.png)](https://gemnasium.com/felixge/node-form-data)\n\nA module to create readable ```"multipart/form-data"``` streams. Can be used to submit forms and file uploads to other web applications.\n\nThe API of this module is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].\n\n[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface\n[streams2-thing]: http://nodejs.org/api/stream.html#stream_compatibility_with_older_node_versions\n\n## Install\n\n```\nnpm install form-data\n```\n\n## Usage\n\nIn this example we are constructing a form with 3 fields that contain a string,\na buffer and a file stream.\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar fs = require(\'fs\');\n\nvar form = new FormData();\nform.append(\'my_field\', \'my value\');\nform.append(\'my_buffer\', new Buffer(10));\nform.append(\'my_file\', fs.createReadStream(\'/foo/bar.jpg\'));\n```\n\nAlso you can use http-response stream:\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar http = require(\'http\');\n\nvar form = new FormData();\n\nhttp.request(\'http://nodejs.org/images/logo.png\', function(response) {\n form.append(\'my_field\', \'my value\');\n form.append(\'my_buffer\', new Buffer(10));\n form.append(\'my_logo\', response);\n});\n```\n\nOr @mikeal\'s request stream:\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar request = require(\'request\');\n\nvar form = new FormData();\n\nform.append(\'my_field\', \'my value\');\nform.append(\'my_buffer\', new Buffer(10));\nform.append(\'my_logo\', request(\'http://nodejs.org/images/logo.png\'));\n```\n\nIn order to submit this form to a web application, call ```submit(url, [callback])``` method:\n\n``` javascript\nform.submit(\'http://example.org/\', function(err, res) {\n // res – response object (http.IncomingMessage) //\n res.resume(); // for node-0.10.x\n});\n\n```\n\nFor more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.\n\n### Alternative submission methods\n\nYou can use node\'s http client interface:\n\n``` javascript\nvar http = require(\'http\');\n\nvar request = http.request({\n method: \'post\',\n host: \'example.org\',\n path: \'/upload\',\n headers: form.getHeaders()\n});\n\nform.pipe(request);\n\nrequest.on(\'response\', function(res) {\n console.log(res.statusCode);\n});\n```\n\nOr if you would prefer the `\'Content-Length\'` header to be set for you:\n\n``` javascript\nform.submit(\'example.org/upload\', function(err, res) {\n console.log(res.statusCode);\n});\n```\n\nTo use custom headers and pre-known length in parts:\n\n``` javascript\nvar CRLF = \'\\r\\n\';\nvar form = new FormData();\n\nvar options = {\n header: CRLF + \'--\' + form.getBoundary() + CRLF + \'X-Custom-Header: 123\' + CRLF + CRLF,\n knownLength: 1\n};\n\nform.append(\'my_buffer\', buffer, options);\n\nform.submit(\'http://example.com/\', function(err, res) {\n if (err) throw err;\n console.log(\'Done\');\n});\n```\n\nForm-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal\'s request```), for some other types of streams you\'d need to provide "file"-related information manually:\n\n``` javascript\nsomeModule.stream(function(err, stdout, stderr) {\n if (err) throw err;\n\n var form = new FormData();\n\n form.append(\'file\', stdout, {\n filename: \'unicycle.jpg\',\n contentType: \'image/jpg\',\n knownLength: 19806\n });\n\n form.submit(\'http://example.com/\', function(err, res) {\n if (err) throw err;\n console.log(\'Done\');\n });\n});\n```\n\nFor edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:\n\n``` javascript\nform.submit({\n host: \'example.com\',\n path: \'/probably.php?extra=params\',\n auth: \'username:password\'\n}, function(err, res) {\n console.log(res.statusCode);\n});\n```\n\n## Notes\n\n- ```getLengthSync()``` method DOESN\'T calculate length for streams, use ```knownLength``` options as workaround.\n- If it feels like FormData hangs after submit and you\'re on ```node-0.10```, please check [Compatibility with Older Node Versions][streams2-thing]\n\n## TODO\n\n- Add new streams (0.10) support and try really hard not to break it for 0.8.x.\n\n## License\n\nForm-Data is licensed under the MIT license.\n',
10329 silly resolved readmeFilename: 'Readme.md',
10329 silly resolved bugs: { url: 'https://github.com/felixge/node-form-data/issues' },
10329 silly resolved homepage: 'https://github.com/felixge/node-form-data',
10329 silly resolved _id: 'form-data@0.1.2',
10329 silly resolved _from: 'form-data@~0.1.0' },
10329 silly resolved { name: 'node-uuid',
10329 silly resolved description: 'Rigorous implementation of RFC4122 (v1 and v4) UUIDs.',
10329 silly resolved url: 'http://github.com/broofa/node-uuid',
10329 silly resolved keywords: [ 'uuid', 'guid', 'rfc4122' ],
10329 silly resolved author: { name: 'Robert Kieffer', email: 'robert@broofa.com' },
10329 silly resolved contributors: [ [Object] ],
10329 silly resolved lib: '.',
10329 silly resolved main: './uuid.js',
10329 silly resolved repository: { type: 'git', url: 'https://github.com/broofa/node-uuid.git' },
10329 silly resolved version: '1.4.1',
10329 silly resolved readme: '# node-uuid\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Generate RFC4122 version 1 or version 4 UUIDs\n* Runs in node.js and all browsers.\n* Registered as a [ComponentJS](https://github.com/component/component) [component](https://github.com/component/component/wiki/Components) (\'broofa/node-uuid\').\n* Cryptographically strong random # generation on supporting platforms\n* 1.1K minified and gzip\'ed (Want something smaller? Check this [crazy shit](https://gist.github.com/982883) out! )\n* [Annotated source code](http://broofa.github.com/node-uuid/docs/uuid.html)\n\n## Getting Started\n\nInstall it in your browser:\n\n```html\n<script src="uuid.js"></script>\n```\n\nOr in node.js:\n\n```\nnpm install node-uuid\n```\n\n```javascript\nvar uuid = require(\'node-uuid\');\n```\n\nThen create some ids ...\n\n```javascript\n// Generate a v1 (time-based) id\nuuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n\n// Generate a v4 (random) id\nuuid.v4(); // -> \'110ec58a-a0f2-4ac4-8393-c866d813b8d1\'\n```\n\n## API\n\n### uuid.v1([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1.\n * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used.\n * `msecs` - (Number | Date) Time in milliseconds since unix Epoch. Default: The current time is used.\n * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNotes:\n\n1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v1({\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date(\'2011-11-01\').getTime(),\n nsecs: 5678\n}); // -> "710b962e-041c-11e1-9234-0123456789ab"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nvar arr = new Array(32); // -> []\nuuid.v1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuid.v1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n\n// Optionally use uuid.unparse() to get stringify the ids\nuuid.unparse(buffer); // -> \'02a2ce90-1432-11e1-8558-0b488e4fc115\'\nuuid.unparse(buffer, 16) // -> \'02a31cb0-1432-11e1-8558-0b488e4fc115\'\n```\n\n### uuid.v4([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n * `rng` - (Function) Random # generator to use. Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n random: [\n 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n ]\n});\n// -> "109156be-c4fb-41ea-b1b4-efe1671c5836"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nvar buffer = new Array(32); // (or \'new Buffer\' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### uuid.parse(id[, buffer[, offset]])\n### uuid.unparse(buffer[, offset])\n\nParse and unparse UUIDs\n\n * `id` - (String) UUID(-like) string\n * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. Default: A new Array or Buffer is used\n * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default: 0\n\nExample parsing and unparsing a UUID string\n\n```javascript\nvar bytes = uuid.parse(\'797ff043-11eb-11e1-80d6-510998755d10\'); // -> <Buffer 79 7f f0 43 11 eb 11 e1 80 d6 51 09 98 75 5d 10>\nvar string = uuid.unparse(bytes); // -> \'797ff043-11eb-11e1-80d6-510998755d10\'\n```\n\n### uuid.noConflict()\n\n(Browsers only) Set `uuid` property back to it\'s previous value.\n\nReturns the node-uuid object.\n\nExample:\n\n```javascript\nvar myUuid = uuid.noConflict();\nmyUuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n```\n\n## Deprecated APIs\n\nSupport for the following v1.2 APIs is available in v1.3, but is deprecated and will be removed in the next major version.\n\n### uuid([format [, buffer [, offset]]])\n\nuuid() has become uuid.v4(), and the `format` argument is now implicit in the `buffer` argument. (i.e. if you specify a buffer, the format is assumed to be binary).\n\n### uuid.BufferClass\n\nThe class of container created when generating binary uuid data if no buffer argument is specified. This is expected to go away, with no replacement API.\n\n## Testing\n\nIn node.js\n\n```\n> cd test\n> node test.js\n```\n\nIn Browser\n\n```\nopen test/test.html\n```\n\n### Benchmarking\n\nRequires node.js\n\n```\nnpm install uuid uuid-js\nnode benchmark/benchmark.js\n```\n\nFor a more complete discussion of node-uuid performance, please see the `benchmark/README.md` file, and the [benchmark wiki](https://github.com/broofa/node-uuid/wiki/Benchmark)\n\nFor browser performance [checkout the JSPerf tests](http://jsperf.com/node-uuid-performance).\n\n## Release notes\n\n### 1.4.0\n\n* Improved module context detection\n* Removed public RNG functions\n\n### 1.3.2\n\n* Improve tests and handling of v1() options (Issue #24)\n* Expose RNG option to allow for perf testing with different generators\n\n### 1.3.0\n\n* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!\n* Support for node.js crypto API\n* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/broofa/node-uuid/issues' },
10329 silly resolved homepage: 'https://github.com/broofa/node-uuid',
10329 silly resolved _id: 'node-uuid@1.4.1',
10329 silly resolved _from: 'node-uuid@~1.4.0' },
10329 silly resolved { author:
10329 silly resolved { name: 'Robert Kieffer',
10329 silly resolved email: 'robert@broofa.com',
10329 silly resolved url: 'http://github.com/broofa' },
10329 silly resolved contributors: [ [Object] ],
10329 silly resolved dependencies: {},
10329 silly resolved description: 'A comprehensive library for mime-type mapping',
10329 silly resolved devDependencies: {},
10329 silly resolved keywords: [ 'util', 'mime' ],
10329 silly resolved main: 'mime.js',
10329 silly resolved name: 'mime',
10329 silly resolved repository: { url: 'https://github.com/broofa/node-mime', type: 'git' },
10329 silly resolved version: '1.2.11',
10329 silly resolved readme: '# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last \'/\' or \'.\'). E.g.\n\n var mime = require(\'mime\');\n\n mime.lookup(\'/path/to/file.txt\'); // => \'text/plain\'\n mime.lookup(\'file.txt\'); // => \'text/plain\'\n mime.lookup(\'.TXT\'); // => \'text/plain\'\n mime.lookup(\'htm\'); // => \'text/html\'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n mime.extension(\'text/html\'); // => \'html\'\n mime.extension(\'application/octet-stream\'); // => \'bin\'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n mime.charsets.lookup(\'text/plain\'); // => \'UTF-8\'\n\n(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n mime.define({\n \'text/x-some-format\': [\'x-sf\', \'x-sft\', \'x-sfml\'],\n \'application/x-my-type\': [\'x-mt\', \'x-mtt\'],\n // etc ...\n });\n\n mime.lookup(\'x-sft\'); // => \'text/x-some-format\'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n mime.extension(\'text/x-some-format\'); // => \'x-sf\'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache ".types" format file\n\n mime.load(\'./my_project.types\');\n\nThe .types file format is simple - See the `types` dir for examples.\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/broofa/node-mime/issues' },
10329 silly resolved homepage: 'https://github.com/broofa/node-mime',
10329 silly resolved _id: 'mime@1.2.11',
10329 silly resolved _from: 'mime@~1.2.9',
10329 silly resolved scripts: {} },
10329 silly resolved { name: 'hawk',
10329 silly resolved description: 'HTTP Hawk Authentication Scheme',
10329 silly resolved version: '1.0.0',
10329 silly resolved author:
10329 silly resolved { name: 'Eran Hammer',
10329 silly resolved email: 'eran@hueniverse.com',
10329 silly resolved url: 'http://hueniverse.com' },
10329 silly resolved contributors: [],
10329 silly resolved repository: { type: 'git', url: 'git://github.com/hueniverse/hawk' },
10329 silly resolved main: 'index',
10329 silly resolved keywords: [ 'http', 'authentication', 'scheme', 'hawk' ],
10329 silly resolved engines: { node: '>=0.8.0' },
10329 silly resolved dependencies:
10329 silly resolved { hoek: '0.9.x',
10329 silly resolved boom: '0.4.x',
10329 silly resolved cryptiles: '0.2.x',
10329 silly resolved sntp: '0.2.x' },
10329 silly resolved devDependencies:
10329 silly resolved { lab: '0.1.x',
10329 silly resolved 'complexity-report': '0.x.x',
10329 silly resolved localStorage: '1.0.x' },
10329 silly resolved scripts: { test: 'make test-cov' },
10329 silly resolved licenses: [ [Object] ],
10329 silly resolved readme: '![hawk Logo](https://raw.github.com/hueniverse/hawk/master/images/hawk.png)\n\n<img align="right" src="https://raw.github.com/hueniverse/hawk/master/images/logo.png" /> **Hawk** is an HTTP authentication scheme using a message authentication code (MAC) algorithm to provide partial\nHTTP request cryptographic verification. For more complex use cases such as access delegation, see [Oz](https://github.com/hueniverse/oz).\n\nCurrent version: **1.0**\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/hawk.png)](http://travis-ci.org/hueniverse/hawk)\n\n# Table of Content\n\n- [**Introduction**](#introduction)\n - [Replay Protection](#replay-protection)\n - [Usage Example](#usage-example)\n - [Protocol Example](#protocol-example)\n - [Payload Validation](#payload-validation)\n - [Response Payload Validation](#response-payload-validation)\n - [Browser Support and Considerations](#browser-support-and-considerations)\n<p></p>\n- [**Single URI Authorization**](#single-uri-authorization)\n - [Usage Example](#bewit-usage-example)\n<p></p>\n- [**Security Considerations**](#security-considerations)\n - [MAC Keys Transmission](#mac-keys-transmission)\n - [Confidentiality of Requests](#confidentiality-of-requests)\n - [Spoofing by Counterfeit Servers](#spoofing-by-counterfeit-servers)\n - [Plaintext Storage of Credentials](#plaintext-storage-of-credentials)\n - [Entropy of Keys](#entropy-of-keys)\n - [Coverage Limitations](#coverage-limitations)\n - [Future Time Manipulation](#future-time-manipulation)\n - [Client Clock Poisoning](#client-clock-poisoning)\n - [Bewit Limitations](#bewit-limitations)\n - [Host Header Forgery](#host-header-forgery)\n<p></p>\n- [**Frequently Asked Questions**](#frequently-asked-questions)\n<p></p>\n- [**Acknowledgements**](#acknowledgements)\n\n# Introduction\n\n**Hawk** is an HTTP authentication scheme providing mechanisms for making authenticated HTTP requests with\npartial cryptographic verification of the request and response, covering the HTTP method, request URI, host,\nand optionally the request payload.\n\nSimilar to the HTTP [Digest access authentication schemes](http://www.ietf.org/rfc/rfc2617.txt), **Hawk** uses a set of\nclient credentials which include an identifier (e.g. username) and key (e.g. password). Likewise, just as with the Digest scheme,\nthe key is never included in authenticated requests. Instead, it is used to calculate a request MAC value which is\nincluded in its place.\n\nHowever, **Hawk** has several differences from Digest. In particular, while both use a nonce to limit the possibility of\nreplay attacks, in **Hawk** the client generates the nonce and uses it in combination with a timestamp, leading to less\n"chattiness" (interaction with the server).\n\nAlso unlike Digest, this scheme is not intended to protect the key itself (the password in Digest) because\nthe client and server must both have access to the key material in the clear.\n\nThe primary design goals of this scheme are to:\n* simplify and improve HTTP authentication for services that are unwilling or unable to deploy TLS for all resources,\n* secure credentials against leakage (e.g., when the client uses some form of dynamic configuration to determine where\n to send an authenticated request), and\n* avoid the exposure of credentials sent to a malicious server over an unauthenticated secure channel due to client\n failure to validate the server\'s identity as part of its TLS handshake.\n\nIn addition, **Hawk** supports a method for granting third-parties temporary access to individual resources using\na query parameter called _bewit_ (in falconry, a leather strap used to attach a tracking device to the leg of a hawk).\n\nThe **Hawk** scheme requires the establishment of a shared symmetric key between the client and the server,\nwhich is beyond the scope of this module. Typically, the shared credentials are established via an initial\nTLS-protected phase or derived from some other shared confidential information available to both the client\nand the server.\n\n\n## Replay Protection\n\nWithout replay protection, an attacker can use a compromised (but otherwise valid and authenticated) request more \nthan once, gaining access to a protected resource. To mitigate this, clients include both a nonce and a timestamp when \nmaking requests. This gives the server enough information to prevent replay attacks.\n\nThe nonce is generated by the client, and is a string unique across all requests with the same timestamp and\nkey identifier combination. \n\nThe timestamp enables the server to restrict the validity period of the credentials where requests occuring afterwards\nare rejected. It also removes the need for the server to retain an unbounded number of nonce values for future checks.\nBy default, **Hawk** uses a time window of 1 minute to allow for time skew between the client and server (which in\npractice translates to a maximum of 2 minutes as the skew can be positive or negative).\n\nUsing a timestamp requires the client\'s clock to be in sync with the server\'s clock. **Hawk** requires both the client\nclock and the server clock to use NTP to ensure synchronization. However, given the limitations of some client types\n(e.g. browsers) to deploy NTP, the server provides the client with its current time (in seconds precision) in response\nto a bad timestamp.\n\nThere is no expectation that the client will adjust its system clock to match the server (in fact, this would be a\npotential attack vector). Instead, the client only uses the server\'s time to calculate an offset used only\nfor communications with that particular server. The protocol rewards clients with synchronized clocks by reducing\nthe number of round trips required to authenticate the first request.\n\n\n## Usage Example\n\nServer code:\n\n```javascript\nvar Http = require(\'http\');\nvar Hawk = require(\'hawk\');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n var credentials = {\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\',\n user: \'Steve\'\n };\n\n return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n // Authenticate incoming request\n\n Hawk.server.authenticate(req, credentialsFunc, {}, function (err, credentials, artifacts) {\n\n // Prepare response\n\n var payload = (!err ? \'Hello \' + credentials.user + \' \' + artifacts.ext : \'Shoosh!\');\n var headers = { \'Content-Type\': \'text/plain\' };\n\n // Generate Server-Authorization response header\n\n var header = Hawk.server.header(credentials, artifacts, { payload: payload, contentType: headers[\'Content-Type\'] });\n headers[\'Server-Authorization\'] = header;\n\n // Send the response back\n\n res.writeHead(!err ? 200 : 401, headers);\n res.end(payload);\n });\n};\n\n// Start server\n\nHttp.createServer(handler).listen(8000, \'example.com\');\n```\n\nClient code:\n\n```javascript\nvar Request = require(\'request\');\nvar Hawk = require(\'hawk\');\n\n\n// Client credentials\n\nvar credentials = {\n id: \'dh37fgj492je\',\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n}\n\n// Request options\n\nvar requestOptions = {\n uri: \'http://example.com:8000/resource/1?b=1&a=2\',\n method: \'GET\',\n headers: {}\n};\n\n// Generate Authorization request header\n\nvar header = Hawk.client.header(\'http://example.com:8000/resource/1?b=1&a=2\', \'GET\', { credentials: credentials, ext: \'some-app-data\' });\nrequestOptions.headers.Authorization = header.field;\n\n// Send authenticated request\n\nRequest(requestOptions, function (error, response, body) {\n\n // Authenticate the server\'s response\n\n var isValid = Hawk.client.authenticate(response, credentials, header.artifacts, { payload: body });\n\n // Output results\n\n console.log(response.statusCode + \': \' + body + (isValid ? \' (valid)\' : \' (invalid)\'));\n});\n```\n\n**Hawk** utilized the [**SNTP**](https://github.com/hueniverse/sntp) module for time sync management. By default, the local\nmachine time is used. To automatically retrieve and synchronice the clock within the application, use the SNTP \'start()\' method.\n\n```javascript\nHawk.sntp.start();\n```\n\n\n## Protocol Example\n\nThe client attempts to access a protected resource without authentication, sending the following HTTP request to\nthe resource server:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\n```\n\nThe resource server returns an authentication challenge.\n\n```\nHTTP/1.1 401 Unauthorized\nWWW-Authenticate: Hawk\n```\n\nThe client has previously obtained a set of **Hawk** credentials for accessing resources on the "http://example.com/"\nserver. The **Hawk** credentials issued to the client include the following attributes:\n\n* Key identifier: dh37fgj492je\n* Key: werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\n* Algorithm: sha256\n\nThe client generates the authentication header by calculating a timestamp (e.g. the number of seconds since January 1,\n1970 00:00:00 GMT), generating a nonce, and constructing the normalized request string (each value followed by a newline\ncharacter):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nGET\n/resource/1?b=1&a=2\nexample.com\n8000\n\nsome-app-ext-data\n\n```\n\nThe request MAC is calculated using HMAC with the specified hash algorithm "sha256" and the key over the normalized request string.\nThe result is base64-encoded to produce the request MAC:\n\n```\n6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=\n```\n\nThe client includes the **Hawk** key identifier, timestamp, nonce, application specific data, and request MAC with the request using\nthe HTTP `Authorization` request header field:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", ext="some-app-ext-data", mac="6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE="\n```\n\nThe server validates the request by calculating the request MAC again based on the request received and verifies the validity\nand scope of the **Hawk** credentials. If valid, the server responds with the requested resource.\n\n\n### Payload Validation\n\n**Hawk** provides optional payload validation. When generating the authentication header, the client calculates a payload hash\nusing the specified hash algorithm. The hash is calculated over the concatenated value of (each followed by a newline character):\n* `hawk.1.payload`\n* the content-type in lowercase, without any parameters (e.g. `application/json`)\n* the request payload prior to any content encoding (the exact representation requirements should be specified by the server for payloads other than simple single-part ascii to ensure interoperability)\n\nFor example:\n\n* Payload: `Thank you for flying Hawk`\n* Content Type: `text/plain`\n* Hash (sha256): `Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=`\n\nResults in the following input to the payload hash function (newline terminated values):\n\n```\nhawk.1.payload\ntext/plain\nThank you for flying Hawk\n\n```\n\nWhich produces the following hash value:\n\n```\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\n```\n\nThe client constructs the normalized request string (newline terminated values):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nPOST\n/resource/1?a=1&b=2\nexample.com\n8000\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\nsome-app-ext-data\n\n```\n\nThen calculates the request MAC and includes the **Hawk** key identifier, timestamp, nonce, payload hash, application specific data,\nand request MAC, with the request using the HTTP `Authorization` request header field:\n\n```\nPOST /resource/1?a=1&b=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", hash="Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=", ext="some-app-ext-data", mac="aSe1DERmZuRl3pI36/9BdZmnErTw3sNzOOAUlfeKjVw="\n```\n\nIt is up to the server if and when it validates the payload for any given request, based solely on it\'s security policy\nand the nature of the data included.\n\nIf the payload is available at the time of authentication, the server uses the hash value provided by the client to construct\nthe normalized string and validates the MAC. If the MAC is valid, the server calculates the payload hash and compares the value\nwith the provided payload hash in the header. In many cases, checking the MAC first is faster than calculating the payload hash.\n\nHowever, if the payload is not available at authentication time (e.g. too large to fit in memory, streamed elsewhere, or processed\nat a different stage in the application), the server may choose to defer payload validation for later by retaining the hash value\nprovided by the client after validating the MAC.\n\nIt is important to note that MAC validation does not mean the hash value provided by the client is valid, only that the value\nincluded in the header was not modified. Without calculating the payload hash on the server and comparing it to the value provided\nby the client, the payload may be modified by an attacker.\n\n\n## Response Payload Validation\n\n**Hawk** provides partial response payload validation. The server includes the `Server-Authorization` response header which enables the\nclient to authenticate the response and ensure it is talking to the right server. **Hawk** defines the HTTP `Server-Authorization` header\nas a response header using the exact same syntax as the `Authorization` request header field.\n\nThe header is contructed using the same process as the client\'s request header. The server uses the same credentials and other\nartifacts provided by the client to constructs the normalized request string. The `ext` and `hash` values are replaced with\nnew values based on the server response. The rest as identical to those used by the client.\n\nThe result MAC digest is included with the optional `hash` and `ext` values:\n\n```\nServer-Authorization: Hawk mac="XIJRsMl/4oL+nn+vKoeVZPdCHXB4yJkNnBbTbHFZUYE=", hash="f9cDF/TDm7TkYRLnGwRMfeDzT6LixQVLvrIKhh0vgmM=", ext="response-specific"\n```\n\n\n## Browser Support and Considerations\n\nA browser script is provided for including using a `<script>` tag in [lib/browser.js](/lib/browser.js).\n\n**Hawk** relies on the _Server-Authorization_ and _WWW-Authenticate_ headers in its response to communicate with the client.\nTherefore, in case of CORS requests, it is important to consider sending _Access-Control-Expose-Headers_ with the value\n_"WWW-Authenticate, Server-Authorization"_ on each response from your server. As explained in the\n[specifications](http://www.w3.org/TR/cors/#access-control-expose-headers-response-header), it will indicate that these headers\ncan safely be accessed by the client (using getResponseHeader() on the XmlHttpRequest object). Otherwise you will be met with a\n["simple response header"](http://www.w3.org/TR/cors/#simple-response-header) which excludes these fields and would prevent the\nHawk client from authenticating the requests.You can read more about the why and how in this\n[article](http://www.html5rocks.com/en/tutorials/cors/#toc-adding-cors-support-to-the-server)\n\n\n# Single URI Authorization\n\nThere are cases in which limited and short-term access to a protected resource is granted to a third party which does not\nhave access to the shared credentials. For example, displaying a protected image on a web page accessed by anyone. **Hawk**\nprovides limited support for such URIs in the form of a _bewit_ - a URI query parameter appended to the request URI which contains\nthe necessary credentials to authenticate the request.\n\nBecause of the significant security risks involved in issuing such access, bewit usage is purposely limited only to GET requests\nand for a finite period of time. Both the client and server can issue bewit credentials, however, the server should not use the same\ncredentials as the client to maintain clear traceability as to who issued which credentials.\n\nIn order to simplify implementation, bewit credentials do not support single-use policy and can be replayed multiple times within\nthe granted access timeframe. \n\n\n## Bewit Usage Example\n\nServer code:\n\n```javascript\nvar Http = require(\'http\');\nvar Hawk = require(\'hawk\');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n var credentials = {\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n };\n\n return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n Hawk.uri.authenticate(req, credentialsFunc, {}, function (err, credentials, attributes) {\n\n res.writeHead(!err ? 200 : 401, { \'Content-Type\': \'text/plain\' });\n res.end(!err ? \'Access granted\' : \'Shoosh!\');\n });\n};\n\nHttp.createServer(handler).listen(8000, \'example.com\');\n```\n\nBewit code generation:\n\n```javascript\nvar Request = require(\'request\');\nvar Hawk = require(\'hawk\');\n\n\n// Client credentials\n\nvar credentials = {\n id: \'dh37fgj492je\',\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n}\n\n// Generate bewit\n\nvar duration = 60 * 5; // 5 Minutes\nvar bewit = Hawk.uri.getBewit(\'http://example.com:8080/resource/1?b=1&a=2\', { credentials: credentials, ttlSec: duration, ext: \'some-app-data\' });\nvar uri = \'http://example.com:8000/resource/1?b=1&a=2\' + \'&bewit=\' + bewit;\n```\n\n\n# Security Considerations\n\nThe greatest sources of security risks are usually found not in **Hawk** but in the policies and procedures surrounding its use.\nImplementers are strongly encouraged to assess how this module addresses their security requirements. This section includes\nan incomplete list of security considerations that must be reviewed and understood before deploying **Hawk** on the server.\nMany of the protections provided in **Hawk** depends on whether and how they are used.\n\n### MAC Keys Transmission\n\n**Hawk** does not provide any mechanism for obtaining or transmitting the set of shared credentials required. Any mechanism used\nto obtain **Hawk** credentials must ensure that these transmissions are protected using transport-layer mechanisms such as TLS.\n\n### Confidentiality of Requests\n\nWhile **Hawk** provides a mechanism for verifying the integrity of HTTP requests, it provides no guarantee of request\nconfidentiality. Unless other precautions are taken, eavesdroppers will have full access to the request content. Servers should\ncarefully consider the types of data likely to be sent as part of such requests, and employ transport-layer security mechanisms\nto protect sensitive resources.\n\n### Spoofing by Counterfeit Servers\n\n**Hawk** provides limited verification of the server authenticity. When receiving a response back from the server, the server\nmay choose to include a response `Server-Authorization` header which the client can use to verify the response. However, it is up to\nthe server to determine when such measure is included, to up to the client to enforce that policy.\n\nA hostile party could take advantage of this by intercepting the client\'s requests and returning misleading or otherwise\nincorrect responses. Service providers should consider such attacks when developing services using this protocol, and should\nrequire transport-layer security for any requests where the authenticity of the resource server or of server responses is an issue.\n\n### Plaintext Storage of Credentials\n\nThe **Hawk** key functions the same way passwords do in traditional authentication systems. In order to compute the request MAC,\nthe server must have access to the key in plaintext form. This is in contrast, for example, to modern operating systems, which\nstore only a one-way hash of user credentials.\n\nIf an attacker were to gain access to these keys - or worse, to the server\'s database of all such keys - he or she would be able\nto perform any action on behalf of any resource owner. Accordingly, it is critical that servers protect these keys from unauthorized\naccess.\n\n### Entropy of Keys\n\nUnless a transport-layer security protocol is used, eavesdroppers will have full access to authenticated requests and request\nMAC values, and will thus be able to mount offline brute-force attacks to recover the key used. Servers should be careful to\nassign keys which are long enough, and random enough, to resist such attacks for at least the length of time that the **Hawk**\ncredentials are valid.\n\nFor example, if the credentials are valid for two weeks, servers should ensure that it is not possible to mount a brute force\nattack that recovers the key in less than two weeks. Of course, servers are urged to err on the side of caution, and use the\nlongest key reasonable.\n\nIt is equally important that the pseudo-random number generator (PRNG) used to generate these keys be of sufficiently high\nquality. Many PRNG implementations generate number sequences that may appear to be random, but which nevertheless exhibit\npatterns or other weaknesses which make cryptanalysis or brute force attacks easier. Implementers should be careful to use\ncryptographically secure PRNGs to avoid these problems.\n\n### Coverage Limitations\n\nThe request MAC only covers the HTTP `Host` header and optionally the `Content-Type` header. It does not cover any other headers\nwhich can often affect how the request body is interpreted by the server. If the server behavior is influenced by the presence\nor value of such headers, an attacker can manipulate the request headers without being detected. Implementers should use the\n`ext` feature to pass application-specific information via the `Authorization` header which is protected by the request MAC.\n\nThe response authentication, when performed, only covers the response payload, content-type, and the request information \nprovided by the client in it\'s request (method, resource, timestamp, nonce, etc.). It does not cover the HTTP status code or\nany other response header field (e.g. Location) which can affect the client\'s behaviour.\n\n### Future Time Manipulation\n\nThe protocol relies on a clock sync between the client and server. To accomplish this, the server informs the client of its\ncurrent time when an invalid timestamp is received.\n\nIf an attacker is able to manipulate this information and cause the client to use an incorrect time, it would be able to cause\nthe client to generate authenticated requests using time in the future. Such requests will fail when sent by the client, and will\nnot likely leave a trace on the server (given the common implementation of nonce, if at all enforced). The attacker will then\nbe able to replay the request at the correct time without detection.\n\nThe client must only use the time information provided by the server if:\n* it was delivered over a TLS connection and the server identity has been verified, or\n* the `tsm` MAC digest calculated using the same client credentials over the timestamp has been verified.\n\n### Client Clock Poisoning\n\nWhen receiving a request with a bad timestamp, the server provides the client with its current time. The client must never use\nthe time received from the server to adjust its own clock, and must only use it to calculate an offset for communicating with\nthat particular server.\n\n### Bewit Limitations\n\nSpecial care must be taken when issuing bewit credentials to third parties. Bewit credentials are valid until expiration and cannot\nbe revoked or limited without using other means. Whatever resource they grant access to will be completely exposed to anyone with\naccess to the bewit credentials which act as bearer credentials for that particular resource. While bewit usage is limited to GET\nrequests only and therefore cannot be used to perform transactions or change server state, it can still be used to expose private\nand sensitive information.\n\n### Host Header Forgery\n\nHawk validates the incoming request MAC against the incoming HTTP Host header. However, unless the optional `host` and `port`\noptions are used with `server.authenticate()`, a malicous client can mint new host names pointing to the server\'s IP address and\nuse that to craft an attack by sending a valid request that\'s meant for another hostname than the one used by the server. Server\nimplementors must manually verify that the host header received matches their expectation (or use the options mentioned above).\n\n# Frequently Asked Questions\n\n### Where is the protocol specification?\n\nIf you are looking for some prose explaining how all this works, **this is it**. **Hawk** is being developed as an open source\nproject instead of a standard. In other words, the [code](/hueniverse/hawk/tree/master/lib) is the specification. Not sure about\nsomething? Open an issue!\n\n### Is it done?\n\nAt if version 0.10.0, **Hawk** is feature-complete. However, until this module reaches version 1.0.0 it is considered experimental\nand is likely to change. This also means your feedback and contribution are very welcome. Feel free to open issues with questions\nand suggestions.\n\n### Where can I find **Hawk** implementations in other languages?\n\n**Hawk**\'s only reference implementation is provided in JavaScript as a node.js module. However, others are actively porting it to other\nplatforms. There is already a [PHP](https://github.com/alexbilbie/PHP-Hawk),\n[.NET](https://github.com/pcibraro/hawknet), and [JAVA](https://github.com/wealdtech/hawk) libraries available. The full list\nis maintained [here](https://github.com/hueniverse/hawk/issues?labels=port). Please add an issue if you are working on another\nport. A cross-platform test-suite is in the works.\n\n### Why isn\'t the algorithm part of the challenge or dynamically negotiated?\n\nThe algorithm used is closely related to the key issued as different algorithms require different key sizes (and other\nrequirements). While some keys can be used for multiple algorithm, the protocol is designed to closely bind the key and algorithm\ntogether as part of the issued credentials.\n\n### Why is Host and Content-Type the only headers covered by the request MAC?\n\nIt is really hard to include other headers. Headers can be changed by proxies and other intermediaries and there is no\nwell-established way to normalize them. Many platforms change the case of header field names and values. The only\nstraight-forward solution is to include the headers in some blob (say, base64 encoded JSON) and include that with the request,\nan approach taken by JWT and other such formats. However, that design violates the HTTP header boundaries, repeats information,\nand introduces other security issues because firewalls will not be aware of these "hidden" headers. In addition, any information\nrepeated must be compared to the duplicated information in the header and therefore only moves the problem elsewhere.\n\n### Why not just use HTTP Digest?\n\nDigest requires pre-negotiation to establish a nonce. This means you can\'t just make a request - you must first send\na protocol handshake to the server. This pattern has become unacceptable for most web services, especially mobile\nwhere extra round-trip are costly.\n\n### Why bother with all this nonce and timestamp business?\n\n**Hawk** is an attempt to find a reasonable, practical compromise between security and usability. OAuth 1.0 got timestamp\nand nonces halfway right but failed when it came to scalability and consistent developer experience. **Hawk** addresses\nit by requiring the client to sync its clock, but provides it with tools to accomplish it.\n\nIn general, replay protection is a matter of application-specific threat model. It is less of an issue on a TLS-protected\nsystem where the clients are implemented using best practices and are under the control of the server. Instead of dropping\nreplay protection, **Hawk** offers a required time window and an optional nonce verification. Together, it provides developers\nwith the ability to decide how to enforce their security policy without impacting the client\'s implementation.\n\n### What are `app` and `dlg` in the authorization header and normalized mac string?\n\nThe original motivation for **Hawk** was to replace the OAuth 1.0 use cases. This included both a simple client-server mode which\nthis module is specifically designed for, and a delegated access mode which is being developed separately in\n[Oz](https://github.com/hueniverse/oz). In addition to the **Hawk** use cases, Oz requires another attribute: the application id `app`.\nThis provides binding between the credentials and the application in a way that prevents an attacker from tricking an application\nto use credentials issued to someone else. It also has an optional \'delegated-by\' attribute `dlg` which is the application id of the\napplication the credentials were directly issued to. The goal of these two additions is to allow Oz to utilize **Hawk** directly,\nbut with the additional security of delegated credentials.\n\n### What is the purpose of the static strings used in each normalized MAC input?\n\nWhen calculating a hash or MAC, a static prefix (tag) is added. The prefix is used to prevent MAC values from being\nused or reused for a purpose other than what they were created for (i.e. prevents switching MAC values between a request,\nresponse, and a bewit use cases). It also protects against expliots created after a potential change in how the protocol\ncreates the normalized string. For example, if a future version would switch the order of nonce and timestamp, it\ncan create an exploit opportunity for cases where the nonce is similar in format to a timestamp.\n\n### Does **Hawk** have anything to do with OAuth?\n\nShort answer: no.\n\n**Hawk** was originally proposed as the OAuth MAC Token specification. However, the OAuth working group in its consistent\nincompetence failed to produce a final, usable solution to address one of the most popular use cases of OAuth 1.0 - using it\nto authenticate simple client-server transactions (i.e. two-legged). As you can guess, the OAuth working group is still hard\nat work to produce more garbage.\n\n**Hawk** provides a simple HTTP authentication scheme for making client-server requests. It does not address the OAuth use case\nof delegating access to a third party. If you are looking for an OAuth alternative, check out [Oz](https://github.com/hueniverse/oz).\n\n\n# Acknowledgements\n\n**Hawk** is a derivative work of the [HTTP MAC Authentication Scheme](http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-token-05) proposal\nco-authored by Ben Adida, Adam Barth, and Eran Hammer, which in turn was based on the OAuth 1.0 community specification.\n\nSpecial thanks to Ben Laurie for his always insightful feedback and advice.\n\nThe **Hawk** logo was created by [Chris Carrasco](http://chriscarrasco.com).\n',
10329 silly resolved readmeFilename: 'README.md',
10329 silly resolved bugs: { url: 'https://github.com/hueniverse/hawk/issues' },
10329 silly resolved homepage: 'https://github.com/hueniverse/hawk',
10329 silly resolved _id: 'hawk@1.0.0',
10329 silly resolved _from: 'hawk@~1.0.0' } ]
10330 info install forever-agent@0.5.0 into C:\Projects\trainingsservice\node_modules\request
10331 info install tunnel-agent@0.3.0 into C:\Projects\trainingsservice\node_modules\request
10332 info install json-stringify-safe@5.0.0 into C:\Projects\trainingsservice\node_modules\request
10333 info install oauth-sign@0.3.0 into C:\Projects\trainingsservice\node_modules\request
10334 info install qs@0.6.5 into C:\Projects\trainingsservice\node_modules\request
10335 info install aws-sign@0.3.0 into C:\Projects\trainingsservice\node_modules\request
10336 info install cookie-jar@0.3.0 into C:\Projects\trainingsservice\node_modules\request
10337 info install http-signature@0.10.0 into C:\Projects\trainingsservice\node_modules\request
10338 info install form-data@0.1.2 into C:\Projects\trainingsservice\node_modules\request
10339 info install node-uuid@1.4.1 into C:\Projects\trainingsservice\node_modules\request
10340 info install mime@1.2.11 into C:\Projects\trainingsservice\node_modules\request
10341 info install hawk@1.0.0 into C:\Projects\trainingsservice\node_modules\request
10342 info installOne forever-agent@0.5.0
10343 info installOne tunnel-agent@0.3.0
10344 info installOne json-stringify-safe@5.0.0
10345 info installOne oauth-sign@0.3.0
10346 info installOne qs@0.6.5
10347 info installOne aws-sign@0.3.0
10348 info installOne cookie-jar@0.3.0
10349 info installOne http-signature@0.10.0
10350 info installOne form-data@0.1.2
10351 info installOne node-uuid@1.4.1
10352 info installOne mime@1.2.11
10353 info installOne hawk@1.0.0
10354 silly resolved [ { name: 'qs',
10354 silly resolved description: 'querystring parser',
10354 silly resolved version: '0.6.5',
10354 silly resolved keywords: [ 'query string', 'parser', 'component' ],
10354 silly resolved repository:
10354 silly resolved { type: 'git',
10354 silly resolved url: 'git://github.com/visionmedia/node-querystring.git' },
10354 silly resolved devDependencies: { mocha: '*', 'expect.js': '*' },
10354 silly resolved scripts: { test: 'make test' },
10354 silly resolved author:
10354 silly resolved { name: 'TJ Holowaychuk',
10354 silly resolved email: 'tj@vision-media.ca',
10354 silly resolved url: 'http://tjholowaychuk.com' },
10354 silly resolved main: 'index',
10354 silly resolved engines: { node: '*' },
10354 silly resolved readme: '# node-querystring\n\n query string parser for node and the browser supporting nesting, as it was removed from `0.3.x`, so this library provides the previous and commonly desired behaviour (and twice as fast). Used by [express](http://expressjs.com), [connect](http://senchalabs.github.com/connect) and others.\n\n## Installation\n\n $ npm install qs\n\n## Examples\n\n```js\nvar qs = require(\'qs\');\n\nqs.parse(\'user[name][first]=Tobi&user[email]=tobi@learnboost.com\');\n// => { user: { name: { first: \'Tobi\' }, email: \'tobi@learnboost.com\' } }\n\nqs.stringify({ user: { name: \'Tobi\', email: \'tobi@learnboost.com\' }})\n// => user[name]=Tobi&user[email]=tobi%40learnboost.com\n```\n\n## Testing\n\nInstall dev dependencies:\n\n $ npm install -d\n\nand execute:\n\n $ make test\n\nbrowser:\n\n $ open test/browser/index.html\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\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 NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.',
10354 silly resolved readmeFilename: 'Readme.md',
10354 silly resolved bugs: { url: 'https://github.com/visionmedia/node-querystring/issues' },
10354 silly resolved homepage: 'https://github.com/visionmedia/node-querystring',
10354 silly resolved _id: 'qs@0.6.5',
10354 silly resolved _from: 'qs@~0.6.0' },
10354 silly resolved { author:
10354 silly resolved { name: 'Mikeal Rogers',
10354 silly resolved email: 'mikeal.rogers@gmail.com',
10354 silly resolved url: 'http://www.futurealoof.com' },
10354 silly resolved name: 'aws-sign',
10354 silly resolved description: 'AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.',
10354 silly resolved version: '0.3.0',
10354 silly resolved repository: { url: 'https://github.com/mikeal/aws-sign' },
10354 silly resolved main: 'index.js',
10354 silly resolved dependencies: {},
10354 silly resolved devDependencies: {},
10354 silly resolved optionalDependencies: {},
10354 silly resolved engines: { node: '*' },
10354 silly resolved readme: 'aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/mikeal/aws-sign/issues' },
10354 silly resolved homepage: 'https://github.com/mikeal/aws-sign',
10354 silly resolved _id: 'aws-sign@0.3.0',
10354 silly resolved _from: 'aws-sign@~0.3.0' },
10354 silly resolved { author:
10354 silly resolved { name: 'Mikeal Rogers',
10354 silly resolved email: 'mikeal.rogers@gmail.com',
10354 silly resolved url: 'http://www.futurealoof.com' },
10354 silly resolved name: 'cookie-jar',
10354 silly resolved description: 'Cookie Jar. Originally pulled form tobi, maintained as vendor in request, now a standalone module.',
10354 silly resolved version: '0.3.0',
10354 silly resolved repository: { url: 'https://github.com/mikeal/cookie-jar' },
10354 silly resolved main: 'index.js',
10354 silly resolved scripts: { test: 'node tests/run.js' },
10354 silly resolved dependencies: {},
10354 silly resolved devDependencies: {},
10354 silly resolved optionalDependencies: {},
10354 silly resolved engines: { node: '*' },
10354 silly resolved readme: 'cookie-jar\n==========\n\nCookie Jar. Originally pulled from LearnBoost/tobi, maintained as vendor in request, now a standalone module.\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/mikeal/cookie-jar/issues' },
10354 silly resolved homepage: 'https://github.com/mikeal/cookie-jar',
10354 silly resolved _id: 'cookie-jar@0.3.0',
10354 silly resolved _from: 'cookie-jar@~0.3.0' },
10354 silly resolved { author: { name: 'Joyent, Inc' },
10354 silly resolved name: 'http-signature',
10354 silly resolved description: 'Reference implementation of Joyent\'s HTTP Signature Scheme',
10354 silly resolved version: '0.10.0',
10354 silly resolved repository:
10354 silly resolved { type: 'git',
10354 silly resolved url: 'git://github.com/joyent/node-http-signature.git' },
10354 silly resolved engines: { node: '>=0.8' },
10354 silly resolved main: 'lib/index.js',
10354 silly resolved scripts: { test: './node_modules/.bin/tap tst/*.js' },
10354 silly resolved dependencies: { 'assert-plus': '0.1.2', asn1: '0.1.11', ctype: '0.5.2' },
10354 silly resolved devDependencies: { 'node-uuid': '1.4.0', tap: '0.4.2' },
10354 silly resolved readme: '# node-http-signature\n\nnode-http-signature is a node.js library that has client and server components\nfor Joyent\'s [HTTP Signature Scheme](http_signing.md).\n\n## Usage\n\nNote the example below signs a request with the same key/cert used to start an\nHTTP server. This is almost certainly not what you actaully want, but is just\nused to illustrate the API calls; you will need to provide your own key\nmanagement in addition to this library.\n\n### Client\n\n var fs = require(\'fs\');\n var https = require(\'https\');\n var httpSignature = require(\'http-signature\');\n\n var key = fs.readFileSync(\'./key.pem\', \'ascii\');\n\n var options = {\n host: \'localhost\',\n port: 8443,\n path: \'/\',\n method: \'GET\',\n headers: {}\n };\n\n // Adds a \'Date\' header in, signs it, and adds the\n // \'Authorization\' header in.\n var req = https.request(options, function(res) {\n console.log(res.statusCode);\n });\n\n\n httpSignature.sign(req, {\n key: key,\n keyId: \'./cert.pem\'\n });\n\n req.end();\n\n### Server\n\n var fs = require(\'fs\');\n var https = require(\'https\');\n var httpSignature = require(\'http-signature\');\n\n var options = {\n key: fs.readFileSync(\'./key.pem\'),\n cert: fs.readFileSync(\'./cert.pem\')\n };\n\n https.createServer(options, function (req, res) {\n var rc = 200;\n var parsed = httpSignature.parseRequest(req);\n var pub = fs.readFileSync(parsed.keyId, \'ascii\');\n if (!httpSignature.verifySignature(parsed, pub))\n rc = 401;\n\n res.writeHead(rc);\n res.end();\n }).listen(8443);\n\n## Installation\n\n npm install http-signature\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/joyent/node-http-signature/issues>.\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/joyent/node-http-signature/issues' },
10354 silly resolved homepage: 'https://github.com/joyent/node-http-signature',
10354 silly resolved _id: 'http-signature@0.10.0',
10354 silly resolved _from: 'http-signature@~0.10.0' },
10354 silly resolved { author:
10354 silly resolved { name: 'Felix Geisendörfer',
10354 silly resolved email: 'felix@debuggable.com',
10354 silly resolved url: 'http://debuggable.com/' },
10354 silly resolved name: 'form-data',
10354 silly resolved description: 'A module to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.',
10354 silly resolved version: '0.1.2',
10354 silly resolved repository:
10354 silly resolved { type: 'git',
10354 silly resolved url: 'git://github.com/felixge/node-form-data.git' },
10354 silly resolved main: './lib/form_data',
10354 silly resolved scripts: { test: 'node test/run.js' },
10354 silly resolved engines: { node: '>= 0.6' },
10354 silly resolved dependencies: { 'combined-stream': '~0.0.4', mime: '~1.2.11', async: '~0.2.9' },
10354 silly resolved licenses: [ [Object] ],
10354 silly resolved devDependencies:
10354 silly resolved { fake: '~0.2.2',
10354 silly resolved far: '~0.0.7',
10354 silly resolved formidable: '~1.0.14',
10354 silly resolved request: '~2.27.0' },
10354 silly resolved readme: '# Form-Data [![Build Status](https://travis-ci.org/felixge/node-form-data.png?branch=master)](https://travis-ci.org/felixge/node-form-data) [![Dependency Status](https://gemnasium.com/felixge/node-form-data.png)](https://gemnasium.com/felixge/node-form-data)\n\nA module to create readable ```"multipart/form-data"``` streams. Can be used to submit forms and file uploads to other web applications.\n\nThe API of this module is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].\n\n[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface\n[streams2-thing]: http://nodejs.org/api/stream.html#stream_compatibility_with_older_node_versions\n\n## Install\n\n```\nnpm install form-data\n```\n\n## Usage\n\nIn this example we are constructing a form with 3 fields that contain a string,\na buffer and a file stream.\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar fs = require(\'fs\');\n\nvar form = new FormData();\nform.append(\'my_field\', \'my value\');\nform.append(\'my_buffer\', new Buffer(10));\nform.append(\'my_file\', fs.createReadStream(\'/foo/bar.jpg\'));\n```\n\nAlso you can use http-response stream:\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar http = require(\'http\');\n\nvar form = new FormData();\n\nhttp.request(\'http://nodejs.org/images/logo.png\', function(response) {\n form.append(\'my_field\', \'my value\');\n form.append(\'my_buffer\', new Buffer(10));\n form.append(\'my_logo\', response);\n});\n```\n\nOr @mikeal\'s request stream:\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar request = require(\'request\');\n\nvar form = new FormData();\n\nform.append(\'my_field\', \'my value\');\nform.append(\'my_buffer\', new Buffer(10));\nform.append(\'my_logo\', request(\'http://nodejs.org/images/logo.png\'));\n```\n\nIn order to submit this form to a web application, call ```submit(url, [callback])``` method:\n\n``` javascript\nform.submit(\'http://example.org/\', function(err, res) {\n // res – response object (http.IncomingMessage) //\n res.resume(); // for node-0.10.x\n});\n\n```\n\nFor more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.\n\n### Alternative submission methods\n\nYou can use node\'s http client interface:\n\n``` javascript\nvar http = require(\'http\');\n\nvar request = http.request({\n method: \'post\',\n host: \'example.org\',\n path: \'/upload\',\n headers: form.getHeaders()\n});\n\nform.pipe(request);\n\nrequest.on(\'response\', function(res) {\n console.log(res.statusCode);\n});\n```\n\nOr if you would prefer the `\'Content-Length\'` header to be set for you:\n\n``` javascript\nform.submit(\'example.org/upload\', function(err, res) {\n console.log(res.statusCode);\n});\n```\n\nTo use custom headers and pre-known length in parts:\n\n``` javascript\nvar CRLF = \'\\r\\n\';\nvar form = new FormData();\n\nvar options = {\n header: CRLF + \'--\' + form.getBoundary() + CRLF + \'X-Custom-Header: 123\' + CRLF + CRLF,\n knownLength: 1\n};\n\nform.append(\'my_buffer\', buffer, options);\n\nform.submit(\'http://example.com/\', function(err, res) {\n if (err) throw err;\n console.log(\'Done\');\n});\n```\n\nForm-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal\'s request```), for some other types of streams you\'d need to provide "file"-related information manually:\n\n``` javascript\nsomeModule.stream(function(err, stdout, stderr) {\n if (err) throw err;\n\n var form = new FormData();\n\n form.append(\'file\', stdout, {\n filename: \'unicycle.jpg\',\n contentType: \'image/jpg\',\n knownLength: 19806\n });\n\n form.submit(\'http://example.com/\', function(err, res) {\n if (err) throw err;\n console.log(\'Done\');\n });\n});\n```\n\nFor edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:\n\n``` javascript\nform.submit({\n host: \'example.com\',\n path: \'/probably.php?extra=params\',\n auth: \'username:password\'\n}, function(err, res) {\n console.log(res.statusCode);\n});\n```\n\n## Notes\n\n- ```getLengthSync()``` method DOESN\'T calculate length for streams, use ```knownLength``` options as workaround.\n- If it feels like FormData hangs after submit and you\'re on ```node-0.10```, please check [Compatibility with Older Node Versions][streams2-thing]\n\n## TODO\n\n- Add new streams (0.10) support and try really hard not to break it for 0.8.x.\n\n## License\n\nForm-Data is licensed under the MIT license.\n',
10354 silly resolved readmeFilename: 'Readme.md',
10354 silly resolved bugs: { url: 'https://github.com/felixge/node-form-data/issues' },
10354 silly resolved homepage: 'https://github.com/felixge/node-form-data',
10354 silly resolved _id: 'form-data@0.1.2',
10354 silly resolved _from: 'form-data@~0.1.0' },
10354 silly resolved { author:
10354 silly resolved { name: 'Mikeal Rogers',
10354 silly resolved email: 'mikeal.rogers@gmail.com',
10354 silly resolved url: 'http://www.futurealoof.com' },
10354 silly resolved name: 'forever-agent',
10354 silly resolved description: 'HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.',
10354 silly resolved version: '0.5.0',
10354 silly resolved repository: { url: 'https://github.com/mikeal/forever-agent' },
10354 silly resolved main: 'index.js',
10354 silly resolved dependencies: {},
10354 silly resolved devDependencies: {},
10354 silly resolved optionalDependencies: {},
10354 silly resolved engines: { node: '*' },
10354 silly resolved readme: 'forever-agent\n=============\n\nHTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/mikeal/forever-agent/issues' },
10354 silly resolved homepage: 'https://github.com/mikeal/forever-agent',
10354 silly resolved _id: 'forever-agent@0.5.0',
10354 silly resolved _from: 'forever-agent@~0.5.0' },
10354 silly resolved { author:
10354 silly resolved { name: 'Mikeal Rogers',
10354 silly resolved email: 'mikeal.rogers@gmail.com',
10354 silly resolved url: 'http://www.futurealoof.com' },
10354 silly resolved name: 'tunnel-agent',
10354 silly resolved description: 'HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.',
10354 silly resolved version: '0.3.0',
10354 silly resolved repository: { url: 'https://github.com/mikeal/tunnel-agent' },
10354 silly resolved main: 'index.js',
10354 silly resolved dependencies: {},
10354 silly resolved devDependencies: {},
10354 silly resolved optionalDependencies: {},
10354 silly resolved engines: { node: '*' },
10354 silly resolved readme: 'tunnel-agent\n============\n\nHTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/mikeal/tunnel-agent/issues' },
10354 silly resolved homepage: 'https://github.com/mikeal/tunnel-agent',
10354 silly resolved _id: 'tunnel-agent@0.3.0',
10354 silly resolved _from: 'tunnel-agent@~0.3.0' },
10354 silly resolved { name: 'json-stringify-safe',
10354 silly resolved version: '5.0.0',
10354 silly resolved description: 'Like JSON.stringify, but doesn\'t blow up on circular refs',
10354 silly resolved main: 'stringify.js',
10354 silly resolved scripts: { test: 'node test.js' },
10354 silly resolved repository:
10354 silly resolved { type: 'git',
10354 silly resolved url: 'git://github.com/isaacs/json-stringify-safe' },
10354 silly resolved keywords: [ 'json', 'stringify', 'circular', 'safe' ],
10354 silly resolved author:
10354 silly resolved { name: 'Isaac Z. Schlueter',
10354 silly resolved email: 'i@izs.me',
10354 silly resolved url: 'http://blog.izs.me' },
10354 silly resolved license: 'BSD',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved readme: '# json-stringify-safe\n\nLike JSON.stringify, but doesn\'t throw on circular references.\n\n## Usage\n\nTakes the same arguments as `JSON.stringify`.\n\n```javascript\nvar stringify = require(\'json-stringify-safe\');\nvar circularObj = {};\ncircularObj.circularRef = circularObj;\ncircularObj.list = [ circularObj, circularObj ];\nconsole.log(stringify(circularObj, null, 2));\n```\n\nOutput:\n\n```json\n{\n "circularRef": "[Circular]",\n "list": [\n "[Circular]",\n "[Circular]"\n ]\n}\n```\n\n## Details\n\n```\nstringify(obj, serializer, indent, decycler)\n```\n\nThe first three arguments are the same as to JSON.stringify. The last\nis an argument that\'s only used when the object has been seen already.\n\nThe default `decycler` function returns the string `\'[Circular]\'`.\nIf, for example, you pass in `function(k,v){}` (return nothing) then it\nwill prune cycles. If you pass in `function(k,v){ return {foo: \'bar\'}}`,\nthen cyclical objects will always be represented as `{"foo":"bar"}` in\nthe result.\n\n```\nstringify.getSerialize(serializer, decycler)\n```\n\nReturns a serializer that can be used elsewhere. This is the actual\nfunction that\'s passed to JSON.stringify.\n',
10354 silly resolved bugs: { url: 'https://github.com/isaacs/json-stringify-safe/issues' },
10354 silly resolved homepage: 'https://github.com/isaacs/json-stringify-safe',
10354 silly resolved _id: 'json-stringify-safe@5.0.0',
10354 silly resolved _from: 'json-stringify-safe@~5.0.0' },
10354 silly resolved { author:
10354 silly resolved { name: 'Mikeal Rogers',
10354 silly resolved email: 'mikeal.rogers@gmail.com',
10354 silly resolved url: 'http://www.futurealoof.com' },
10354 silly resolved name: 'oauth-sign',
10354 silly resolved description: 'OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.',
10354 silly resolved version: '0.3.0',
10354 silly resolved repository: { url: 'https://github.com/mikeal/oauth-sign' },
10354 silly resolved main: 'index.js',
10354 silly resolved dependencies: {},
10354 silly resolved devDependencies: {},
10354 silly resolved optionalDependencies: {},
10354 silly resolved engines: { node: '*' },
10354 silly resolved scripts: { test: 'node test.js' },
10354 silly resolved readme: 'oauth-sign\n==========\n\nOAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. \n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/mikeal/oauth-sign/issues' },
10354 silly resolved homepage: 'https://github.com/mikeal/oauth-sign',
10354 silly resolved _id: 'oauth-sign@0.3.0',
10354 silly resolved _from: 'oauth-sign@~0.3.0' },
10354 silly resolved { name: 'node-uuid',
10354 silly resolved description: 'Rigorous implementation of RFC4122 (v1 and v4) UUIDs.',
10354 silly resolved url: 'http://github.com/broofa/node-uuid',
10354 silly resolved keywords: [ 'uuid', 'guid', 'rfc4122' ],
10354 silly resolved author: { name: 'Robert Kieffer', email: 'robert@broofa.com' },
10354 silly resolved contributors: [ [Object] ],
10354 silly resolved lib: '.',
10354 silly resolved main: './uuid.js',
10354 silly resolved repository: { type: 'git', url: 'https://github.com/broofa/node-uuid.git' },
10354 silly resolved version: '1.4.1',
10354 silly resolved readme: '# node-uuid\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Generate RFC4122 version 1 or version 4 UUIDs\n* Runs in node.js and all browsers.\n* Registered as a [ComponentJS](https://github.com/component/component) [component](https://github.com/component/component/wiki/Components) (\'broofa/node-uuid\').\n* Cryptographically strong random # generation on supporting platforms\n* 1.1K minified and gzip\'ed (Want something smaller? Check this [crazy shit](https://gist.github.com/982883) out! )\n* [Annotated source code](http://broofa.github.com/node-uuid/docs/uuid.html)\n\n## Getting Started\n\nInstall it in your browser:\n\n```html\n<script src="uuid.js"></script>\n```\n\nOr in node.js:\n\n```\nnpm install node-uuid\n```\n\n```javascript\nvar uuid = require(\'node-uuid\');\n```\n\nThen create some ids ...\n\n```javascript\n// Generate a v1 (time-based) id\nuuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n\n// Generate a v4 (random) id\nuuid.v4(); // -> \'110ec58a-a0f2-4ac4-8393-c866d813b8d1\'\n```\n\n## API\n\n### uuid.v1([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1.\n * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used.\n * `msecs` - (Number | Date) Time in milliseconds since unix Epoch. Default: The current time is used.\n * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNotes:\n\n1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v1({\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date(\'2011-11-01\').getTime(),\n nsecs: 5678\n}); // -> "710b962e-041c-11e1-9234-0123456789ab"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nvar arr = new Array(32); // -> []\nuuid.v1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuid.v1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n\n// Optionally use uuid.unparse() to get stringify the ids\nuuid.unparse(buffer); // -> \'02a2ce90-1432-11e1-8558-0b488e4fc115\'\nuuid.unparse(buffer, 16) // -> \'02a31cb0-1432-11e1-8558-0b488e4fc115\'\n```\n\n### uuid.v4([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n * `rng` - (Function) Random # generator to use. Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n random: [\n 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n ]\n});\n// -> "109156be-c4fb-41ea-b1b4-efe1671c5836"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nvar buffer = new Array(32); // (or \'new Buffer\' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### uuid.parse(id[, buffer[, offset]])\n### uuid.unparse(buffer[, offset])\n\nParse and unparse UUIDs\n\n * `id` - (String) UUID(-like) string\n * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. Default: A new Array or Buffer is used\n * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default: 0\n\nExample parsing and unparsing a UUID string\n\n```javascript\nvar bytes = uuid.parse(\'797ff043-11eb-11e1-80d6-510998755d10\'); // -> <Buffer 79 7f f0 43 11 eb 11 e1 80 d6 51 09 98 75 5d 10>\nvar string = uuid.unparse(bytes); // -> \'797ff043-11eb-11e1-80d6-510998755d10\'\n```\n\n### uuid.noConflict()\n\n(Browsers only) Set `uuid` property back to it\'s previous value.\n\nReturns the node-uuid object.\n\nExample:\n\n```javascript\nvar myUuid = uuid.noConflict();\nmyUuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n```\n\n## Deprecated APIs\n\nSupport for the following v1.2 APIs is available in v1.3, but is deprecated and will be removed in the next major version.\n\n### uuid([format [, buffer [, offset]]])\n\nuuid() has become uuid.v4(), and the `format` argument is now implicit in the `buffer` argument. (i.e. if you specify a buffer, the format is assumed to be binary).\n\n### uuid.BufferClass\n\nThe class of container created when generating binary uuid data if no buffer argument is specified. This is expected to go away, with no replacement API.\n\n## Testing\n\nIn node.js\n\n```\n> cd test\n> node test.js\n```\n\nIn Browser\n\n```\nopen test/test.html\n```\n\n### Benchmarking\n\nRequires node.js\n\n```\nnpm install uuid uuid-js\nnode benchmark/benchmark.js\n```\n\nFor a more complete discussion of node-uuid performance, please see the `benchmark/README.md` file, and the [benchmark wiki](https://github.com/broofa/node-uuid/wiki/Benchmark)\n\nFor browser performance [checkout the JSPerf tests](http://jsperf.com/node-uuid-performance).\n\n## Release notes\n\n### 1.4.0\n\n* Improved module context detection\n* Removed public RNG functions\n\n### 1.3.2\n\n* Improve tests and handling of v1() options (Issue #24)\n* Expose RNG option to allow for perf testing with different generators\n\n### 1.3.0\n\n* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!\n* Support for node.js crypto API\n* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/broofa/node-uuid/issues' },
10354 silly resolved homepage: 'https://github.com/broofa/node-uuid',
10354 silly resolved _id: 'node-uuid@1.4.1',
10354 silly resolved _from: 'node-uuid@~1.4.0' },
10354 silly resolved { author:
10354 silly resolved { name: 'Robert Kieffer',
10354 silly resolved email: 'robert@broofa.com',
10354 silly resolved url: 'http://github.com/broofa' },
10354 silly resolved contributors: [ [Object] ],
10354 silly resolved dependencies: {},
10354 silly resolved description: 'A comprehensive library for mime-type mapping',
10354 silly resolved devDependencies: {},
10354 silly resolved keywords: [ 'util', 'mime' ],
10354 silly resolved main: 'mime.js',
10354 silly resolved name: 'mime',
10354 silly resolved repository: { url: 'https://github.com/broofa/node-mime', type: 'git' },
10354 silly resolved version: '1.2.11',
10354 silly resolved readme: '# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last \'/\' or \'.\'). E.g.\n\n var mime = require(\'mime\');\n\n mime.lookup(\'/path/to/file.txt\'); // => \'text/plain\'\n mime.lookup(\'file.txt\'); // => \'text/plain\'\n mime.lookup(\'.TXT\'); // => \'text/plain\'\n mime.lookup(\'htm\'); // => \'text/html\'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n mime.extension(\'text/html\'); // => \'html\'\n mime.extension(\'application/octet-stream\'); // => \'bin\'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n mime.charsets.lookup(\'text/plain\'); // => \'UTF-8\'\n\n(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n mime.define({\n \'text/x-some-format\': [\'x-sf\', \'x-sft\', \'x-sfml\'],\n \'application/x-my-type\': [\'x-mt\', \'x-mtt\'],\n // etc ...\n });\n\n mime.lookup(\'x-sft\'); // => \'text/x-some-format\'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n mime.extension(\'text/x-some-format\'); // => \'x-sf\'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache ".types" format file\n\n mime.load(\'./my_project.types\');\n\nThe .types file format is simple - See the `types` dir for examples.\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/broofa/node-mime/issues' },
10354 silly resolved homepage: 'https://github.com/broofa/node-mime',
10354 silly resolved _id: 'mime@1.2.11',
10354 silly resolved _from: 'mime@~1.2.9',
10354 silly resolved scripts: {} },
10354 silly resolved { name: 'hawk',
10354 silly resolved description: 'HTTP Hawk Authentication Scheme',
10354 silly resolved version: '1.0.0',
10354 silly resolved author:
10354 silly resolved { name: 'Eran Hammer',
10354 silly resolved email: 'eran@hueniverse.com',
10354 silly resolved url: 'http://hueniverse.com' },
10354 silly resolved contributors: [],
10354 silly resolved repository: { type: 'git', url: 'git://github.com/hueniverse/hawk' },
10354 silly resolved main: 'index',
10354 silly resolved keywords: [ 'http', 'authentication', 'scheme', 'hawk' ],
10354 silly resolved engines: { node: '>=0.8.0' },
10354 silly resolved dependencies:
10354 silly resolved { hoek: '0.9.x',
10354 silly resolved boom: '0.4.x',
10354 silly resolved cryptiles: '0.2.x',
10354 silly resolved sntp: '0.2.x' },
10354 silly resolved devDependencies:
10354 silly resolved { lab: '0.1.x',
10354 silly resolved 'complexity-report': '0.x.x',
10354 silly resolved localStorage: '1.0.x' },
10354 silly resolved scripts: { test: 'make test-cov' },
10354 silly resolved licenses: [ [Object] ],
10354 silly resolved readme: '![hawk Logo](https://raw.github.com/hueniverse/hawk/master/images/hawk.png)\n\n<img align="right" src="https://raw.github.com/hueniverse/hawk/master/images/logo.png" /> **Hawk** is an HTTP authentication scheme using a message authentication code (MAC) algorithm to provide partial\nHTTP request cryptographic verification. For more complex use cases such as access delegation, see [Oz](https://github.com/hueniverse/oz).\n\nCurrent version: **1.0**\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/hawk.png)](http://travis-ci.org/hueniverse/hawk)\n\n# Table of Content\n\n- [**Introduction**](#introduction)\n - [Replay Protection](#replay-protection)\n - [Usage Example](#usage-example)\n - [Protocol Example](#protocol-example)\n - [Payload Validation](#payload-validation)\n - [Response Payload Validation](#response-payload-validation)\n - [Browser Support and Considerations](#browser-support-and-considerations)\n<p></p>\n- [**Single URI Authorization**](#single-uri-authorization)\n - [Usage Example](#bewit-usage-example)\n<p></p>\n- [**Security Considerations**](#security-considerations)\n - [MAC Keys Transmission](#mac-keys-transmission)\n - [Confidentiality of Requests](#confidentiality-of-requests)\n - [Spoofing by Counterfeit Servers](#spoofing-by-counterfeit-servers)\n - [Plaintext Storage of Credentials](#plaintext-storage-of-credentials)\n - [Entropy of Keys](#entropy-of-keys)\n - [Coverage Limitations](#coverage-limitations)\n - [Future Time Manipulation](#future-time-manipulation)\n - [Client Clock Poisoning](#client-clock-poisoning)\n - [Bewit Limitations](#bewit-limitations)\n - [Host Header Forgery](#host-header-forgery)\n<p></p>\n- [**Frequently Asked Questions**](#frequently-asked-questions)\n<p></p>\n- [**Acknowledgements**](#acknowledgements)\n\n# Introduction\n\n**Hawk** is an HTTP authentication scheme providing mechanisms for making authenticated HTTP requests with\npartial cryptographic verification of the request and response, covering the HTTP method, request URI, host,\nand optionally the request payload.\n\nSimilar to the HTTP [Digest access authentication schemes](http://www.ietf.org/rfc/rfc2617.txt), **Hawk** uses a set of\nclient credentials which include an identifier (e.g. username) and key (e.g. password). Likewise, just as with the Digest scheme,\nthe key is never included in authenticated requests. Instead, it is used to calculate a request MAC value which is\nincluded in its place.\n\nHowever, **Hawk** has several differences from Digest. In particular, while both use a nonce to limit the possibility of\nreplay attacks, in **Hawk** the client generates the nonce and uses it in combination with a timestamp, leading to less\n"chattiness" (interaction with the server).\n\nAlso unlike Digest, this scheme is not intended to protect the key itself (the password in Digest) because\nthe client and server must both have access to the key material in the clear.\n\nThe primary design goals of this scheme are to:\n* simplify and improve HTTP authentication for services that are unwilling or unable to deploy TLS for all resources,\n* secure credentials against leakage (e.g., when the client uses some form of dynamic configuration to determine where\n to send an authenticated request), and\n* avoid the exposure of credentials sent to a malicious server over an unauthenticated secure channel due to client\n failure to validate the server\'s identity as part of its TLS handshake.\n\nIn addition, **Hawk** supports a method for granting third-parties temporary access to individual resources using\na query parameter called _bewit_ (in falconry, a leather strap used to attach a tracking device to the leg of a hawk).\n\nThe **Hawk** scheme requires the establishment of a shared symmetric key between the client and the server,\nwhich is beyond the scope of this module. Typically, the shared credentials are established via an initial\nTLS-protected phase or derived from some other shared confidential information available to both the client\nand the server.\n\n\n## Replay Protection\n\nWithout replay protection, an attacker can use a compromised (but otherwise valid and authenticated) request more \nthan once, gaining access to a protected resource. To mitigate this, clients include both a nonce and a timestamp when \nmaking requests. This gives the server enough information to prevent replay attacks.\n\nThe nonce is generated by the client, and is a string unique across all requests with the same timestamp and\nkey identifier combination. \n\nThe timestamp enables the server to restrict the validity period of the credentials where requests occuring afterwards\nare rejected. It also removes the need for the server to retain an unbounded number of nonce values for future checks.\nBy default, **Hawk** uses a time window of 1 minute to allow for time skew between the client and server (which in\npractice translates to a maximum of 2 minutes as the skew can be positive or negative).\n\nUsing a timestamp requires the client\'s clock to be in sync with the server\'s clock. **Hawk** requires both the client\nclock and the server clock to use NTP to ensure synchronization. However, given the limitations of some client types\n(e.g. browsers) to deploy NTP, the server provides the client with its current time (in seconds precision) in response\nto a bad timestamp.\n\nThere is no expectation that the client will adjust its system clock to match the server (in fact, this would be a\npotential attack vector). Instead, the client only uses the server\'s time to calculate an offset used only\nfor communications with that particular server. The protocol rewards clients with synchronized clocks by reducing\nthe number of round trips required to authenticate the first request.\n\n\n## Usage Example\n\nServer code:\n\n```javascript\nvar Http = require(\'http\');\nvar Hawk = require(\'hawk\');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n var credentials = {\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\',\n user: \'Steve\'\n };\n\n return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n // Authenticate incoming request\n\n Hawk.server.authenticate(req, credentialsFunc, {}, function (err, credentials, artifacts) {\n\n // Prepare response\n\n var payload = (!err ? \'Hello \' + credentials.user + \' \' + artifacts.ext : \'Shoosh!\');\n var headers = { \'Content-Type\': \'text/plain\' };\n\n // Generate Server-Authorization response header\n\n var header = Hawk.server.header(credentials, artifacts, { payload: payload, contentType: headers[\'Content-Type\'] });\n headers[\'Server-Authorization\'] = header;\n\n // Send the response back\n\n res.writeHead(!err ? 200 : 401, headers);\n res.end(payload);\n });\n};\n\n// Start server\n\nHttp.createServer(handler).listen(8000, \'example.com\');\n```\n\nClient code:\n\n```javascript\nvar Request = require(\'request\');\nvar Hawk = require(\'hawk\');\n\n\n// Client credentials\n\nvar credentials = {\n id: \'dh37fgj492je\',\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n}\n\n// Request options\n\nvar requestOptions = {\n uri: \'http://example.com:8000/resource/1?b=1&a=2\',\n method: \'GET\',\n headers: {}\n};\n\n// Generate Authorization request header\n\nvar header = Hawk.client.header(\'http://example.com:8000/resource/1?b=1&a=2\', \'GET\', { credentials: credentials, ext: \'some-app-data\' });\nrequestOptions.headers.Authorization = header.field;\n\n// Send authenticated request\n\nRequest(requestOptions, function (error, response, body) {\n\n // Authenticate the server\'s response\n\n var isValid = Hawk.client.authenticate(response, credentials, header.artifacts, { payload: body });\n\n // Output results\n\n console.log(response.statusCode + \': \' + body + (isValid ? \' (valid)\' : \' (invalid)\'));\n});\n```\n\n**Hawk** utilized the [**SNTP**](https://github.com/hueniverse/sntp) module for time sync management. By default, the local\nmachine time is used. To automatically retrieve and synchronice the clock within the application, use the SNTP \'start()\' method.\n\n```javascript\nHawk.sntp.start();\n```\n\n\n## Protocol Example\n\nThe client attempts to access a protected resource without authentication, sending the following HTTP request to\nthe resource server:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\n```\n\nThe resource server returns an authentication challenge.\n\n```\nHTTP/1.1 401 Unauthorized\nWWW-Authenticate: Hawk\n```\n\nThe client has previously obtained a set of **Hawk** credentials for accessing resources on the "http://example.com/"\nserver. The **Hawk** credentials issued to the client include the following attributes:\n\n* Key identifier: dh37fgj492je\n* Key: werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\n* Algorithm: sha256\n\nThe client generates the authentication header by calculating a timestamp (e.g. the number of seconds since January 1,\n1970 00:00:00 GMT), generating a nonce, and constructing the normalized request string (each value followed by a newline\ncharacter):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nGET\n/resource/1?b=1&a=2\nexample.com\n8000\n\nsome-app-ext-data\n\n```\n\nThe request MAC is calculated using HMAC with the specified hash algorithm "sha256" and the key over the normalized request string.\nThe result is base64-encoded to produce the request MAC:\n\n```\n6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=\n```\n\nThe client includes the **Hawk** key identifier, timestamp, nonce, application specific data, and request MAC with the request using\nthe HTTP `Authorization` request header field:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", ext="some-app-ext-data", mac="6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE="\n```\n\nThe server validates the request by calculating the request MAC again based on the request received and verifies the validity\nand scope of the **Hawk** credentials. If valid, the server responds with the requested resource.\n\n\n### Payload Validation\n\n**Hawk** provides optional payload validation. When generating the authentication header, the client calculates a payload hash\nusing the specified hash algorithm. The hash is calculated over the concatenated value of (each followed by a newline character):\n* `hawk.1.payload`\n* the content-type in lowercase, without any parameters (e.g. `application/json`)\n* the request payload prior to any content encoding (the exact representation requirements should be specified by the server for payloads other than simple single-part ascii to ensure interoperability)\n\nFor example:\n\n* Payload: `Thank you for flying Hawk`\n* Content Type: `text/plain`\n* Hash (sha256): `Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=`\n\nResults in the following input to the payload hash function (newline terminated values):\n\n```\nhawk.1.payload\ntext/plain\nThank you for flying Hawk\n\n```\n\nWhich produces the following hash value:\n\n```\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\n```\n\nThe client constructs the normalized request string (newline terminated values):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nPOST\n/resource/1?a=1&b=2\nexample.com\n8000\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\nsome-app-ext-data\n\n```\n\nThen calculates the request MAC and includes the **Hawk** key identifier, timestamp, nonce, payload hash, application specific data,\nand request MAC, with the request using the HTTP `Authorization` request header field:\n\n```\nPOST /resource/1?a=1&b=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", hash="Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=", ext="some-app-ext-data", mac="aSe1DERmZuRl3pI36/9BdZmnErTw3sNzOOAUlfeKjVw="\n```\n\nIt is up to the server if and when it validates the payload for any given request, based solely on it\'s security policy\nand the nature of the data included.\n\nIf the payload is available at the time of authentication, the server uses the hash value provided by the client to construct\nthe normalized string and validates the MAC. If the MAC is valid, the server calculates the payload hash and compares the value\nwith the provided payload hash in the header. In many cases, checking the MAC first is faster than calculating the payload hash.\n\nHowever, if the payload is not available at authentication time (e.g. too large to fit in memory, streamed elsewhere, or processed\nat a different stage in the application), the server may choose to defer payload validation for later by retaining the hash value\nprovided by the client after validating the MAC.\n\nIt is important to note that MAC validation does not mean the hash value provided by the client is valid, only that the value\nincluded in the header was not modified. Without calculating the payload hash on the server and comparing it to the value provided\nby the client, the payload may be modified by an attacker.\n\n\n## Response Payload Validation\n\n**Hawk** provides partial response payload validation. The server includes the `Server-Authorization` response header which enables the\nclient to authenticate the response and ensure it is talking to the right server. **Hawk** defines the HTTP `Server-Authorization` header\nas a response header using the exact same syntax as the `Authorization` request header field.\n\nThe header is contructed using the same process as the client\'s request header. The server uses the same credentials and other\nartifacts provided by the client to constructs the normalized request string. The `ext` and `hash` values are replaced with\nnew values based on the server response. The rest as identical to those used by the client.\n\nThe result MAC digest is included with the optional `hash` and `ext` values:\n\n```\nServer-Authorization: Hawk mac="XIJRsMl/4oL+nn+vKoeVZPdCHXB4yJkNnBbTbHFZUYE=", hash="f9cDF/TDm7TkYRLnGwRMfeDzT6LixQVLvrIKhh0vgmM=", ext="response-specific"\n```\n\n\n## Browser Support and Considerations\n\nA browser script is provided for including using a `<script>` tag in [lib/browser.js](/lib/browser.js).\n\n**Hawk** relies on the _Server-Authorization_ and _WWW-Authenticate_ headers in its response to communicate with the client.\nTherefore, in case of CORS requests, it is important to consider sending _Access-Control-Expose-Headers_ with the value\n_"WWW-Authenticate, Server-Authorization"_ on each response from your server. As explained in the\n[specifications](http://www.w3.org/TR/cors/#access-control-expose-headers-response-header), it will indicate that these headers\ncan safely be accessed by the client (using getResponseHeader() on the XmlHttpRequest object). Otherwise you will be met with a\n["simple response header"](http://www.w3.org/TR/cors/#simple-response-header) which excludes these fields and would prevent the\nHawk client from authenticating the requests.You can read more about the why and how in this\n[article](http://www.html5rocks.com/en/tutorials/cors/#toc-adding-cors-support-to-the-server)\n\n\n# Single URI Authorization\n\nThere are cases in which limited and short-term access to a protected resource is granted to a third party which does not\nhave access to the shared credentials. For example, displaying a protected image on a web page accessed by anyone. **Hawk**\nprovides limited support for such URIs in the form of a _bewit_ - a URI query parameter appended to the request URI which contains\nthe necessary credentials to authenticate the request.\n\nBecause of the significant security risks involved in issuing such access, bewit usage is purposely limited only to GET requests\nand for a finite period of time. Both the client and server can issue bewit credentials, however, the server should not use the same\ncredentials as the client to maintain clear traceability as to who issued which credentials.\n\nIn order to simplify implementation, bewit credentials do not support single-use policy and can be replayed multiple times within\nthe granted access timeframe. \n\n\n## Bewit Usage Example\n\nServer code:\n\n```javascript\nvar Http = require(\'http\');\nvar Hawk = require(\'hawk\');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n var credentials = {\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n };\n\n return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n Hawk.uri.authenticate(req, credentialsFunc, {}, function (err, credentials, attributes) {\n\n res.writeHead(!err ? 200 : 401, { \'Content-Type\': \'text/plain\' });\n res.end(!err ? \'Access granted\' : \'Shoosh!\');\n });\n};\n\nHttp.createServer(handler).listen(8000, \'example.com\');\n```\n\nBewit code generation:\n\n```javascript\nvar Request = require(\'request\');\nvar Hawk = require(\'hawk\');\n\n\n// Client credentials\n\nvar credentials = {\n id: \'dh37fgj492je\',\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n}\n\n// Generate bewit\n\nvar duration = 60 * 5; // 5 Minutes\nvar bewit = Hawk.uri.getBewit(\'http://example.com:8080/resource/1?b=1&a=2\', { credentials: credentials, ttlSec: duration, ext: \'some-app-data\' });\nvar uri = \'http://example.com:8000/resource/1?b=1&a=2\' + \'&bewit=\' + bewit;\n```\n\n\n# Security Considerations\n\nThe greatest sources of security risks are usually found not in **Hawk** but in the policies and procedures surrounding its use.\nImplementers are strongly encouraged to assess how this module addresses their security requirements. This section includes\nan incomplete list of security considerations that must be reviewed and understood before deploying **Hawk** on the server.\nMany of the protections provided in **Hawk** depends on whether and how they are used.\n\n### MAC Keys Transmission\n\n**Hawk** does not provide any mechanism for obtaining or transmitting the set of shared credentials required. Any mechanism used\nto obtain **Hawk** credentials must ensure that these transmissions are protected using transport-layer mechanisms such as TLS.\n\n### Confidentiality of Requests\n\nWhile **Hawk** provides a mechanism for verifying the integrity of HTTP requests, it provides no guarantee of request\nconfidentiality. Unless other precautions are taken, eavesdroppers will have full access to the request content. Servers should\ncarefully consider the types of data likely to be sent as part of such requests, and employ transport-layer security mechanisms\nto protect sensitive resources.\n\n### Spoofing by Counterfeit Servers\n\n**Hawk** provides limited verification of the server authenticity. When receiving a response back from the server, the server\nmay choose to include a response `Server-Authorization` header which the client can use to verify the response. However, it is up to\nthe server to determine when such measure is included, to up to the client to enforce that policy.\n\nA hostile party could take advantage of this by intercepting the client\'s requests and returning misleading or otherwise\nincorrect responses. Service providers should consider such attacks when developing services using this protocol, and should\nrequire transport-layer security for any requests where the authenticity of the resource server or of server responses is an issue.\n\n### Plaintext Storage of Credentials\n\nThe **Hawk** key functions the same way passwords do in traditional authentication systems. In order to compute the request MAC,\nthe server must have access to the key in plaintext form. This is in contrast, for example, to modern operating systems, which\nstore only a one-way hash of user credentials.\n\nIf an attacker were to gain access to these keys - or worse, to the server\'s database of all such keys - he or she would be able\nto perform any action on behalf of any resource owner. Accordingly, it is critical that servers protect these keys from unauthorized\naccess.\n\n### Entropy of Keys\n\nUnless a transport-layer security protocol is used, eavesdroppers will have full access to authenticated requests and request\nMAC values, and will thus be able to mount offline brute-force attacks to recover the key used. Servers should be careful to\nassign keys which are long enough, and random enough, to resist such attacks for at least the length of time that the **Hawk**\ncredentials are valid.\n\nFor example, if the credentials are valid for two weeks, servers should ensure that it is not possible to mount a brute force\nattack that recovers the key in less than two weeks. Of course, servers are urged to err on the side of caution, and use the\nlongest key reasonable.\n\nIt is equally important that the pseudo-random number generator (PRNG) used to generate these keys be of sufficiently high\nquality. Many PRNG implementations generate number sequences that may appear to be random, but which nevertheless exhibit\npatterns or other weaknesses which make cryptanalysis or brute force attacks easier. Implementers should be careful to use\ncryptographically secure PRNGs to avoid these problems.\n\n### Coverage Limitations\n\nThe request MAC only covers the HTTP `Host` header and optionally the `Content-Type` header. It does not cover any other headers\nwhich can often affect how the request body is interpreted by the server. If the server behavior is influenced by the presence\nor value of such headers, an attacker can manipulate the request headers without being detected. Implementers should use the\n`ext` feature to pass application-specific information via the `Authorization` header which is protected by the request MAC.\n\nThe response authentication, when performed, only covers the response payload, content-type, and the request information \nprovided by the client in it\'s request (method, resource, timestamp, nonce, etc.). It does not cover the HTTP status code or\nany other response header field (e.g. Location) which can affect the client\'s behaviour.\n\n### Future Time Manipulation\n\nThe protocol relies on a clock sync between the client and server. To accomplish this, the server informs the client of its\ncurrent time when an invalid timestamp is received.\n\nIf an attacker is able to manipulate this information and cause the client to use an incorrect time, it would be able to cause\nthe client to generate authenticated requests using time in the future. Such requests will fail when sent by the client, and will\nnot likely leave a trace on the server (given the common implementation of nonce, if at all enforced). The attacker will then\nbe able to replay the request at the correct time without detection.\n\nThe client must only use the time information provided by the server if:\n* it was delivered over a TLS connection and the server identity has been verified, or\n* the `tsm` MAC digest calculated using the same client credentials over the timestamp has been verified.\n\n### Client Clock Poisoning\n\nWhen receiving a request with a bad timestamp, the server provides the client with its current time. The client must never use\nthe time received from the server to adjust its own clock, and must only use it to calculate an offset for communicating with\nthat particular server.\n\n### Bewit Limitations\n\nSpecial care must be taken when issuing bewit credentials to third parties. Bewit credentials are valid until expiration and cannot\nbe revoked or limited without using other means. Whatever resource they grant access to will be completely exposed to anyone with\naccess to the bewit credentials which act as bearer credentials for that particular resource. While bewit usage is limited to GET\nrequests only and therefore cannot be used to perform transactions or change server state, it can still be used to expose private\nand sensitive information.\n\n### Host Header Forgery\n\nHawk validates the incoming request MAC against the incoming HTTP Host header. However, unless the optional `host` and `port`\noptions are used with `server.authenticate()`, a malicous client can mint new host names pointing to the server\'s IP address and\nuse that to craft an attack by sending a valid request that\'s meant for another hostname than the one used by the server. Server\nimplementors must manually verify that the host header received matches their expectation (or use the options mentioned above).\n\n# Frequently Asked Questions\n\n### Where is the protocol specification?\n\nIf you are looking for some prose explaining how all this works, **this is it**. **Hawk** is being developed as an open source\nproject instead of a standard. In other words, the [code](/hueniverse/hawk/tree/master/lib) is the specification. Not sure about\nsomething? Open an issue!\n\n### Is it done?\n\nAt if version 0.10.0, **Hawk** is feature-complete. However, until this module reaches version 1.0.0 it is considered experimental\nand is likely to change. This also means your feedback and contribution are very welcome. Feel free to open issues with questions\nand suggestions.\n\n### Where can I find **Hawk** implementations in other languages?\n\n**Hawk**\'s only reference implementation is provided in JavaScript as a node.js module. However, others are actively porting it to other\nplatforms. There is already a [PHP](https://github.com/alexbilbie/PHP-Hawk),\n[.NET](https://github.com/pcibraro/hawknet), and [JAVA](https://github.com/wealdtech/hawk) libraries available. The full list\nis maintained [here](https://github.com/hueniverse/hawk/issues?labels=port). Please add an issue if you are working on another\nport. A cross-platform test-suite is in the works.\n\n### Why isn\'t the algorithm part of the challenge or dynamically negotiated?\n\nThe algorithm used is closely related to the key issued as different algorithms require different key sizes (and other\nrequirements). While some keys can be used for multiple algorithm, the protocol is designed to closely bind the key and algorithm\ntogether as part of the issued credentials.\n\n### Why is Host and Content-Type the only headers covered by the request MAC?\n\nIt is really hard to include other headers. Headers can be changed by proxies and other intermediaries and there is no\nwell-established way to normalize them. Many platforms change the case of header field names and values. The only\nstraight-forward solution is to include the headers in some blob (say, base64 encoded JSON) and include that with the request,\nan approach taken by JWT and other such formats. However, that design violates the HTTP header boundaries, repeats information,\nand introduces other security issues because firewalls will not be aware of these "hidden" headers. In addition, any information\nrepeated must be compared to the duplicated information in the header and therefore only moves the problem elsewhere.\n\n### Why not just use HTTP Digest?\n\nDigest requires pre-negotiation to establish a nonce. This means you can\'t just make a request - you must first send\na protocol handshake to the server. This pattern has become unacceptable for most web services, especially mobile\nwhere extra round-trip are costly.\n\n### Why bother with all this nonce and timestamp business?\n\n**Hawk** is an attempt to find a reasonable, practical compromise between security and usability. OAuth 1.0 got timestamp\nand nonces halfway right but failed when it came to scalability and consistent developer experience. **Hawk** addresses\nit by requiring the client to sync its clock, but provides it with tools to accomplish it.\n\nIn general, replay protection is a matter of application-specific threat model. It is less of an issue on a TLS-protected\nsystem where the clients are implemented using best practices and are under the control of the server. Instead of dropping\nreplay protection, **Hawk** offers a required time window and an optional nonce verification. Together, it provides developers\nwith the ability to decide how to enforce their security policy without impacting the client\'s implementation.\n\n### What are `app` and `dlg` in the authorization header and normalized mac string?\n\nThe original motivation for **Hawk** was to replace the OAuth 1.0 use cases. This included both a simple client-server mode which\nthis module is specifically designed for, and a delegated access mode which is being developed separately in\n[Oz](https://github.com/hueniverse/oz). In addition to the **Hawk** use cases, Oz requires another attribute: the application id `app`.\nThis provides binding between the credentials and the application in a way that prevents an attacker from tricking an application\nto use credentials issued to someone else. It also has an optional \'delegated-by\' attribute `dlg` which is the application id of the\napplication the credentials were directly issued to. The goal of these two additions is to allow Oz to utilize **Hawk** directly,\nbut with the additional security of delegated credentials.\n\n### What is the purpose of the static strings used in each normalized MAC input?\n\nWhen calculating a hash or MAC, a static prefix (tag) is added. The prefix is used to prevent MAC values from being\nused or reused for a purpose other than what they were created for (i.e. prevents switching MAC values between a request,\nresponse, and a bewit use cases). It also protects against expliots created after a potential change in how the protocol\ncreates the normalized string. For example, if a future version would switch the order of nonce and timestamp, it\ncan create an exploit opportunity for cases where the nonce is similar in format to a timestamp.\n\n### Does **Hawk** have anything to do with OAuth?\n\nShort answer: no.\n\n**Hawk** was originally proposed as the OAuth MAC Token specification. However, the OAuth working group in its consistent\nincompetence failed to produce a final, usable solution to address one of the most popular use cases of OAuth 1.0 - using it\nto authenticate simple client-server transactions (i.e. two-legged). As you can guess, the OAuth working group is still hard\nat work to produce more garbage.\n\n**Hawk** provides a simple HTTP authentication scheme for making client-server requests. It does not address the OAuth use case\nof delegating access to a third party. If you are looking for an OAuth alternative, check out [Oz](https://github.com/hueniverse/oz).\n\n\n# Acknowledgements\n\n**Hawk** is a derivative work of the [HTTP MAC Authentication Scheme](http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-token-05) proposal\nco-authored by Ben Adida, Adam Barth, and Eran Hammer, which in turn was based on the OAuth 1.0 community specification.\n\nSpecial thanks to Ben Laurie for his always insightful feedback and advice.\n\nThe **Hawk** logo was created by [Chris Carrasco](http://chriscarrasco.com).\n',
10354 silly resolved readmeFilename: 'README.md',
10354 silly resolved bugs: { url: 'https://github.com/hueniverse/hawk/issues' },
10354 silly resolved homepage: 'https://github.com/hueniverse/hawk',
10354 silly resolved _id: 'hawk@1.0.0',
10354 silly resolved _from: 'hawk@~1.0.0' } ]
10355 info install qs@0.6.5 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10356 info install aws-sign@0.3.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10357 info install cookie-jar@0.3.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10358 info install http-signature@0.10.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10359 info install form-data@0.1.2 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10360 info install forever-agent@0.5.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10361 info install tunnel-agent@0.3.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10362 info install json-stringify-safe@5.0.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10363 info install oauth-sign@0.3.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10364 info install node-uuid@1.4.1 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10365 info install mime@1.2.11 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10366 info install hawk@1.0.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request
10367 info installOne qs@0.6.5
10368 info installOne aws-sign@0.3.0
10369 info installOne cookie-jar@0.3.0
10370 info installOne http-signature@0.10.0
10371 info installOne form-data@0.1.2
10372 info installOne forever-agent@0.5.0
10373 info installOne tunnel-agent@0.3.0
10374 info installOne json-stringify-safe@5.0.0
10375 info installOne oauth-sign@0.3.0
10376 info installOne node-uuid@1.4.1
10377 info installOne mime@1.2.11
10378 info installOne hawk@1.0.0
10379 silly lockFile a7acce22-socket-io-0-9-16 socket.io@0.9.16
10380 silly lockFile a7acce22-socket-io-0-9-16 socket.io@0.9.16
10381 verbose about to build C:\Projects\trainingsservice\node_modules\express\node_modules\send
10382 info build C:\Projects\trainingsservice\node_modules\express\node_modules\send
10383 verbose linkStuff [ false,
10383 verbose linkStuff false,
10383 verbose linkStuff false,
10383 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\express\\node_modules' ]
10384 info linkStuff send@0.1.4
10385 verbose linkBins send@0.1.4
10386 verbose linkMans send@0.1.4
10387 verbose rebuildBundles send@0.1.4
10388 info preinstall gaze@0.4.3
10389 info C:\Projects\trainingsservice\node_modules\request\node_modules\forever-agent unbuild
10390 info C:\Projects\trainingsservice\node_modules\request\node_modules\tunnel-agent unbuild
10391 info C:\Projects\trainingsservice\node_modules\request\node_modules\json-stringify-safe unbuild
10392 info C:\Projects\trainingsservice\node_modules\request\node_modules\oauth-sign unbuild
10393 info C:\Projects\trainingsservice\node_modules\request\node_modules\qs unbuild
10394 info C:\Projects\trainingsservice\node_modules\request\node_modules\aws-sign unbuild
10395 info C:\Projects\trainingsservice\node_modules\request\node_modules\cookie-jar unbuild
10396 info C:\Projects\trainingsservice\node_modules\request\node_modules\http-signature unbuild
10397 info C:\Projects\trainingsservice\node_modules\request\node_modules\form-data unbuild
10398 info C:\Projects\trainingsservice\node_modules\request\node_modules\node-uuid unbuild
10399 info C:\Projects\trainingsservice\node_modules\request\node_modules\mime unbuild
10400 info C:\Projects\trainingsservice\node_modules\request\node_modules\hawk unbuild
10401 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\qs unbuild
10402 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\aws-sign unbuild
10403 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\cookie-jar unbuild
10404 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\http-signature unbuild
10405 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\form-data unbuild
10406 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\forever-agent unbuild
10407 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\tunnel-agent unbuild
10408 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\json-stringify-safe unbuild
10409 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\oauth-sign unbuild
10410 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\node-uuid unbuild
10411 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\mime unbuild
10412 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\hawk unbuild
10413 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
10414 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
10415 verbose rebuildBundles [ 'mime' ]
10416 info install send@0.1.4
10417 verbose readDependencies using package.json deps
10418 info postinstall send@0.1.4
10419 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
10420 silly lockFile 84e2c4bd-quest-node-modules-forever-agent tar://C:\Projects\trainingsservice\node_modules\request\node_modules\forever-agent
10421 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\forever-agent C:\Users\lukasz.zak\AppData\Roaming\npm-cache\84e2c4bd-quest-node-modules-forever-agent.lock
10422 silly lockFile d04ae115--forever-agent-0-5-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
10423 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d04ae115--forever-agent-0-5-0-package-tgz.lock
10424 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
10425 silly lockFile 36a80412-equest-node-modules-tunnel-agent tar://C:\Projects\trainingsservice\node_modules\request\node_modules\tunnel-agent
10426 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\tunnel-agent C:\Users\lukasz.zak\AppData\Roaming\npm-cache\36a80412-equest-node-modules-tunnel-agent.lock
10427 silly lockFile 072af879-e-tunnel-agent-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
10428 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\072af879-e-tunnel-agent-0-3-0-package-tgz.lock
10429 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
10430 silly lockFile 65d29edc-node-modules-json-stringify-safe tar://C:\Projects\trainingsservice\node_modules\request\node_modules\json-stringify-safe
10431 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\json-stringify-safe C:\Users\lukasz.zak\AppData\Roaming\npm-cache\65d29edc-node-modules-json-stringify-safe.lock
10432 silly lockFile d126c357-stringify-safe-5-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
10433 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d126c357-stringify-safe-5-0-0-package-tgz.lock
10434 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
10435 silly lockFile adc7f9f9--request-node-modules-oauth-sign tar://C:\Projects\trainingsservice\node_modules\request\node_modules\oauth-sign
10436 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\oauth-sign C:\Users\lukasz.zak\AppData\Roaming\npm-cache\adc7f9f9--request-node-modules-oauth-sign.lock
10437 silly lockFile 288b6b83-che-oauth-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
10438 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\288b6b83-che-oauth-sign-0-3-0-package-tgz.lock
10439 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
10440 silly lockFile 3af99ef6--modules-request-node-modules-qs tar://C:\Projects\trainingsservice\node_modules\request\node_modules\qs
10441 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\qs C:\Users\lukasz.zak\AppData\Roaming\npm-cache\3af99ef6--modules-request-node-modules-qs.lock
10442 silly lockFile 543f3abc-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
10443 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\543f3abc-g-npm-cache-qs-0-6-5-package-tgz.lock
10444 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
10445 silly lockFile a33ad9c7-es-request-node-modules-aws-sign tar://C:\Projects\trainingsservice\node_modules\request\node_modules\aws-sign
10446 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\aws-sign C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a33ad9c7-es-request-node-modules-aws-sign.lock
10447 silly lockFile c6a9aa86-cache-aws-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
10448 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c6a9aa86-cache-aws-sign-0-3-0-package-tgz.lock
10449 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
10450 silly lockFile dc1d3b99--request-node-modules-cookie-jar tar://C:\Projects\trainingsservice\node_modules\request\node_modules\cookie-jar
10451 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\cookie-jar C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dc1d3b99--request-node-modules-cookie-jar.lock
10452 silly lockFile 2e1a11bd-che-cookie-jar-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
10453 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2e1a11bd-che-cookie-jar-0-3-0-package-tgz.lock
10454 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
10455 silly lockFile 834239db-uest-node-modules-http-signature tar://C:\Projects\trainingsservice\node_modules\request\node_modules\http-signature
10456 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\http-signature C:\Users\lukasz.zak\AppData\Roaming\npm-cache\834239db-uest-node-modules-http-signature.lock
10457 silly lockFile b5ac6982-ttp-signature-0-10-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
10458 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b5ac6982-ttp-signature-0-10-0-package-tgz.lock
10459 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
10460 silly lockFile ecb85140-s-request-node-modules-form-data tar://C:\Projects\trainingsservice\node_modules\request\node_modules\form-data
10461 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\form-data C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ecb85140-s-request-node-modules-form-data.lock
10462 silly lockFile 451be907-ache-form-data-0-1-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
10463 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\451be907-ache-form-data-0-1-2-package-tgz.lock
10464 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
10465 silly lockFile 7d651a0e-s-request-node-modules-node-uuid tar://C:\Projects\trainingsservice\node_modules\request\node_modules\node-uuid
10466 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\node-uuid C:\Users\lukasz.zak\AppData\Roaming\npm-cache\7d651a0e-s-request-node-modules-node-uuid.lock
10467 silly lockFile ce0a7c0f-ache-node-uuid-1-4-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
10468 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ce0a7c0f-ache-node-uuid-1-4-1-package-tgz.lock
10469 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10470 silly lockFile ff29e5b3-odules-request-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\request\node_modules\mime
10471 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\mime C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ff29e5b3-odules-request-node-modules-mime.lock
10472 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10473 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2405ac6f-pm-cache-mime-1-2-11-package-tgz.lock
10474 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
10475 silly lockFile 836b6c95-odules-request-node-modules-hawk tar://C:\Projects\trainingsservice\node_modules\request\node_modules\hawk
10476 verbose lock tar://C:\Projects\trainingsservice\node_modules\request\node_modules\hawk C:\Users\lukasz.zak\AppData\Roaming\npm-cache\836b6c95-odules-request-node-modules-hawk.lock
10477 silly lockFile a7a5df8a-npm-cache-hawk-1-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
10478 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a7a5df8a-npm-cache-hawk-1-0-0-package-tgz.lock
10479 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
10480 silly lockFile d21240a5--modules-request-node-modules-qs tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\qs
10481 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\qs C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d21240a5--modules-request-node-modules-qs.lock
10482 silly lockFile 543f3abc-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
10483 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\543f3abc-g-npm-cache-qs-0-6-5-package-tgz.lock
10484 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
10485 silly lockFile d676c279-es-request-node-modules-aws-sign tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\aws-sign
10486 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\aws-sign C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d676c279-es-request-node-modules-aws-sign.lock
10487 silly lockFile c6a9aa86-cache-aws-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
10488 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c6a9aa86-cache-aws-sign-0-3-0-package-tgz.lock
10489 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
10490 silly lockFile 001e2721--request-node-modules-cookie-jar tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\cookie-jar
10491 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\cookie-jar C:\Users\lukasz.zak\AppData\Roaming\npm-cache\001e2721--request-node-modules-cookie-jar.lock
10492 silly lockFile 2e1a11bd-che-cookie-jar-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
10493 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2e1a11bd-che-cookie-jar-0-3-0-package-tgz.lock
10494 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
10495 silly lockFile 2698cc60-uest-node-modules-http-signature tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\http-signature
10496 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\http-signature C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2698cc60-uest-node-modules-http-signature.lock
10497 silly lockFile b5ac6982-ttp-signature-0-10-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
10498 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b5ac6982-ttp-signature-0-10-0-package-tgz.lock
10499 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
10500 silly lockFile aaf8d827-s-request-node-modules-form-data tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\form-data
10501 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\form-data C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aaf8d827-s-request-node-modules-form-data.lock
10502 silly lockFile 451be907-ache-form-data-0-1-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
10503 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\451be907-ache-form-data-0-1-2-package-tgz.lock
10504 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
10505 silly lockFile 12d3f4bb-quest-node-modules-forever-agent tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\forever-agent
10506 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\forever-agent C:\Users\lukasz.zak\AppData\Roaming\npm-cache\12d3f4bb-quest-node-modules-forever-agent.lock
10507 silly lockFile d04ae115--forever-agent-0-5-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
10508 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d04ae115--forever-agent-0-5-0-package-tgz.lock
10509 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
10510 silly lockFile 20fbd6e1-equest-node-modules-tunnel-agent tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\tunnel-agent
10511 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\tunnel-agent C:\Users\lukasz.zak\AppData\Roaming\npm-cache\20fbd6e1-equest-node-modules-tunnel-agent.lock
10512 silly lockFile 072af879-e-tunnel-agent-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
10513 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\072af879-e-tunnel-agent-0-3-0-package-tgz.lock
10514 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
10515 silly lockFile eaaa5f85-node-modules-json-stringify-safe tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\json-stringify-safe
10516 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\json-stringify-safe C:\Users\lukasz.zak\AppData\Roaming\npm-cache\eaaa5f85-node-modules-json-stringify-safe.lock
10517 silly lockFile d126c357-stringify-safe-5-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
10518 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d126c357-stringify-safe-5-0-0-package-tgz.lock
10519 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
10520 silly lockFile 5224bbf8--request-node-modules-oauth-sign tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\oauth-sign
10521 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\oauth-sign C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5224bbf8--request-node-modules-oauth-sign.lock
10522 silly lockFile 288b6b83-che-oauth-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
10523 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\288b6b83-che-oauth-sign-0-3-0-package-tgz.lock
10524 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
10525 silly lockFile 6940e86f-s-request-node-modules-node-uuid tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\node-uuid
10526 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\node-uuid C:\Users\lukasz.zak\AppData\Roaming\npm-cache\6940e86f-s-request-node-modules-node-uuid.lock
10527 silly lockFile ce0a7c0f-ache-node-uuid-1-4-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
10528 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ce0a7c0f-ache-node-uuid-1-4-1-package-tgz.lock
10529 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10530 silly lockFile 3d71610a-odules-request-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\mime
10531 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\mime C:\Users\lukasz.zak\AppData\Roaming\npm-cache\3d71610a-odules-request-node-modules-mime.lock
10532 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
10533 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2405ac6f-pm-cache-mime-1-2-11-package-tgz.lock
10534 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
10535 silly lockFile 93441996-odules-request-node-modules-hawk tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\hawk
10536 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\hawk C:\Users\lukasz.zak\AppData\Roaming\npm-cache\93441996-odules-request-node-modules-hawk.lock
10537 silly lockFile a7a5df8a-npm-cache-hawk-1-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
10538 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a7a5df8a-npm-cache-hawk-1-0-0-package-tgz.lock
10539 verbose readDependencies using package.json deps
10540 http 304 https://registry.npmjs.org/coffee-script
10541 silly registry.get cb [ 304,
10541 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10541 silly registry.get etag: '"D6W2D9MC80MJAFWCFZ2W18E18"',
10541 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10541 silly registry.get 'content-length': '0' } ]
10542 verbose etag coffee-script from cache
10543 silly gunzTarPerm modes [ '755', '644' ]
10544 silly gunzTarPerm modes [ '755', '644' ]
10545 silly gunzTarPerm modes [ '755', '644' ]
10546 silly gunzTarPerm modes [ '755', '644' ]
10547 silly gunzTarPerm modes [ '755', '644' ]
10548 silly gunzTarPerm modes [ '755', '644' ]
10549 silly gunzTarPerm modes [ '755', '644' ]
10550 silly gunzTarPerm modes [ '755', '644' ]
10551 silly gunzTarPerm modes [ '755', '644' ]
10552 silly gunzTarPerm modes [ '755', '644' ]
10553 silly gunzTarPerm modes [ '755', '644' ]
10554 silly gunzTarPerm modes [ '755', '644' ]
10555 silly gunzTarPerm extractEntry lib/public/icons/page_white_camera.png
10556 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_camera.png', 438, 420 ]
10557 silly gunzTarPerm extractEntry lib/public/icons/page_white_cd.png
10558 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_cd.png', 438, 420 ]
10559 silly gunzTarPerm extractEntry package.json
10560 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10561 silly gunzTarPerm extractEntry package.json
10562 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10563 silly gunzTarPerm extractEntry package.json
10564 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10565 silly gunzTarPerm extractEntry package.json
10566 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10567 silly gunzTarPerm extractEntry package.json
10568 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10569 silly gunzTarPerm extractEntry package.json
10570 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10571 silly gunzTarPerm extractEntry package.json
10572 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10573 silly gunzTarPerm extractEntry package.json
10574 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10575 silly gunzTarPerm extractEntry package.json
10576 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10577 silly gunzTarPerm extractEntry package.json
10578 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10579 silly gunzTarPerm extractEntry package.json
10580 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10581 silly gunzTarPerm extractEntry package.json
10582 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10583 verbose cache add [ 'globule@~0.1.0', null ]
10584 verbose cache add name=undefined spec="globule@~0.1.0" args=["globule@~0.1.0",null]
10585 verbose parsed url { protocol: null,
10585 verbose parsed url slashes: null,
10585 verbose parsed url auth: null,
10585 verbose parsed url host: null,
10585 verbose parsed url port: null,
10585 verbose parsed url hostname: null,
10585 verbose parsed url hash: null,
10585 verbose parsed url search: null,
10585 verbose parsed url query: null,
10585 verbose parsed url pathname: 'globule@~0.1.0',
10585 verbose parsed url path: 'globule@~0.1.0',
10585 verbose parsed url href: 'globule@~0.1.0' }
10586 verbose cache add name="globule" spec="~0.1.0" args=["globule","~0.1.0"]
10587 verbose parsed url { protocol: null,
10587 verbose parsed url slashes: null,
10587 verbose parsed url auth: null,
10587 verbose parsed url host: null,
10587 verbose parsed url port: null,
10587 verbose parsed url hostname: null,
10587 verbose parsed url hash: null,
10587 verbose parsed url search: null,
10587 verbose parsed url query: null,
10587 verbose parsed url pathname: '~0.1.0',
10587 verbose parsed url path: '~0.1.0',
10587 verbose parsed url href: '~0.1.0' }
10588 verbose addNamed [ 'globule', '~0.1.0' ]
10589 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
10590 silly lockFile 95d0eb0c-globule-0-1-0 globule@~0.1.0
10591 verbose lock globule@~0.1.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\95d0eb0c-globule-0-1-0.lock
10592 silly addNameRange { name: 'globule', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
10593 silly addNameRange number 2 { name: 'coffee-script',
10593 silly addNameRange range: '>=1.3.3-0 <1.4.0-0',
10593 silly addNameRange hasData: true }
10594 silly addNameRange versions [ 'coffee-script',
10594 silly addNameRange [ '0.7.0',
10594 silly addNameRange '0.7.1',
10594 silly addNameRange '0.7.2',
10594 silly addNameRange '0.9.0',
10594 silly addNameRange '0.9.1',
10594 silly addNameRange '0.9.2',
10594 silly addNameRange '0.9.3',
10594 silly addNameRange '0.9.4',
10594 silly addNameRange '0.9.5',
10594 silly addNameRange '0.9.6',
10594 silly addNameRange '1.0.0',
10594 silly addNameRange '1.0.1',
10594 silly addNameRange '1.1.0',
10594 silly addNameRange '1.1.1',
10594 silly addNameRange '1.1.2',
10594 silly addNameRange '1.1.3',
10594 silly addNameRange '1.2.0',
10594 silly addNameRange '1.3.0',
10594 silly addNameRange '1.3.1',
10594 silly addNameRange '1.3.2',
10594 silly addNameRange '1.3.3',
10594 silly addNameRange '1.4.0',
10594 silly addNameRange '1.5.0',
10594 silly addNameRange '1.6.0',
10594 silly addNameRange '1.6.1',
10594 silly addNameRange '1.6.2',
10594 silly addNameRange '1.6.3' ] ]
10595 verbose addNamed [ 'coffee-script', '1.3.3' ]
10596 verbose addNamed [ '1.3.3', '1.3.3' ]
10597 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
10598 verbose lock coffee-script@1.3.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\022c8436-coffee-script-1-3-3.lock
10599 silly gunzTarPerm extractEntry README.md
10600 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10601 silly gunzTarPerm extractEntry LICENSE
10602 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10603 http 304 https://registry.npmjs.org/findup-sync
10604 silly registry.get cb [ 304,
10604 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10604 silly registry.get etag: '"BFALDACBDE84KEJ1UFRKML8CD"',
10604 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10604 silly registry.get 'content-length': '0' } ]
10605 verbose etag findup-sync from cache
10606 silly gunzTarPerm extractEntry README.md
10607 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10608 silly gunzTarPerm extractEntry LICENSE
10609 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10610 silly gunzTarPerm extractEntry README.md
10611 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10612 silly gunzTarPerm extractEntry LICENSE
10613 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10614 silly gunzTarPerm extractEntry README.md
10615 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10616 silly gunzTarPerm extractEntry LICENSE
10617 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10618 silly gunzTarPerm extractEntry README.md
10619 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10620 silly gunzTarPerm extractEntry LICENSE
10621 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10622 silly gunzTarPerm extractEntry .npmignore
10623 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
10624 silly gunzTarPerm extractEntry index.js
10625 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
10626 silly gunzTarPerm extractEntry .npmignore
10627 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
10628 silly gunzTarPerm extractEntry README.md
10629 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10630 silly gunzTarPerm extractEntry README.md
10631 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10632 silly gunzTarPerm extractEntry LICENSE
10633 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10634 silly gunzTarPerm extractEntry .npmignore
10635 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
10636 silly gunzTarPerm extractEntry README.md
10637 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10638 silly gunzTarPerm extractEntry lib/form_data.js
10639 silly gunzTarPerm modified mode [ 'lib/form_data.js', 438, 420 ]
10640 silly gunzTarPerm extractEntry License
10641 silly gunzTarPerm modified mode [ 'License', 438, 420 ]
10642 silly gunzTarPerm extractEntry README.md
10643 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10644 silly gunzTarPerm extractEntry LICENSE
10645 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10646 silly gunzTarPerm extractEntry .npmignore
10647 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
10648 silly gunzTarPerm extractEntry README.md
10649 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10650 verbose registry.get globule not expired, no request
10651 silly addNameRange number 2 { name: 'globule', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
10652 silly addNameRange versions [ 'globule', [ '0.1.0' ] ]
10653 verbose addNamed [ 'globule', '0.1.0' ]
10654 verbose addNamed [ '0.1.0', '0.1.0' ]
10655 silly lockFile 4277c43c-globule-0-1-0 globule@0.1.0
10656 verbose lock globule@0.1.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\4277c43c-globule-0-1-0.lock
10657 silly gunzTarPerm extractEntry lib/public/icons/page_white_code.png
10658 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_code.png', 438, 420 ]
10659 silly gunzTarPerm extractEntry lib/public/icons/page_white_code_red.png
10660 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_code_red.png', 438, 420 ]
10661 silly lockFile 4277c43c-globule-0-1-0 globule@0.1.0
10662 silly lockFile 4277c43c-globule-0-1-0 globule@0.1.0
10663 silly gunzTarPerm extractEntry index.js
10664 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
10665 silly lockFile 95d0eb0c-globule-0-1-0 globule@~0.1.0
10666 silly lockFile 95d0eb0c-globule-0-1-0 globule@~0.1.0
10667 silly gunzTarPerm extractEntry index.js
10668 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
10669 silly addNameRange number 2 { name: 'findup-sync',
10669 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
10669 silly addNameRange hasData: true }
10670 silly addNameRange versions [ 'findup-sync', [ '0.1.0', '0.1.1', '0.1.2' ] ]
10671 verbose addNamed [ 'findup-sync', '0.1.2' ]
10672 verbose addNamed [ '0.1.2', '0.1.2' ]
10673 silly lockFile d7184b2b-findup-sync-0-1-2 findup-sync@0.1.2
10674 verbose lock findup-sync@0.1.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d7184b2b-findup-sync-0-1-2.lock
10675 silly resolved [ { name: 'globule',
10675 silly resolved description: 'An easy-to-use wildcard globbing library.',
10675 silly resolved version: '0.1.0',
10675 silly resolved homepage: 'https://github.com/cowboy/node-globule',
10675 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
10675 silly resolved repository: { type: 'git', url: 'git://github.com/cowboy/node-globule.git' },
10675 silly resolved bugs: { url: 'https://github.com/cowboy/node-globule/issues' },
10675 silly resolved licenses: [ [Object] ],
10675 silly resolved main: 'lib/globule',
10675 silly resolved engines: { node: '>= 0.8.0' },
10675 silly resolved scripts: { test: 'grunt nodeunit' },
10675 silly resolved devDependencies:
10675 silly resolved { 'grunt-contrib-jshint': '~0.1.1',
10675 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
10675 silly resolved 'grunt-contrib-watch': '~0.2.0',
10675 silly resolved grunt: '~0.4.1' },
10675 silly resolved keywords:
10675 silly resolved [ 'glob',
10675 silly resolved 'file',
10675 silly resolved 'match',
10675 silly resolved 'mapping',
10675 silly resolved 'expand',
10675 silly resolved 'wildcard',
10675 silly resolved 'pattern',
10675 silly resolved 'sync',
10675 silly resolved 'awesome' ],
10675 silly resolved dependencies: { lodash: '~1.0.1', glob: '~3.1.21', minimatch: '~0.2.11' },
10675 silly resolved readme: '# globule [![Build Status](https://secure.travis-ci.org/cowboy/node-globule.png?branch=master)](http://travis-ci.org/cowboy/node-globule)\n\nAn easy-to-use wildcard globbing library.\n\n## Getting Started\nInstall the module with: `npm install globule`\n\n```javascript\nvar globule = require(\'globule\');\nvar filepaths = globule.find(\'**/*.js\');\n```\n\n## Documentation\n\n### globule.find\nReturns a unique array of all file or directory paths that match the given globbing pattern(s). This method accepts either comma separated globbing patterns or an array of globbing patterns. Paths matching patterns that begin with `!` will be excluded from the returned array. Patterns are processed in order, so inclusion and exclusion order is significant.\n\n```js\nglobule.find(patterns [, options])\n```\n\nThe `options` object supports all [glob][] library options, along with a few extras. These are the most commonly used:\n\n* `filter` Either a valid [fs.Stats method name](http://nodejs.org/docs/latest/api/fs.html#fs_class_fs_stats) or a function that will be passed the matched `src` filepath and `options` object as arguments. This function should return a `Boolean` value.\n* `nonull` Retain globbing patterns in result set even if they fail to match files.\n* `matchBase` Patterns without slashes will match just the basename part. Eg. this makes `*.js` work like `**/*.js`.\n* `srcBase` Patterns will be matched relative to the specified path instead of the current working directory. This is a synonym for `cwd`.\n* `prefixBase` Any specified `srcBase` will be prefixed to all returned filepaths.\n\n[glob]: https://github.com/isaacs/node-glob\n\n### globule.match\nMatch one or more globbing patterns against one or more file paths. Returns a uniqued array of all file paths that match any of the specified globbing patterns. Both the `patterns` and `filepaths` arguments can be a single string or array of strings. Paths matching patterns that begin with `!` will be excluded from the returned array. Patterns are processed in order, so inclusion and exclusion order is significant.\n\n```js\ngrunt.file.match(patterns, filepaths [, options])\n```\n\n### globule.isMatch\nThis method contains the same signature and logic as the `globule.match` method, but returns `true` if any files were matched, otherwise `false`.\n\n```js\ngrunt.file.isMatch(patterns, filepaths [, options])\n```\n\n### globule.mapping\nGiven a set of source file paths, returns an array of src-dest file mapping objects. Both src and dest paths may be renamed, depending on the options specified.\n\n```js\nglobule.mapping(filepaths [, options])\n```\n\nIn addition to the options the `globule.find` method supports, the options object also supports these properties:\n\n* `srcBase` The directory from which patterns are matched. Any string specified as `srcBase` is effectively stripped from the beginning of all matched paths.\n* `destBase` The specified path is prefixed to all `dest` filepaths.\n* `ext` Remove anything after (and including) the first `.` in the destination path, then append this value.\n* `extDot` Change the behavior of `ext`, `"first"` and `"last"` will remove anything after the first or last `.` in the destination filename, respectively. Defaults to `"first"`.\n* `flatten` Remove the path component from all matched src files. The src file path is still joined to the specified destBase.\n* `rename` If specified, this function will be responsible for returning the final `dest` filepath. By default, it flattens paths (if specified), changes extensions (if specified) and joins the matched path to the `destBase`.\n\n### globule.findMapping\nThis method is a convenience wrapper around the `globule.find` and `globule.mapping` methods.\n\n```js\nglobule.findMapping(patterns [, options])\n```\n\n\n## Examples\n\nGiven the files `foo/a.js` and `foo/b.js`:\n\n### srcBase and destBase\n\n```js\nglobule.find("foo/*.js")\n// ["foo/a.js", "foo/b.js"]\n\nglobule.find("*.js", {srcBase: "foo"})\n// ["a.js", "b.js"]\n\nglobule.find("*.js", {srcBase: "foo", prefixBase: true})\n// ["foo/a.js", "foo/b.js"]\n```\n\n```js\nglobule.findMapping("foo/*.js")\n// [{src: "foo/a.js", dest: "foo/a.js"}, {src: "foo/b.js", dest: "foo/b.js"}]\n\nglobule.findMapping("foo/*.js", {destBase: "bar"})\n// [{src: "foo/a.js", dest: "bar/foo/a.js"}, {src: "foo/b.js", dest: "bar/foo/b.js"}]\n\nglobule.findMapping("*.js", {srcBase: "foo", destBase: "bar"})\n// [{src: "foo/a.js", dest: "bar/a.js"}, {src: "foo/b.js", dest: "bar/b.js"}]\n```\n\n```js\nglobule.mapping(["foo/a.js", "foo/b.js"])\n// [{src: "foo/a.js", dest: "foo/a.js"}, {src: "foo/b.js", dest: "foo/b.js"}]\n\nglobule.mapping(["foo/a.js", "foo/b.js"], {destBase: "bar"})\n// [{src: "foo/a.js", dest: "bar/foo/a.js"}, {src: "foo/b.js", dest: "bar/foo/b.js"}]\n\nglobule.mapping(["a.js", "b.js"], {srcBase: "foo", destBase: "bar"})\n// [{src: "foo/a.js", dest: "bar/a.js"}, {src: "foo/b.js", dest: "bar/b.js"}]\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n_(Nothing yet)_\n\n## License\nCopyright (c) 2013 "Cowboy" Ben Alman \nLicensed under the MIT license.\n',
10675 silly resolved readmeFilename: 'README.md',
10675 silly resolved _id: 'globule@0.1.0',
10675 silly resolved _from: 'globule@~0.1.0' } ]
10676 info install globule@0.1.0 into C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze
10677 info installOne globule@0.1.0
10678 silly gunzTarPerm extractEntry stringify.js
10679 silly gunzTarPerm modified mode [ 'stringify.js', 438, 420 ]
10680 silly gunzTarPerm extractEntry test.js
10681 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
10682 silly gunzTarPerm extractEntry index.js
10683 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
10684 silly gunzTarPerm extractEntry test.js
10685 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
10686 silly gunzTarPerm extractEntry index.js
10687 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
10688 silly gunzTarPerm extractEntry Readme.md
10689 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
10690 silly gunzTarPerm extractEntry index.js
10691 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
10692 silly gunzTarPerm extractEntry jar.js
10693 silly gunzTarPerm modified mode [ 'jar.js', 438, 420 ]
10694 silly gunzTarPerm extractEntry .gitmodules
10695 silly gunzTarPerm modified mode [ '.gitmodules', 438, 420 ]
10696 silly gunzTarPerm extractEntry Readme.md
10697 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
10698 info C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule unbuild
10699 silly gunzTarPerm extractEntry LICENSE
10700 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10701 silly gunzTarPerm extractEntry .dir-locals.el
10702 silly gunzTarPerm modified mode [ '.dir-locals.el', 438, 420 ]
10703 silly gunzTarPerm extractEntry uuid.js
10704 silly gunzTarPerm modified mode [ 'uuid.js', 438, 420 ]
10705 silly gunzTarPerm extractEntry benchmark/README.md
10706 silly gunzTarPerm modified mode [ 'benchmark/README.md', 438, 420 ]
10707 silly gunzTarPerm extractEntry benchmark/benchmark.js
10708 silly gunzTarPerm modified mode [ 'benchmark/benchmark.js', 438, 420 ]
10709 silly gunzTarPerm extractEntry benchmark/bench.gnu
10710 silly gunzTarPerm modified mode [ 'benchmark/bench.gnu', 438, 420 ]
10711 silly gunzTarPerm extractEntry benchmark/bench.sh
10712 silly gunzTarPerm modified mode [ 'benchmark/bench.sh', 438, 420 ]
10713 silly gunzTarPerm extractEntry benchmark/benchmark-native.c
10714 silly gunzTarPerm modified mode [ 'benchmark/benchmark-native.c', 438, 420 ]
10715 silly gunzTarPerm extractEntry component.json
10716 silly gunzTarPerm modified mode [ 'component.json', 438, 420 ]
10717 silly gunzTarPerm extractEntry LICENSE.md
10718 silly gunzTarPerm modified mode [ 'LICENSE.md', 438, 420 ]
10719 silly gunzTarPerm extractEntry test/compare_v1.js
10720 silly gunzTarPerm modified mode [ 'test/compare_v1.js', 438, 420 ]
10721 silly gunzTarPerm extractEntry test/test.js
10722 silly gunzTarPerm modified mode [ 'test/test.js', 438, 420 ]
10723 silly gunzTarPerm extractEntry test/test.html
10724 silly gunzTarPerm modified mode [ 'test/test.html', 438, 420 ]
10725 silly gunzTarPerm extractEntry mime.js
10726 silly gunzTarPerm modified mode [ 'mime.js', 438, 420 ]
10727 silly gunzTarPerm extractEntry test.js
10728 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
10729 silly gunzTarPerm extractEntry LICENSE
10730 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
10731 silly lockFile d7184b2b-findup-sync-0-1-2 findup-sync@0.1.2
10732 silly lockFile d7184b2b-findup-sync-0-1-2 findup-sync@0.1.2
10733 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
10734 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
10735 silly lockFile 625605b9-findup-sync-0-1-0 findup-sync@~0.1.0
10736 silly lockFile 625605b9-findup-sync-0-1-0 findup-sync@~0.1.0
10737 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\globule\0.1.0\package.tgz
10738 silly lockFile d914f743-odules-gaze-node-modules-globule tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule
10739 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d914f743-odules-gaze-node-modules-globule.lock
10740 silly lockFile 1f358f3e--cache-globule-0-1-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\globule\0.1.0\package.tgz
10741 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\globule\0.1.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\1f358f3e--cache-globule-0-1-0-package-tgz.lock
10742 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
10743 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
10744 silly gunzTarPerm modes [ '755', '644' ]
10745 silly gunzTarPerm extractEntry lib/public/icons/page_white_coldfusion.png
10746 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_coldfusion.png', 438, 420 ]
10747 silly gunzTarPerm extractEntry lib/public/icons/page_white_compressed.png
10748 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_compressed.png', 438, 420 ]
10749 silly gunzTarPerm extractEntry tests/run.js
10750 silly gunzTarPerm modified mode [ 'tests/run.js', 438, 420 ]
10751 silly gunzTarPerm extractEntry tests/test-cookie.js
10752 silly gunzTarPerm modified mode [ 'tests/test-cookie.js', 438, 420 ]
10753 silly gunzTarPerm extractEntry tests/test-cookiejar.js
10754 silly gunzTarPerm modified mode [ 'tests/test-cookiejar.js', 438, 420 ]
10755 silly gunzTarPerm extractEntry http_signing.md
10756 silly gunzTarPerm modified mode [ 'http_signing.md', 438, 420 ]
10757 silly gunzTarPerm extractEntry lib/index.js
10758 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
10759 silly gunzTarPerm extractEntry lib/parser.js
10760 silly gunzTarPerm modified mode [ 'lib/parser.js', 438, 420 ]
10761 silly gunzTarPerm extractEntry lib/signer.js
10762 silly gunzTarPerm modified mode [ 'lib/signer.js', 438, 420 ]
10763 silly gunzTarPerm extractEntry lib/util.js
10764 silly gunzTarPerm modified mode [ 'lib/util.js', 438, 420 ]
10765 silly gunzTarPerm extractEntry lib/verify.js
10766 silly gunzTarPerm modified mode [ 'lib/verify.js', 438, 420 ]
10767 silly gunzTarPerm extractEntry index.js
10768 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
10769 silly gunzTarPerm extractEntry .travis.yml
10770 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
10771 silly gunzTarPerm extractEntry package.json
10772 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10773 silly gunzTarPerm extractEntry types/mime.types
10774 silly gunzTarPerm modified mode [ 'types/mime.types', 438, 420 ]
10775 silly gunzTarPerm extractEntry types/node.types
10776 silly gunzTarPerm modified mode [ 'types/node.types', 438, 420 ]
10777 silly gunzTarPerm extractEntry .npmignore
10778 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
10779 silly gunzTarPerm extractEntry README.md
10780 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
10781 silly gunzTarPerm extractEntry lib/public/icons/page_white_copy.png
10782 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_copy.png', 438, 420 ]
10783 silly gunzTarPerm extractEntry lib/public/icons/page_white_cplusplus.png
10784 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_cplusplus.png', 438, 420 ]
10785 silly gunzTarPerm extractEntry Gruntfile.js
10786 silly gunzTarPerm modified mode [ 'Gruntfile.js', 438, 420 ]
10787 silly gunzTarPerm extractEntry .jshintrc
10788 silly gunzTarPerm modified mode [ '.jshintrc', 438, 420 ]
10789 silly gunzTarPerm extractEntry lib/public/icons/page_white_csharp.png
10790 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_csharp.png', 438, 420 ]
10791 silly gunzTarPerm extractEntry lib/public/icons/page_white_cup.png
10792 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_cup.png', 438, 420 ]
10793 silly gunzTarPerm extractEntry .travis.yml
10794 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
10795 silly gunzTarPerm extractEntry lib/globule.js
10796 silly gunzTarPerm modified mode [ 'lib/globule.js', 438, 420 ]
10797 silly gunzTarPerm extractEntry lib/public/icons/page_white_database.png
10798 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_database.png', 438, 420 ]
10799 silly gunzTarPerm extractEntry lib/public/icons/page_white_delete.png
10800 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_delete.png', 438, 420 ]
10801 silly lockFile 65d29edc-node-modules-json-stringify-safe tar://C:\Projects\trainingsservice\node_modules\request\node_modules\json-stringify-safe
10802 silly lockFile 65d29edc-node-modules-json-stringify-safe tar://C:\Projects\trainingsservice\node_modules\request\node_modules\json-stringify-safe
10803 silly lockFile 84e2c4bd-quest-node-modules-forever-agent tar://C:\Projects\trainingsservice\node_modules\request\node_modules\forever-agent
10804 silly lockFile 84e2c4bd-quest-node-modules-forever-agent tar://C:\Projects\trainingsservice\node_modules\request\node_modules\forever-agent
10805 silly lockFile d126c357-stringify-safe-5-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
10806 silly lockFile d126c357-stringify-safe-5-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
10807 silly lockFile d04ae115--forever-agent-0-5-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
10808 silly lockFile d04ae115--forever-agent-0-5-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
10809 http 304 https://registry.npmjs.org/coffee-script
10810 silly registry.get cb [ 304,
10810 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10810 silly registry.get etag: '"D6W2D9MC80MJAFWCFZ2W18E18"',
10810 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10810 silly registry.get 'content-length': '0' } ]
10811 verbose etag coffee-script from cache
10812 silly lockFile a33ad9c7-es-request-node-modules-aws-sign tar://C:\Projects\trainingsservice\node_modules\request\node_modules\aws-sign
10813 silly lockFile a33ad9c7-es-request-node-modules-aws-sign tar://C:\Projects\trainingsservice\node_modules\request\node_modules\aws-sign
10814 silly lockFile c6a9aa86-cache-aws-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
10815 silly lockFile c6a9aa86-cache-aws-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
10816 silly gunzTarPerm extractEntry LICENSE-MIT
10817 silly gunzTarPerm modified mode [ 'LICENSE-MIT', 438, 420 ]
10818 info preinstall forever-agent@0.5.0
10819 info preinstall json-stringify-safe@5.0.0
10820 silly lockFile 36a80412-equest-node-modules-tunnel-agent tar://C:\Projects\trainingsservice\node_modules\request\node_modules\tunnel-agent
10821 silly lockFile 36a80412-equest-node-modules-tunnel-agent tar://C:\Projects\trainingsservice\node_modules\request\node_modules\tunnel-agent
10822 silly gunzTarPerm extractEntry lib/public/icons/page_white_dvd.png
10823 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_dvd.png', 438, 420 ]
10824 silly gunzTarPerm extractEntry lib/public/icons/page_add.png
10825 silly gunzTarPerm modified mode [ 'lib/public/icons/page_add.png', 438, 420 ]
10826 silly lockFile 072af879-e-tunnel-agent-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
10827 silly lockFile 072af879-e-tunnel-agent-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
10828 info preinstall aws-sign@0.3.0
10829 silly lockFile 3af99ef6--modules-request-node-modules-qs tar://C:\Projects\trainingsservice\node_modules\request\node_modules\qs
10830 silly lockFile 3af99ef6--modules-request-node-modules-qs tar://C:\Projects\trainingsservice\node_modules\request\node_modules\qs
10831 silly lockFile 543f3abc-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
10832 silly lockFile 543f3abc-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
10833 verbose readDependencies using package.json deps
10834 verbose readDependencies using package.json deps
10835 silly lockFile adc7f9f9--request-node-modules-oauth-sign tar://C:\Projects\trainingsservice\node_modules\request\node_modules\oauth-sign
10836 silly lockFile adc7f9f9--request-node-modules-oauth-sign tar://C:\Projects\trainingsservice\node_modules\request\node_modules\oauth-sign
10837 verbose readDependencies using package.json deps
10838 silly resolved []
10839 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\forever-agent
10840 info build C:\Projects\trainingsservice\node_modules\request\node_modules\forever-agent
10841 verbose linkStuff [ false,
10841 verbose linkStuff false,
10841 verbose linkStuff false,
10841 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
10842 info linkStuff forever-agent@0.5.0
10843 verbose linkBins forever-agent@0.5.0
10844 verbose linkMans forever-agent@0.5.0
10845 verbose rebuildBundles forever-agent@0.5.0
10846 verbose readDependencies using package.json deps
10847 silly resolved []
10848 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\json-stringify-safe
10849 info build C:\Projects\trainingsservice\node_modules\request\node_modules\json-stringify-safe
10850 verbose linkStuff [ false,
10850 verbose linkStuff false,
10850 verbose linkStuff false,
10850 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
10851 info linkStuff json-stringify-safe@5.0.0
10852 verbose linkBins json-stringify-safe@5.0.0
10853 verbose linkMans json-stringify-safe@5.0.0
10854 verbose rebuildBundles json-stringify-safe@5.0.0
10855 http 304 https://registry.npmjs.org/optimist
10856 silly registry.get cb [ 304,
10856 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10856 silly registry.get etag: '"5IL3A9FIGT7NJ4U0FAPQJYEJU"',
10856 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10856 silly registry.get 'content-length': '0' } ]
10857 verbose etag optimist from cache
10858 verbose readDependencies using package.json deps
10859 silly lockFile 288b6b83-che-oauth-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
10860 silly lockFile 288b6b83-che-oauth-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
10861 silly lockFile ecb85140-s-request-node-modules-form-data tar://C:\Projects\trainingsservice\node_modules\request\node_modules\form-data
10862 silly lockFile ecb85140-s-request-node-modules-form-data tar://C:\Projects\trainingsservice\node_modules\request\node_modules\form-data
10863 info install forever-agent@0.5.0
10864 info install json-stringify-safe@5.0.0
10865 silly addNameRange number 2 { name: 'coffee-script',
10865 silly addNameRange range: '>=1.6.0-0 <1.7.0-0',
10865 silly addNameRange hasData: true }
10866 silly addNameRange versions [ 'coffee-script',
10866 silly addNameRange [ '0.7.0',
10866 silly addNameRange '0.7.1',
10866 silly addNameRange '0.7.2',
10866 silly addNameRange '0.9.0',
10866 silly addNameRange '0.9.1',
10866 silly addNameRange '0.9.2',
10866 silly addNameRange '0.9.3',
10866 silly addNameRange '0.9.4',
10866 silly addNameRange '0.9.5',
10866 silly addNameRange '0.9.6',
10866 silly addNameRange '1.0.0',
10866 silly addNameRange '1.0.1',
10866 silly addNameRange '1.1.0',
10866 silly addNameRange '1.1.1',
10866 silly addNameRange '1.1.2',
10866 silly addNameRange '1.1.3',
10866 silly addNameRange '1.2.0',
10866 silly addNameRange '1.3.0',
10866 silly addNameRange '1.3.1',
10866 silly addNameRange '1.3.2',
10866 silly addNameRange '1.3.3',
10866 silly addNameRange '1.4.0',
10866 silly addNameRange '1.5.0',
10866 silly addNameRange '1.6.0',
10866 silly addNameRange '1.6.1',
10866 silly addNameRange '1.6.2',
10866 silly addNameRange '1.6.3' ] ]
10867 verbose addNamed [ 'coffee-script', '1.6.3' ]
10868 verbose addNamed [ '1.6.3', '1.6.3' ]
10869 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
10870 verbose lock coffee-script@1.6.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\15ab88ca-coffee-script-1-6-3.lock
10871 http 304 https://registry.npmjs.org/rimraf
10872 silly registry.get cb [ 304,
10872 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10872 silly registry.get etag: '"BO8JLBC2TKAXGJCA5T3URAII3"',
10872 silly registry.get date: 'Thu, 21 Nov 2013 08:42:54 GMT',
10872 silly registry.get 'content-length': '0' } ]
10873 verbose etag rimraf from cache
10874 info preinstall tunnel-agent@0.3.0
10875 verbose readDependencies using package.json deps
10876 silly resolved []
10877 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\aws-sign
10878 info build C:\Projects\trainingsservice\node_modules\request\node_modules\aws-sign
10879 verbose linkStuff [ false,
10879 verbose linkStuff false,
10879 verbose linkStuff false,
10879 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
10880 info linkStuff aws-sign@0.3.0
10881 verbose linkBins aws-sign@0.3.0
10882 verbose linkMans aws-sign@0.3.0
10883 verbose rebuildBundles aws-sign@0.3.0
10884 silly lockFile 451be907-ache-form-data-0-1-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
10885 silly lockFile 451be907-ache-form-data-0-1-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
10886 info install aws-sign@0.3.0
10887 info postinstall forever-agent@0.5.0
10888 info postinstall json-stringify-safe@5.0.0
10889 info preinstall qs@0.6.5
10890 silly gunzTarPerm extractEntry test/globule_test.js
10891 silly gunzTarPerm modified mode [ 'test/globule_test.js', 438, 420 ]
10892 silly gunzTarPerm extractEntry test/fixtures/expand/README.md
10893 silly gunzTarPerm modified mode [ 'test/fixtures/expand/README.md', 438, 420 ]
10894 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
10895 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
10896 verbose readDependencies using package.json deps
10897 info postinstall aws-sign@0.3.0
10898 info preinstall oauth-sign@0.3.0
10899 silly lockFile d0c13b8a-coffee-script-1-6 coffee-script@~1.6
10900 silly lockFile d0c13b8a-coffee-script-1-6 coffee-script@~1.6
10901 verbose readDependencies using package.json deps
10902 silly resolved []
10903 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\tunnel-agent
10904 info build C:\Projects\trainingsservice\node_modules\request\node_modules\tunnel-agent
10905 verbose linkStuff [ false,
10905 verbose linkStuff false,
10905 verbose linkStuff false,
10905 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
10906 info linkStuff tunnel-agent@0.3.0
10907 verbose linkBins tunnel-agent@0.3.0
10908 verbose linkMans tunnel-agent@0.3.0
10909 verbose rebuildBundles tunnel-agent@0.3.0
10910 silly gunzTarPerm extractEntry lib/public/icons/page_white_error.png
10911 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_error.png', 438, 420 ]
10912 silly gunzTarPerm extractEntry lib/public/icons/page_white_excel.png
10913 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_excel.png', 438, 420 ]
10914 silly gunzTarPerm extractEntry example/usage.js
10915 silly gunzTarPerm modified mode [ 'example/usage.js', 438, 420 ]
10916 silly gunzTarPerm extractEntry Makefile
10917 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
10918 verbose readDependencies using package.json deps
10919 info preinstall form-data@0.1.2
10920 info install tunnel-agent@0.3.0
10921 verbose readDependencies using package.json deps
10922 silly resolved []
10923 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\qs
10924 info build C:\Projects\trainingsservice\node_modules\request\node_modules\qs
10925 verbose linkStuff [ false,
10925 verbose linkStuff false,
10925 verbose linkStuff false,
10925 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
10926 info linkStuff qs@0.6.5
10927 verbose linkBins qs@0.6.5
10928 verbose linkMans qs@0.6.5
10929 verbose rebuildBundles qs@0.6.5
10930 verbose readDependencies using package.json deps
10931 info install qs@0.6.5
10932 info postinstall tunnel-agent@0.3.0
10933 verbose readDependencies using package.json deps
10934 silly resolved []
10935 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\oauth-sign
10936 info build C:\Projects\trainingsservice\node_modules\request\node_modules\oauth-sign
10937 verbose linkStuff [ false,
10937 verbose linkStuff false,
10937 verbose linkStuff false,
10937 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
10938 info linkStuff oauth-sign@0.3.0
10939 verbose linkBins oauth-sign@0.3.0
10940 verbose linkMans oauth-sign@0.3.0
10941 verbose rebuildBundles oauth-sign@0.3.0
10942 silly addNameRange number 2 { name: 'rimraf', range: '>=2.1.0-0 <2.2.0-0', hasData: true }
10943 silly addNameRange versions [ 'rimraf',
10943 silly addNameRange [ '1.0.0',
10943 silly addNameRange '1.0.1',
10943 silly addNameRange '1.0.2',
10943 silly addNameRange '1.0.4',
10943 silly addNameRange '1.0.5',
10943 silly addNameRange '1.0.6',
10943 silly addNameRange '1.0.7',
10943 silly addNameRange '1.0.8',
10943 silly addNameRange '1.0.9',
10943 silly addNameRange '2.0.0',
10943 silly addNameRange '2.0.1',
10943 silly addNameRange '2.0.2',
10943 silly addNameRange '2.0.3',
10943 silly addNameRange '2.1.0',
10943 silly addNameRange '2.1.1',
10943 silly addNameRange '2.1.2',
10943 silly addNameRange '2.1.3',
10943 silly addNameRange '2.1.4',
10943 silly addNameRange '2.2.0',
10943 silly addNameRange '2.2.1',
10943 silly addNameRange '2.2.2' ] ]
10944 verbose addNamed [ 'rimraf', '2.1.4' ]
10945 verbose addNamed [ '2.1.4', '2.1.4' ]
10946 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
10947 verbose lock rimraf@2.1.4 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\faaa5c02-rimraf-2-1-4.lock
10948 silly addNameRange number 2 { name: 'optimist', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
10949 silly addNameRange versions [ 'optimist',
10949 silly addNameRange [ '0.0.1',
10949 silly addNameRange '0.0.2',
10949 silly addNameRange '0.0.4',
10949 silly addNameRange '0.0.5',
10949 silly addNameRange '0.0.6',
10949 silly addNameRange '0.0.7',
10949 silly addNameRange '0.1.0',
10949 silly addNameRange '0.1.1',
10949 silly addNameRange '0.1.2',
10949 silly addNameRange '0.1.3',
10949 silly addNameRange '0.1.4',
10949 silly addNameRange '0.1.5',
10949 silly addNameRange '0.1.6',
10949 silly addNameRange '0.1.7',
10949 silly addNameRange '0.1.8',
10949 silly addNameRange '0.1.9',
10949 silly addNameRange '0.0.3',
10949 silly addNameRange '0.2.0',
10949 silly addNameRange '0.2.1',
10949 silly addNameRange '0.2.2',
10949 silly addNameRange '0.2.3',
10949 silly addNameRange '0.2.4',
10949 silly addNameRange '0.2.5',
10949 silly addNameRange '0.2.6',
10949 silly addNameRange '0.2.7',
10949 silly addNameRange '0.2.8',
10949 silly addNameRange '0.3.0',
10949 silly addNameRange '0.3.1',
10949 silly addNameRange '0.3.3',
10949 silly addNameRange '0.3.4',
10949 silly addNameRange '0.3.5',
10949 silly addNameRange '0.3.6',
10949 silly addNameRange '0.3.7',
10949 silly addNameRange '0.4.0',
10949 silly addNameRange '0.5.0',
10949 silly addNameRange '0.5.1',
10949 silly addNameRange '0.5.2',
10949 silly addNameRange '0.6.0' ] ]
10950 verbose addNamed [ 'optimist', '0.3.7' ]
10951 verbose addNamed [ '0.3.7', '0.3.7' ]
10952 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
10953 verbose lock optimist@0.3.7 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\090e1d8d-optimist-0-3-7.lock
10954 silly gunzTarPerm modes [ '755', '644' ]
10955 silly gunzTarPerm modes [ '755', '644' ]
10956 silly gunzTarPerm modes [ '755', '644' ]
10957 silly gunzTarPerm modes [ '755', '644' ]
10958 silly gunzTarPerm modes [ '755', '644' ]
10959 silly gunzTarPerm modes [ '755', '644' ]
10960 silly gunzTarPerm modes [ '755', '644' ]
10961 verbose readDependencies using package.json deps
10962 info install oauth-sign@0.3.0
10963 info postinstall qs@0.6.5
10964 verbose readDependencies using package.json deps
10965 info postinstall oauth-sign@0.3.0
10966 silly gunzTarPerm extractEntry test/fixtures/expand/css/baz.css
10967 silly gunzTarPerm modified mode [ 'test/fixtures/expand/css/baz.css', 438, 420 ]
10968 silly gunzTarPerm extractEntry test/fixtures/expand/css/qux.css
10969 silly gunzTarPerm modified mode [ 'test/fixtures/expand/css/qux.css', 438, 420 ]
10970 silly gunzTarPerm extractEntry package.json
10971 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10972 silly gunzTarPerm extractEntry package.json
10973 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10974 silly gunzTarPerm extractEntry package.json
10975 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10976 silly gunzTarPerm extractEntry package.json
10977 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10978 silly gunzTarPerm extractEntry package.json
10979 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10980 silly gunzTarPerm extractEntry package.json
10981 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10982 silly gunzTarPerm extractEntry package.json
10983 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
10984 silly gunzTarPerm extractEntry images/hawk.png
10985 silly gunzTarPerm modified mode [ 'images/hawk.png', 438, 420 ]
10986 silly gunzTarPerm extractEntry images/logo.png
10987 silly gunzTarPerm modified mode [ 'images/logo.png', 438, 420 ]
10988 verbose cache add [ 'combined-stream@~0.0.4', null ]
10989 verbose cache add name=undefined spec="combined-stream@~0.0.4" args=["combined-stream@~0.0.4",null]
10990 verbose parsed url { protocol: null,
10990 verbose parsed url slashes: null,
10990 verbose parsed url auth: null,
10990 verbose parsed url host: null,
10990 verbose parsed url port: null,
10990 verbose parsed url hostname: null,
10990 verbose parsed url hash: null,
10990 verbose parsed url search: null,
10990 verbose parsed url query: null,
10990 verbose parsed url pathname: 'combined-stream@~0.0.4',
10990 verbose parsed url path: 'combined-stream@~0.0.4',
10990 verbose parsed url href: 'combined-stream@~0.0.4' }
10991 verbose cache add name="combined-stream" spec="~0.0.4" args=["combined-stream","~0.0.4"]
10992 verbose parsed url { protocol: null,
10992 verbose parsed url slashes: null,
10992 verbose parsed url auth: null,
10992 verbose parsed url host: null,
10992 verbose parsed url port: null,
10992 verbose parsed url hostname: null,
10992 verbose parsed url hash: null,
10992 verbose parsed url search: null,
10992 verbose parsed url query: null,
10992 verbose parsed url pathname: '~0.0.4',
10992 verbose parsed url path: '~0.0.4',
10992 verbose parsed url href: '~0.0.4' }
10993 verbose addNamed [ 'combined-stream', '~0.0.4' ]
10994 verbose addNamed [ null, '>=0.0.4-0 <0.1.0-0' ]
10995 silly lockFile 97e270a8-combined-stream-0-0-4 combined-stream@~0.0.4
10996 verbose lock combined-stream@~0.0.4 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\97e270a8-combined-stream-0-0-4.lock
10997 verbose cache add [ 'async@~0.2.9', null ]
10998 verbose cache add name=undefined spec="async@~0.2.9" args=["async@~0.2.9",null]
10999 verbose parsed url { protocol: null,
10999 verbose parsed url slashes: null,
10999 verbose parsed url auth: null,
10999 verbose parsed url host: null,
10999 verbose parsed url port: null,
10999 verbose parsed url hostname: null,
10999 verbose parsed url hash: null,
10999 verbose parsed url search: null,
10999 verbose parsed url query: null,
10999 verbose parsed url pathname: 'async@~0.2.9',
10999 verbose parsed url path: 'async@~0.2.9',
10999 verbose parsed url href: 'async@~0.2.9' }
11000 verbose cache add name="async" spec="~0.2.9" args=["async","~0.2.9"]
11001 verbose parsed url { protocol: null,
11001 verbose parsed url slashes: null,
11001 verbose parsed url auth: null,
11001 verbose parsed url host: null,
11001 verbose parsed url port: null,
11001 verbose parsed url hostname: null,
11001 verbose parsed url hash: null,
11001 verbose parsed url search: null,
11001 verbose parsed url query: null,
11001 verbose parsed url pathname: '~0.2.9',
11001 verbose parsed url path: '~0.2.9',
11001 verbose parsed url href: '~0.2.9' }
11002 verbose addNamed [ 'async', '~0.2.9' ]
11003 verbose addNamed [ null, '>=0.2.9-0 <0.3.0-0' ]
11004 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
11005 verbose lock async@~0.2.9 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5d51c871-async-0-2-9.lock
11006 silly gunzTarPerm extractEntry lib/public/icons/page_white_find.png
11007 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_find.png', 438, 420 ]
11008 silly gunzTarPerm extractEntry lib/public/icons/page_white_flash.png
11009 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_flash.png', 438, 420 ]
11010 silly gunzTarPerm extractEntry .npmignore
11011 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
11012 silly gunzTarPerm extractEntry index.js
11013 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
11014 silly lockFile 6a985eb2-offee-node-modules-coffee-script tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-coffee\node_modules\coffee-script
11015 silly lockFile 6a985eb2-offee-node-modules-coffee-script tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-coffee\node_modules\coffee-script
11016 silly addNameRange { name: 'combined-stream',
11016 silly addNameRange range: '>=0.0.4-0 <0.1.0-0',
11016 silly addNameRange hasData: false }
11017 silly addNameRange { name: 'async', range: '>=0.2.9-0 <0.3.0-0', hasData: false }
11018 silly gunzTarPerm extractEntry README.md
11019 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11020 silly gunzTarPerm extractEntry LICENSE
11021 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11022 silly gunzTarPerm extractEntry lib/form_data.js
11023 silly gunzTarPerm modified mode [ 'lib/form_data.js', 438, 420 ]
11024 silly gunzTarPerm extractEntry License
11025 silly gunzTarPerm modified mode [ 'License', 438, 420 ]
11026 silly lockFile 3d7a4163--coffee-script-1-6-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
11027 silly lockFile 3d7a4163--coffee-script-1-6-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
11028 silly gunzTarPerm extractEntry README.md
11029 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11030 silly gunzTarPerm extractEntry LICENSE
11031 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11032 silly gunzTarPerm extractEntry README.md
11033 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11034 silly gunzTarPerm extractEntry LICENSE
11035 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11036 silly gunzTarPerm extractEntry README.md
11037 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11038 silly gunzTarPerm extractEntry LICENSE
11039 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11040 silly gunzTarPerm extractEntry README.md
11041 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11042 silly gunzTarPerm extractEntry LICENSE
11043 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11044 silly gunzTarPerm extractEntry test/fixtures/expand/deep/deep.txt
11045 silly gunzTarPerm modified mode [ 'test/fixtures/expand/deep/deep.txt', 438, 420 ]
11046 silly gunzTarPerm extractEntry test/fixtures/expand/deep/deeper/deeper.txt
11047 silly gunzTarPerm modified mode [ 'test/fixtures/expand/deep/deeper/deeper.txt', 438, 420 ]
11048 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
11049 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
11050 http 304 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
11051 silly registry.get cb [ 304,
11051 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11051 silly registry.get etag: '"53MGS4758SFBP4J0VMOWHAVRB"',
11051 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11051 silly registry.get 'content-length': '0' } ]
11052 verbose etag dateformat/1.0.2-1.2.3 from cache
11053 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
11054 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
11055 silly lockFile 37a759a6-rimraf-2-1 rimraf@~2.1
11056 silly lockFile 37a759a6-rimraf-2-1 rimraf@~2.1
11057 silly gunzTarPerm extractEntry test/browser.js
11058 silly gunzTarPerm modified mode [ 'test/browser.js', 438, 420 ]
11059 info preinstall coffee-script@1.6.3
11060 verbose registry.get async not expired, no request
11061 silly addNameRange number 2 { name: 'async', range: '>=0.2.9-0 <0.3.0-0', hasData: true }
11062 silly addNameRange versions [ 'async',
11062 silly addNameRange [ '0.1.0',
11062 silly addNameRange '0.1.1',
11062 silly addNameRange '0.1.2',
11062 silly addNameRange '0.1.3',
11062 silly addNameRange '0.1.4',
11062 silly addNameRange '0.1.5',
11062 silly addNameRange '0.1.6',
11062 silly addNameRange '0.1.7',
11062 silly addNameRange '0.1.8',
11062 silly addNameRange '0.1.9',
11062 silly addNameRange '0.1.10',
11062 silly addNameRange '0.1.11',
11062 silly addNameRange '0.1.12',
11062 silly addNameRange '0.1.13',
11062 silly addNameRange '0.1.14',
11062 silly addNameRange '0.1.15',
11062 silly addNameRange '0.1.16',
11062 silly addNameRange '0.1.17',
11062 silly addNameRange '0.1.18',
11062 silly addNameRange '0.1.19',
11062 silly addNameRange '0.1.20',
11062 silly addNameRange '0.1.21',
11062 silly addNameRange '0.1.22',
11062 silly addNameRange '0.2.0',
11062 silly addNameRange '0.2.1',
11062 silly addNameRange '0.2.2',
11062 silly addNameRange '0.2.3',
11062 silly addNameRange '0.2.4',
11062 silly addNameRange '0.2.5',
11062 silly addNameRange '0.2.6',
11062 silly addNameRange '0.2.7',
11062 silly addNameRange '0.2.8',
11062 silly addNameRange '0.2.9' ] ]
11063 verbose addNamed [ 'async', '0.2.9' ]
11064 verbose addNamed [ '0.2.9', '0.2.9' ]
11065 silly lockFile be62480b-async-0-2-9 async@0.2.9
11066 verbose lock async@0.2.9 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\be62480b-async-0-2-9.lock
11067 silly lockFile c01d0ea5-optimist-0-3 optimist@~0.3
11068 silly lockFile c01d0ea5-optimist-0-3 optimist@~0.3
11069 verbose url raw combined-stream
11070 verbose url resolving [ 'https://registry.npmjs.org/', './combined-stream' ]
11071 verbose url resolved https://registry.npmjs.org/combined-stream
11072 info trying registry request attempt 1 at 09:42:55
11073 verbose etag "7GOPQ5A1IHQ6AIHJHIP2M1TQ1"
11074 http GET https://registry.npmjs.org/combined-stream
11075 silly gunzTarPerm extractEntry .gitmodules
11076 silly gunzTarPerm modified mode [ '.gitmodules', 438, 420 ]
11077 silly gunzTarPerm extractEntry Readme.md
11078 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
11079 silly gunzTarPerm extractEntry lib/public/icons/page_white_freehand.png
11080 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_freehand.png', 438, 420 ]
11081 silly gunzTarPerm extractEntry lib/public/icons/page_white_gear.png
11082 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_gear.png', 438, 420 ]
11083 verbose readDependencies using package.json deps
11084 silly lockFile be62480b-async-0-2-9 async@0.2.9
11085 silly lockFile be62480b-async-0-2-9 async@0.2.9
11086 silly gunzTarPerm extractEntry Readme.md
11087 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
11088 verbose readDependencies using package.json deps
11089 silly resolved []
11090 verbose about to build C:\Projects\trainingsservice\node_modules\grunt-contrib-coffee\node_modules\coffee-script
11091 info build C:\Projects\trainingsservice\node_modules\grunt-contrib-coffee\node_modules\coffee-script
11092 verbose linkStuff [ false,
11092 verbose linkStuff false,
11092 verbose linkStuff false,
11092 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\grunt-contrib-coffee\\node_modules' ]
11093 info linkStuff coffee-script@1.6.3
11094 verbose linkBins coffee-script@1.6.3
11095 verbose link bins [ { coffee: './bin/coffee', cake: './bin/cake' },
11095 verbose link bins 'C:\\Projects\\trainingsservice\\node_modules\\grunt-contrib-coffee\\node_modules\\.bin',
11095 verbose link bins false ]
11096 verbose linkMans coffee-script@1.6.3
11097 verbose rebuildBundles coffee-script@1.6.3
11098 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
11099 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
11100 silly gunzTarPerm extractEntry index.js
11101 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
11102 silly gunzTarPerm extractEntry index.js
11103 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
11104 silly gunzTarPerm extractEntry stringify.js
11105 silly gunzTarPerm modified mode [ 'stringify.js', 438, 420 ]
11106 silly gunzTarPerm extractEntry test.js
11107 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
11108 silly gunzTarPerm extractEntry index.js
11109 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
11110 silly gunzTarPerm extractEntry test.js
11111 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
11112 silly gunzTarPerm extractEntry index.js
11113 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
11114 http 304 https://registry.npmjs.org/rimraf
11115 silly registry.get cb [ 304,
11115 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11115 silly registry.get etag: '"BO8JLBC2TKAXGJCA5T3URAII3"',
11115 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11115 silly registry.get 'content-length': '0' } ]
11116 verbose etag rimraf from cache
11117 silly gunzTarPerm extractEntry test/client.js
11118 silly gunzTarPerm modified mode [ 'test/client.js', 438, 420 ]
11119 silly gunzTarPerm extractEntry test/crypto.js
11120 silly gunzTarPerm modified mode [ 'test/crypto.js', 438, 420 ]
11121 silly gunzTarPerm extractEntry lib/public/icons/page_white_get.png
11122 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_get.png', 438, 420 ]
11123 silly gunzTarPerm extractEntry lib/public/icons/page_white_go.png
11124 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_go.png', 438, 420 ]
11125 silly lockFile dc1d3b99--request-node-modules-cookie-jar tar://C:\Projects\trainingsservice\node_modules\request\node_modules\cookie-jar
11126 silly lockFile dc1d3b99--request-node-modules-cookie-jar tar://C:\Projects\trainingsservice\node_modules\request\node_modules\cookie-jar
11127 silly lockFile 2e1a11bd-che-cookie-jar-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
11128 silly lockFile 2e1a11bd-che-cookie-jar-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
11129 silly addNameRange number 2 { name: 'rimraf', range: '>=2.0.2-0 <2.1.0-0', hasData: true }
11130 silly addNameRange versions [ 'rimraf',
11130 silly addNameRange [ '1.0.0',
11130 silly addNameRange '1.0.1',
11130 silly addNameRange '1.0.2',
11130 silly addNameRange '1.0.4',
11130 silly addNameRange '1.0.5',
11130 silly addNameRange '1.0.6',
11130 silly addNameRange '1.0.7',
11130 silly addNameRange '1.0.8',
11130 silly addNameRange '1.0.9',
11130 silly addNameRange '2.0.0',
11130 silly addNameRange '2.0.1',
11130 silly addNameRange '2.0.2',
11130 silly addNameRange '2.0.3',
11130 silly addNameRange '2.1.0',
11130 silly addNameRange '2.1.1',
11130 silly addNameRange '2.1.2',
11130 silly addNameRange '2.1.3',
11130 silly addNameRange '2.1.4',
11130 silly addNameRange '2.2.0',
11130 silly addNameRange '2.2.1',
11130 silly addNameRange '2.2.2' ] ]
11131 verbose addNamed [ 'rimraf', '2.0.3' ]
11132 verbose addNamed [ '2.0.3', '2.0.3' ]
11133 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
11134 verbose lock rimraf@2.0.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\166fc4dd-rimraf-2-0-3.lock
11135 silly gunzTarPerm extractEntry test/fixtures/expand/deep/deeper/deepest/deepest.txt
11136 silly gunzTarPerm modified mode [ 'test/fixtures/expand/deep/deeper/deepest/deepest.txt',
11136 silly gunzTarPerm 438,
11136 silly gunzTarPerm 420 ]
11137 silly gunzTarPerm extractEntry test/fixtures/expand/js/bar.js
11138 silly gunzTarPerm modified mode [ 'test/fixtures/expand/js/bar.js', 438, 420 ]
11139 info preinstall cookie-jar@0.3.0
11140 info install coffee-script@1.6.3
11141 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
11142 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
11143 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
11144 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
11145 verbose readDependencies using package.json deps
11146 info postinstall coffee-script@1.6.3
11147 silly lockFile 723423b4-rimraf-2-0-2 rimraf@~2.0.2
11148 silly lockFile 723423b4-rimraf-2-0-2 rimraf@~2.0.2
11149 silly gunzTarPerm extractEntry test/index.js
11150 silly gunzTarPerm modified mode [ 'test/index.js', 438, 420 ]
11151 silly gunzTarPerm extractEntry test/message.js
11152 silly gunzTarPerm modified mode [ 'test/message.js', 438, 420 ]
11153 silly gunzTarPerm extractEntry lib/public/icons/page_white_h.png
11154 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_h.png', 438, 420 ]
11155 silly gunzTarPerm extractEntry lib/public/icons/page_white_horizontal.png
11156 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_horizontal.png', 438, 420 ]
11157 verbose readDependencies using package.json deps
11158 silly resolved []
11159 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\cookie-jar
11160 info build C:\Projects\trainingsservice\node_modules\request\node_modules\cookie-jar
11161 verbose linkStuff [ false,
11161 verbose linkStuff false,
11161 verbose linkStuff false,
11161 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
11162 info linkStuff cookie-jar@0.3.0
11163 verbose linkBins cookie-jar@0.3.0
11164 verbose linkMans cookie-jar@0.3.0
11165 verbose rebuildBundles cookie-jar@0.3.0
11166 info install cookie-jar@0.3.0
11167 verbose about to build C:\Projects\trainingsservice\node_modules\grunt-contrib-coffee
11168 info build C:\Projects\trainingsservice\node_modules\grunt-contrib-coffee
11169 verbose linkStuff [ false,
11169 verbose linkStuff false,
11169 verbose linkStuff false,
11169 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules' ]
11170 info linkStuff grunt-contrib-coffee@0.7.0
11171 verbose linkBins grunt-contrib-coffee@0.7.0
11172 verbose linkMans grunt-contrib-coffee@0.7.0
11173 verbose rebuildBundles grunt-contrib-coffee@0.7.0
11174 verbose rebuildBundles [ '.bin', 'coffee-script' ]
11175 info install grunt-contrib-coffee@0.7.0
11176 info postinstall cookie-jar@0.3.0
11177 info postinstall grunt-contrib-coffee@0.7.0
11178 silly gunzTarPerm extractEntry test/fixtures/expand/js/foo.js
11179 silly gunzTarPerm modified mode [ 'test/fixtures/expand/js/foo.js', 438, 420 ]
11180 silly gunzTarPerm extractEntry test/readme.js
11181 silly gunzTarPerm modified mode [ 'test/readme.js', 438, 420 ]
11182 silly gunzTarPerm extractEntry test/server.js
11183 silly gunzTarPerm modified mode [ 'test/server.js', 438, 420 ]
11184 silly gunzTarPerm extractEntry lib/public/icons/page_white_key.png
11185 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_key.png', 438, 420 ]
11186 silly gunzTarPerm extractEntry lib/public/icons/page_white_lightning.png
11187 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_lightning.png', 438, 420 ]
11188 silly gunzTarPerm extractEntry lib/public/icons/page_white_link.png
11189 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_link.png', 438, 420 ]
11190 silly gunzTarPerm extractEntry lib/public/icons/page_white_magnify.png
11191 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_magnify.png', 438, 420 ]
11192 silly gunzTarPerm extractEntry lib/public/icons/page_white_medal.png
11193 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_medal.png', 438, 420 ]
11194 silly gunzTarPerm extractEntry lib/public/icons/page_white_office.png
11195 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_office.png', 438, 420 ]
11196 silly gunzTarPerm modes [ '755', '644' ]
11197 silly gunzTarPerm extractEntry test/uri.js
11198 silly gunzTarPerm modified mode [ 'test/uri.js', 438, 420 ]
11199 silly gunzTarPerm extractEntry test/utils.js
11200 silly gunzTarPerm modified mode [ 'test/utils.js', 438, 420 ]
11201 silly lockFile eaaa5f85-node-modules-json-stringify-safe tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\json-stringify-safe
11202 silly lockFile eaaa5f85-node-modules-json-stringify-safe tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\json-stringify-safe
11203 silly lockFile d126c357-stringify-safe-5-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
11204 silly lockFile d126c357-stringify-safe-5-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\json-stringify-safe\5.0.0\package.tgz
11205 silly gunzTarPerm extractEntry package.json
11206 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
11207 http 304 https://registry.npmjs.org/mime
11208 silly registry.get cb [ 304,
11208 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11208 silly registry.get etag: '"7EO2K9LTTTQE0CBK2EEXXT9R"',
11208 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11208 silly registry.get 'content-length': '0' } ]
11209 verbose etag mime from cache
11210 silly gunzTarPerm extractEntry lib/public/icons/page_white_paint.png
11211 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_paint.png', 438, 420 ]
11212 silly gunzTarPerm extractEntry lib/public/icons/page_white_paintbrush.png
11213 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_paintbrush.png', 438, 420 ]
11214 silly gunzTarPerm extractEntry README.md
11215 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11216 silly gunzTarPerm extractEntry LICENSE
11217 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11218 silly lockFile 12d3f4bb-quest-node-modules-forever-agent tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\forever-agent
11219 silly lockFile 12d3f4bb-quest-node-modules-forever-agent tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\forever-agent
11220 info preinstall json-stringify-safe@5.0.0
11221 silly lockFile d676c279-es-request-node-modules-aws-sign tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\aws-sign
11222 silly lockFile d676c279-es-request-node-modules-aws-sign tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\aws-sign
11223 silly lockFile d04ae115--forever-agent-0-5-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
11224 silly lockFile d04ae115--forever-agent-0-5-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\forever-agent\0.5.0\package.tgz
11225 silly lockFile c6a9aa86-cache-aws-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
11226 silly lockFile c6a9aa86-cache-aws-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aws-sign\0.3.0\package.tgz
11227 silly lockFile d21240a5--modules-request-node-modules-qs tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\qs
11228 silly lockFile d21240a5--modules-request-node-modules-qs tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\qs
11229 silly lockFile aaf8d827-s-request-node-modules-form-data tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\form-data
11230 silly lockFile aaf8d827-s-request-node-modules-form-data tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\form-data
11231 verbose readDependencies using package.json deps
11232 silly lockFile 543f3abc-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
11233 silly lockFile 543f3abc-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
11234 silly lockFile 451be907-ache-form-data-0-1-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
11235 silly lockFile 451be907-ache-form-data-0-1-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\form-data\0.1.2\package.tgz
11236 verbose readDependencies using package.json deps
11237 silly resolved []
11238 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\json-stringify-safe
11239 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\json-stringify-safe
11240 verbose linkStuff [ false,
11240 verbose linkStuff false,
11240 verbose linkStuff false,
11240 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11241 info linkStuff json-stringify-safe@5.0.0
11242 verbose linkBins json-stringify-safe@5.0.0
11243 verbose linkMans json-stringify-safe@5.0.0
11244 verbose rebuildBundles json-stringify-safe@5.0.0
11245 info install json-stringify-safe@5.0.0
11246 silly lockFile 20fbd6e1-equest-node-modules-tunnel-agent tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\tunnel-agent
11247 silly lockFile 20fbd6e1-equest-node-modules-tunnel-agent tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\tunnel-agent
11248 info preinstall forever-agent@0.5.0
11249 info preinstall aws-sign@0.3.0
11250 silly lockFile 072af879-e-tunnel-agent-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
11251 silly lockFile 072af879-e-tunnel-agent-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\tunnel-agent\0.3.0\package.tgz
11252 info postinstall json-stringify-safe@5.0.0
11253 info preinstall form-data@0.1.2
11254 silly addNameRange number 2 { name: 'mime', range: '>=1.2.0-0 <1.3.0-0', hasData: true }
11255 silly addNameRange versions [ 'mime',
11255 silly addNameRange [ '1.0.0',
11255 silly addNameRange '1.1.0',
11255 silly addNameRange '1.2.1',
11255 silly addNameRange '1.2.2',
11255 silly addNameRange '1.2.3',
11255 silly addNameRange '1.2.4',
11255 silly addNameRange '1.2.5',
11255 silly addNameRange '1.2.6',
11255 silly addNameRange '1.2.7',
11255 silly addNameRange '1.2.8',
11255 silly addNameRange '1.2.9',
11255 silly addNameRange '1.2.10',
11255 silly addNameRange '1.2.11' ] ]
11256 verbose addNamed [ 'mime', '1.2.11' ]
11257 verbose addNamed [ '1.2.11', '1.2.11' ]
11258 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
11259 verbose lock mime@1.2.11 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c4b0741f-mime-1-2-11.lock
11260 silly gunzTarPerm extractEntry index.js
11261 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
11262 silly gunzTarPerm extractEntry jar.js
11263 silly gunzTarPerm modified mode [ 'jar.js', 438, 420 ]
11264 silly gunzTarPerm extractEntry lib/public/icons/page_white_paste.png
11265 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_paste.png', 438, 420 ]
11266 silly gunzTarPerm extractEntry lib/public/icons/page_white_php.png
11267 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_php.png', 438, 420 ]
11268 info preinstall qs@0.6.5
11269 verbose readDependencies using package.json deps
11270 silly lockFile 5224bbf8--request-node-modules-oauth-sign tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\oauth-sign
11271 silly lockFile 5224bbf8--request-node-modules-oauth-sign tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\oauth-sign
11272 verbose readDependencies using package.json deps
11273 http 304 https://registry.npmjs.org/colors/0.6.0-1
11274 silly registry.get cb [ 304,
11274 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11274 silly registry.get etag: '"B9D8N8DMNF7PPXGIBQQ74H802"',
11274 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11274 silly registry.get 'content-length': '0' } ]
11275 verbose etag colors/0.6.0-1 from cache
11276 verbose readDependencies using package.json deps
11277 silly resolved []
11278 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\forever-agent
11279 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\forever-agent
11280 verbose linkStuff [ false,
11280 verbose linkStuff false,
11280 verbose linkStuff false,
11280 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11281 info linkStuff forever-agent@0.5.0
11282 verbose linkBins forever-agent@0.5.0
11283 verbose linkMans forever-agent@0.5.0
11284 verbose rebuildBundles forever-agent@0.5.0
11285 silly lockFile 288b6b83-che-oauth-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
11286 silly lockFile 288b6b83-che-oauth-sign-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\oauth-sign\0.3.0\package.tgz
11287 verbose readDependencies using package.json deps
11288 silly resolved []
11289 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\aws-sign
11290 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\aws-sign
11291 verbose linkStuff [ false,
11291 verbose linkStuff false,
11291 verbose linkStuff false,
11291 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11292 info linkStuff aws-sign@0.3.0
11293 verbose linkBins aws-sign@0.3.0
11294 verbose linkMans aws-sign@0.3.0
11295 verbose rebuildBundles aws-sign@0.3.0
11296 http 304 https://registry.npmjs.org/colors
11297 silly registry.get cb [ 304,
11297 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11297 silly registry.get etag: '"B9D8N8DMNF7PPXGIBQQ74H802"',
11297 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11297 silly registry.get 'content-length': '0' } ]
11298 verbose etag colors from cache
11299 info install forever-agent@0.5.0
11300 verbose readDependencies using package.json deps
11301 info preinstall tunnel-agent@0.3.0
11302 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
11303 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
11304 silly lockFile 834239db-uest-node-modules-http-signature tar://C:\Projects\trainingsservice\node_modules\request\node_modules\http-signature
11305 silly lockFile 834239db-uest-node-modules-http-signature tar://C:\Projects\trainingsservice\node_modules\request\node_modules\http-signature
11306 verbose readDependencies using package.json deps
11307 info install aws-sign@0.3.0
11308 verbose readDependencies using package.json deps
11309 silly lockFile f7091508-mime-1-2 mime@~1.2
11310 silly lockFile f7091508-mime-1-2 mime@~1.2
11311 silly lockFile b5ac6982-ttp-signature-0-10-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
11312 silly lockFile b5ac6982-ttp-signature-0-10-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
11313 verbose readDependencies using package.json deps
11314 silly resolved []
11315 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\qs
11316 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\qs
11317 verbose linkStuff [ false,
11317 verbose linkStuff false,
11317 verbose linkStuff false,
11317 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11318 info linkStuff qs@0.6.5
11319 verbose linkBins qs@0.6.5
11320 verbose linkMans qs@0.6.5
11321 verbose rebuildBundles qs@0.6.5
11322 info postinstall forever-agent@0.5.0
11323 info install qs@0.6.5
11324 info postinstall aws-sign@0.3.0
11325 verbose readDependencies using package.json deps
11326 info preinstall oauth-sign@0.3.0
11327 verbose readDependencies using package.json deps
11328 silly resolved []
11329 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\tunnel-agent
11330 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\tunnel-agent
11331 verbose linkStuff [ false,
11331 verbose linkStuff false,
11331 verbose linkStuff false,
11331 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11332 info linkStuff tunnel-agent@0.3.0
11333 verbose linkBins tunnel-agent@0.3.0
11334 verbose linkMans tunnel-agent@0.3.0
11335 verbose rebuildBundles tunnel-agent@0.3.0
11336 info postinstall qs@0.6.5
11337 info install tunnel-agent@0.3.0
11338 silly gunzTarPerm extractEntry tests/run.js
11339 silly gunzTarPerm modified mode [ 'tests/run.js', 438, 420 ]
11340 silly gunzTarPerm extractEntry tests/test-cookie.js
11341 silly gunzTarPerm modified mode [ 'tests/test-cookie.js', 438, 420 ]
11342 silly gunzTarPerm extractEntry tests/test-cookiejar.js
11343 silly gunzTarPerm modified mode [ 'tests/test-cookiejar.js', 438, 420 ]
11344 info preinstall http-signature@0.10.0
11345 silly gunzTarPerm extractEntry lib/public/icons/page_white_picture.png
11346 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_picture.png', 438, 420 ]
11347 silly gunzTarPerm extractEntry lib/public/icons/page_white_powerpoint.png
11348 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_powerpoint.png', 438, 420 ]
11349 verbose readDependencies using package.json deps
11350 info postinstall tunnel-agent@0.3.0
11351 verbose readDependencies using package.json deps
11352 silly resolved []
11353 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\oauth-sign
11354 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\oauth-sign
11355 verbose linkStuff [ false,
11355 verbose linkStuff false,
11355 verbose linkStuff false,
11355 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11356 info linkStuff oauth-sign@0.3.0
11357 verbose linkBins oauth-sign@0.3.0
11358 verbose linkMans oauth-sign@0.3.0
11359 verbose rebuildBundles oauth-sign@0.3.0
11360 silly addNameRange number 2 { name: 'colors', range: '>=0.6.0-1 <0.7.0-0', hasData: true }
11361 silly addNameRange versions [ 'colors',
11361 silly addNameRange [ '0.3.0', '0.5.0', '0.5.1', '0.6.0', '0.6.0-1', '0.6.1', '0.6.2' ] ]
11362 verbose addNamed [ 'colors', '0.6.2' ]
11363 verbose addNamed [ '0.6.2', '0.6.2' ]
11364 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
11365 verbose lock colors@0.6.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\1ce149d5-colors-0-6-2.lock
11366 info install oauth-sign@0.3.0
11367 verbose readDependencies using package.json deps
11368 verbose readDependencies using package.json deps
11369 verbose cache add [ 'combined-stream@~0.0.4', null ]
11370 verbose cache add name=undefined spec="combined-stream@~0.0.4" args=["combined-stream@~0.0.4",null]
11371 verbose parsed url { protocol: null,
11371 verbose parsed url slashes: null,
11371 verbose parsed url auth: null,
11371 verbose parsed url host: null,
11371 verbose parsed url port: null,
11371 verbose parsed url hostname: null,
11371 verbose parsed url hash: null,
11371 verbose parsed url search: null,
11371 verbose parsed url query: null,
11371 verbose parsed url pathname: 'combined-stream@~0.0.4',
11371 verbose parsed url path: 'combined-stream@~0.0.4',
11371 verbose parsed url href: 'combined-stream@~0.0.4' }
11372 verbose cache add name="combined-stream" spec="~0.0.4" args=["combined-stream","~0.0.4"]
11373 verbose parsed url { protocol: null,
11373 verbose parsed url slashes: null,
11373 verbose parsed url auth: null,
11373 verbose parsed url host: null,
11373 verbose parsed url port: null,
11373 verbose parsed url hostname: null,
11373 verbose parsed url hash: null,
11373 verbose parsed url search: null,
11373 verbose parsed url query: null,
11373 verbose parsed url pathname: '~0.0.4',
11373 verbose parsed url path: '~0.0.4',
11373 verbose parsed url href: '~0.0.4' }
11374 verbose addNamed [ 'combined-stream', '~0.0.4' ]
11375 verbose cache add [ 'async@~0.2.9', null ]
11376 verbose cache add name=undefined spec="async@~0.2.9" args=["async@~0.2.9",null]
11377 verbose parsed url { protocol: null,
11377 verbose parsed url slashes: null,
11377 verbose parsed url auth: null,
11377 verbose parsed url host: null,
11377 verbose parsed url port: null,
11377 verbose parsed url hostname: null,
11377 verbose parsed url hash: null,
11377 verbose parsed url search: null,
11377 verbose parsed url query: null,
11377 verbose parsed url pathname: 'async@~0.2.9',
11377 verbose parsed url path: 'async@~0.2.9',
11377 verbose parsed url href: 'async@~0.2.9' }
11378 verbose cache add name="async" spec="~0.2.9" args=["async","~0.2.9"]
11379 verbose parsed url { protocol: null,
11379 verbose parsed url slashes: null,
11379 verbose parsed url auth: null,
11379 verbose parsed url host: null,
11379 verbose parsed url port: null,
11379 verbose parsed url hostname: null,
11379 verbose parsed url hash: null,
11379 verbose parsed url search: null,
11379 verbose parsed url query: null,
11379 verbose parsed url pathname: '~0.2.9',
11379 verbose parsed url path: '~0.2.9',
11379 verbose parsed url href: '~0.2.9' }
11380 verbose addNamed [ 'async', '~0.2.9' ]
11381 verbose addNamed [ null, '>=0.2.9-0 <0.3.0-0' ]
11382 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
11383 verbose lock async@~0.2.9 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5d51c871-async-0-2-9.lock
11384 info postinstall oauth-sign@0.3.0
11385 silly addNameRange { name: 'async', range: '>=0.2.9-0 <0.3.0-0', hasData: false }
11386 silly lockFile ff29e5b3-odules-request-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\request\node_modules\mime
11387 silly lockFile ff29e5b3-odules-request-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\request\node_modules\mime
11388 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
11389 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
11390 silly gunzTarPerm extractEntry lib/public/icons/page_white_put.png
11391 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_put.png', 438, 420 ]
11392 verbose registry.get async not expired, no request
11393 silly addNameRange number 2 { name: 'async', range: '>=0.2.9-0 <0.3.0-0', hasData: true }
11394 silly addNameRange versions [ 'async',
11394 silly addNameRange [ '0.1.0',
11394 silly addNameRange '0.1.1',
11394 silly addNameRange '0.1.2',
11394 silly addNameRange '0.1.3',
11394 silly addNameRange '0.1.4',
11394 silly addNameRange '0.1.5',
11394 silly addNameRange '0.1.6',
11394 silly addNameRange '0.1.7',
11394 silly addNameRange '0.1.8',
11394 silly addNameRange '0.1.9',
11394 silly addNameRange '0.1.10',
11394 silly addNameRange '0.1.11',
11394 silly addNameRange '0.1.12',
11394 silly addNameRange '0.1.13',
11394 silly addNameRange '0.1.14',
11394 silly addNameRange '0.1.15',
11394 silly addNameRange '0.1.16',
11394 silly addNameRange '0.1.17',
11394 silly addNameRange '0.1.18',
11394 silly addNameRange '0.1.19',
11394 silly addNameRange '0.1.20',
11394 silly addNameRange '0.1.21',
11394 silly addNameRange '0.1.22',
11394 silly addNameRange '0.2.0',
11394 silly addNameRange '0.2.1',
11394 silly addNameRange '0.2.2',
11394 silly addNameRange '0.2.3',
11394 silly addNameRange '0.2.4',
11394 silly addNameRange '0.2.5',
11394 silly addNameRange '0.2.6',
11394 silly addNameRange '0.2.7',
11394 silly addNameRange '0.2.8',
11394 silly addNameRange '0.2.9' ] ]
11395 verbose addNamed [ 'async', '0.2.9' ]
11396 verbose addNamed [ '0.2.9', '0.2.9' ]
11397 silly lockFile be62480b-async-0-2-9 async@0.2.9
11398 verbose lock async@0.2.9 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\be62480b-async-0-2-9.lock
11399 verbose cache add [ 'ctype@0.5.2', null ]
11400 verbose cache add name=undefined spec="ctype@0.5.2" args=["ctype@0.5.2",null]
11401 verbose parsed url { protocol: null,
11401 verbose parsed url slashes: null,
11401 verbose parsed url auth: null,
11401 verbose parsed url host: null,
11401 verbose parsed url port: null,
11401 verbose parsed url hostname: null,
11401 verbose parsed url hash: null,
11401 verbose parsed url search: null,
11401 verbose parsed url query: null,
11401 verbose parsed url pathname: 'ctype@0.5.2',
11401 verbose parsed url path: 'ctype@0.5.2',
11401 verbose parsed url href: 'ctype@0.5.2' }
11402 verbose cache add name="ctype" spec="0.5.2" args=["ctype","0.5.2"]
11403 verbose parsed url { protocol: null,
11403 verbose parsed url slashes: null,
11403 verbose parsed url auth: null,
11403 verbose parsed url host: null,
11403 verbose parsed url port: null,
11403 verbose parsed url hostname: null,
11403 verbose parsed url hash: null,
11403 verbose parsed url search: null,
11403 verbose parsed url query: null,
11403 verbose parsed url pathname: '0.5.2',
11403 verbose parsed url path: '0.5.2',
11403 verbose parsed url href: '0.5.2' }
11404 verbose addNamed [ 'ctype', '0.5.2' ]
11405 verbose addNamed [ '0.5.2', '0.5.2' ]
11406 silly lockFile c556016e-ctype-0-5-2 ctype@0.5.2
11407 verbose lock ctype@0.5.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c556016e-ctype-0-5-2.lock
11408 verbose cache add [ 'assert-plus@0.1.2', null ]
11409 verbose cache add name=undefined spec="assert-plus@0.1.2" args=["assert-plus@0.1.2",null]
11410 verbose parsed url { protocol: null,
11410 verbose parsed url slashes: null,
11410 verbose parsed url auth: null,
11410 verbose parsed url host: null,
11410 verbose parsed url port: null,
11410 verbose parsed url hostname: null,
11410 verbose parsed url hash: null,
11410 verbose parsed url search: null,
11410 verbose parsed url query: null,
11410 verbose parsed url pathname: 'assert-plus@0.1.2',
11410 verbose parsed url path: 'assert-plus@0.1.2',
11410 verbose parsed url href: 'assert-plus@0.1.2' }
11411 verbose cache add name="assert-plus" spec="0.1.2" args=["assert-plus","0.1.2"]
11412 verbose parsed url { protocol: null,
11412 verbose parsed url slashes: null,
11412 verbose parsed url auth: null,
11412 verbose parsed url host: null,
11412 verbose parsed url port: null,
11412 verbose parsed url hostname: null,
11412 verbose parsed url hash: null,
11412 verbose parsed url search: null,
11412 verbose parsed url query: null,
11412 verbose parsed url pathname: '0.1.2',
11412 verbose parsed url path: '0.1.2',
11412 verbose parsed url href: '0.1.2' }
11413 verbose addNamed [ 'assert-plus', '0.1.2' ]
11414 verbose addNamed [ '0.1.2', '0.1.2' ]
11415 silly lockFile 46222085-assert-plus-0-1-2 assert-plus@0.1.2
11416 verbose lock assert-plus@0.1.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\46222085-assert-plus-0-1-2.lock
11417 verbose cache add [ 'asn1@0.1.11', null ]
11418 verbose cache add name=undefined spec="asn1@0.1.11" args=["asn1@0.1.11",null]
11419 verbose parsed url { protocol: null,
11419 verbose parsed url slashes: null,
11419 verbose parsed url auth: null,
11419 verbose parsed url host: null,
11419 verbose parsed url port: null,
11419 verbose parsed url hostname: null,
11419 verbose parsed url hash: null,
11419 verbose parsed url search: null,
11419 verbose parsed url query: null,
11419 verbose parsed url pathname: 'asn1@0.1.11',
11419 verbose parsed url path: 'asn1@0.1.11',
11419 verbose parsed url href: 'asn1@0.1.11' }
11420 verbose cache add name="asn1" spec="0.1.11" args=["asn1","0.1.11"]
11421 verbose parsed url { protocol: null,
11421 verbose parsed url slashes: null,
11421 verbose parsed url auth: null,
11421 verbose parsed url host: null,
11421 verbose parsed url port: null,
11421 verbose parsed url hostname: null,
11421 verbose parsed url hash: null,
11421 verbose parsed url search: null,
11421 verbose parsed url query: null,
11421 verbose parsed url pathname: '0.1.11',
11421 verbose parsed url path: '0.1.11',
11421 verbose parsed url href: '0.1.11' }
11422 verbose addNamed [ 'asn1', '0.1.11' ]
11423 verbose addNamed [ '0.1.11', '0.1.11' ]
11424 silly lockFile 41ecb821-asn1-0-1-11 asn1@0.1.11
11425 verbose lock asn1@0.1.11 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\41ecb821-asn1-0-1-11.lock
11426 http 304 https://registry.npmjs.org/async
11427 silly registry.get cb [ 304,
11427 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11427 silly registry.get etag: '"2B1Y1C2HQ67I3WVSBVWN4MMV1"',
11427 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11427 silly registry.get 'content-length': '0' } ]
11428 verbose etag async from cache
11429 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
11430 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
11431 http 304 https://registry.npmjs.org/chokidar
11432 silly registry.get cb [ 304,
11432 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11432 silly registry.get etag: '"5C8TZ82O2FTVR5I8ZSDB42LUO"',
11432 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11432 silly registry.get 'content-length': '0' } ]
11433 verbose etag chokidar from cache
11434 info preinstall mime@1.2.11
11435 silly lockFile be62480b-async-0-2-9 async@0.2.9
11436 silly lockFile be62480b-async-0-2-9 async@0.2.9
11437 silly gunzTarPerm modes [ '755', '644' ]
11438 silly gunzTarPerm modes [ '755', '644' ]
11439 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
11440 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
11441 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
11442 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
11443 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
11444 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
11445 verbose readDependencies using package.json deps
11446 verbose readDependencies using package.json deps
11447 silly resolved []
11448 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\mime
11449 info build C:\Projects\trainingsservice\node_modules\request\node_modules\mime
11450 verbose linkStuff [ false,
11450 verbose linkStuff false,
11450 verbose linkStuff false,
11450 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
11451 info linkStuff mime@1.2.11
11452 verbose linkBins mime@1.2.11
11453 verbose linkMans mime@1.2.11
11454 verbose rebuildBundles mime@1.2.11
11455 verbose url raw ctype/0.5.2
11456 verbose url resolving [ 'https://registry.npmjs.org/', './ctype/0.5.2' ]
11457 verbose url resolved https://registry.npmjs.org/ctype/0.5.2
11458 info trying registry request attempt 1 at 09:42:55
11459 verbose etag "2CWBW261SB2S0RHZHOTW0GUFX"
11460 http GET https://registry.npmjs.org/ctype/0.5.2
11461 verbose url raw asn1/0.1.11
11462 verbose url resolving [ 'https://registry.npmjs.org/', './asn1/0.1.11' ]
11463 verbose url resolved https://registry.npmjs.org/asn1/0.1.11
11464 info trying registry request attempt 1 at 09:42:55
11465 verbose etag "C1OXAD9Q0M1L7P5CSXLMR6RZF"
11466 http GET https://registry.npmjs.org/asn1/0.1.11
11467 silly gunzTarPerm extractEntry lib/public/icons/page_white_ruby.png
11468 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_ruby.png', 438, 420 ]
11469 silly gunzTarPerm extractEntry lib/public/icons/page_white_stack.png
11470 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_stack.png', 438, 420 ]
11471 verbose url raw assert-plus/0.1.2
11472 verbose url resolving [ 'https://registry.npmjs.org/', './assert-plus/0.1.2' ]
11473 verbose url resolved https://registry.npmjs.org/assert-plus/0.1.2
11474 info trying registry request attempt 1 at 09:42:55
11475 verbose etag "36PSGZJHVE05XDWT91B4YO6Q7"
11476 http GET https://registry.npmjs.org/assert-plus/0.1.2
11477 info install mime@1.2.11
11478 info postinstall mime@1.2.11
11479 silly gunzTarPerm extractEntry package.json
11480 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
11481 silly gunzTarPerm extractEntry package.json
11482 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
11483 silly addNameRange number 2 { name: 'async', range: '>=0.1.22-0 <0.2.0-0', hasData: true }
11484 silly addNameRange versions [ 'async',
11484 silly addNameRange [ '0.1.0',
11484 silly addNameRange '0.1.1',
11484 silly addNameRange '0.1.2',
11484 silly addNameRange '0.1.3',
11484 silly addNameRange '0.1.4',
11484 silly addNameRange '0.1.5',
11484 silly addNameRange '0.1.6',
11484 silly addNameRange '0.1.7',
11484 silly addNameRange '0.1.8',
11484 silly addNameRange '0.1.9',
11484 silly addNameRange '0.1.10',
11484 silly addNameRange '0.1.11',
11484 silly addNameRange '0.1.12',
11484 silly addNameRange '0.1.13',
11484 silly addNameRange '0.1.14',
11484 silly addNameRange '0.1.15',
11484 silly addNameRange '0.1.16',
11484 silly addNameRange '0.1.17',
11484 silly addNameRange '0.1.18',
11484 silly addNameRange '0.1.19',
11484 silly addNameRange '0.1.20',
11484 silly addNameRange '0.1.21',
11484 silly addNameRange '0.1.22',
11484 silly addNameRange '0.2.0',
11484 silly addNameRange '0.2.1',
11484 silly addNameRange '0.2.2',
11484 silly addNameRange '0.2.3',
11484 silly addNameRange '0.2.4',
11484 silly addNameRange '0.2.5',
11484 silly addNameRange '0.2.6',
11484 silly addNameRange '0.2.7',
11484 silly addNameRange '0.2.8',
11484 silly addNameRange '0.2.9' ] ]
11485 verbose addNamed [ 'async', '0.1.22' ]
11486 verbose addNamed [ '0.1.22', '0.1.22' ]
11487 silly lockFile 09d21715-async-0-1-22 async@0.1.22
11488 verbose lock async@0.1.22 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\09d21715-async-0-1-22.lock
11489 silly addNameRange number 2 { name: 'chokidar', range: '>=0.7.0-0 <0.8.0-0', hasData: true }
11490 silly addNameRange versions [ 'chokidar',
11490 silly addNameRange [ '0.1.1',
11490 silly addNameRange '0.2.0',
11490 silly addNameRange '0.2.1',
11490 silly addNameRange '0.2.2',
11490 silly addNameRange '0.2.3',
11490 silly addNameRange '0.2.4',
11490 silly addNameRange '0.2.5',
11490 silly addNameRange '0.2.6',
11490 silly addNameRange '0.3.0',
11490 silly addNameRange '0.4.0',
11490 silly addNameRange '0.5.0',
11490 silly addNameRange '0.5.1',
11490 silly addNameRange '0.5.2',
11490 silly addNameRange '0.5.3',
11490 silly addNameRange '0.6.0',
11490 silly addNameRange '0.6.1',
11490 silly addNameRange '0.6.2',
11490 silly addNameRange '0.6.3',
11490 silly addNameRange '0.7.0',
11490 silly addNameRange '0.7.1' ] ]
11491 verbose addNamed [ 'chokidar', '0.7.1' ]
11492 verbose addNamed [ '0.7.1', '0.7.1' ]
11493 silly lockFile 91597ec5-chokidar-0-7-1 chokidar@0.7.1
11494 verbose lock chokidar@0.7.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\91597ec5-chokidar-0-7-1.lock
11495 silly lockFile 7d651a0e-s-request-node-modules-node-uuid tar://C:\Projects\trainingsservice\node_modules\request\node_modules\node-uuid
11496 silly lockFile 7d651a0e-s-request-node-modules-node-uuid tar://C:\Projects\trainingsservice\node_modules\request\node_modules\node-uuid
11497 silly lockFile ce0a7c0f-ache-node-uuid-1-4-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
11498 silly lockFile ce0a7c0f-ache-node-uuid-1-4-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
11499 silly gunzTarPerm extractEntry .npmignore
11500 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
11501 silly gunzTarPerm extractEntry README.md
11502 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11503 silly gunzTarPerm extractEntry README.md
11504 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11505 silly gunzTarPerm extractEntry LICENSE
11506 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11507 silly gunzTarPerm extractEntry lib/public/icons/page_white_star.png
11508 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_star.png', 438, 420 ]
11509 silly gunzTarPerm extractEntry lib/public/icons/page_white_swoosh.png
11510 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_swoosh.png', 438, 420 ]
11511 info preinstall node-uuid@1.4.1
11512 silly gunzTarPerm extractEntry mime.js
11513 silly gunzTarPerm modified mode [ 'mime.js', 438, 420 ]
11514 silly gunzTarPerm extractEntry test.js
11515 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
11516 silly gunzTarPerm extractEntry LICENSE
11517 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
11518 silly gunzTarPerm extractEntry .dir-locals.el
11519 silly gunzTarPerm modified mode [ '.dir-locals.el', 438, 420 ]
11520 verbose readDependencies using package.json deps
11521 verbose readDependencies using package.json deps
11522 silly resolved []
11523 verbose about to build C:\Projects\trainingsservice\node_modules\request\node_modules\node-uuid
11524 info build C:\Projects\trainingsservice\node_modules\request\node_modules\node-uuid
11525 verbose linkStuff [ false,
11525 verbose linkStuff false,
11525 verbose linkStuff false,
11525 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\request\\node_modules' ]
11526 info linkStuff node-uuid@1.4.1
11527 verbose linkBins node-uuid@1.4.1
11528 verbose linkMans node-uuid@1.4.1
11529 verbose rebuildBundles node-uuid@1.4.1
11530 silly gunzTarPerm extractEntry lib/public/icons/page_white_text.png
11531 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_text.png', 438, 420 ]
11532 silly gunzTarPerm extractEntry lib/public/icons/page_white_text_width.png
11533 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_text_width.png', 438, 420 ]
11534 silly lockFile 91597ec5-chokidar-0-7-1 chokidar@0.7.1
11535 silly lockFile 91597ec5-chokidar-0-7-1 chokidar@0.7.1
11536 info install node-uuid@1.4.1
11537 silly lockFile 63045c0e-chokidar-0-7-0 chokidar@~0.7.0
11538 silly lockFile 63045c0e-chokidar-0-7-0 chokidar@~0.7.0
11539 info postinstall node-uuid@1.4.1
11540 silly lockFile 09d21715-async-0-1-22 async@0.1.22
11541 silly lockFile 09d21715-async-0-1-22 async@0.1.22
11542 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
11543 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
11544 silly gunzTarPerm extractEntry http_signing.md
11545 silly gunzTarPerm modified mode [ 'http_signing.md', 438, 420 ]
11546 silly gunzTarPerm extractEntry lib/index.js
11547 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
11548 silly gunzTarPerm extractEntry lib/parser.js
11549 silly gunzTarPerm modified mode [ 'lib/parser.js', 438, 420 ]
11550 silly gunzTarPerm extractEntry lib/signer.js
11551 silly gunzTarPerm modified mode [ 'lib/signer.js', 438, 420 ]
11552 silly gunzTarPerm extractEntry lib/util.js
11553 silly gunzTarPerm modified mode [ 'lib/util.js', 438, 420 ]
11554 silly gunzTarPerm extractEntry lib/verify.js
11555 silly gunzTarPerm modified mode [ 'lib/verify.js', 438, 420 ]
11556 silly gunzTarPerm extractEntry lib/public/icons/page_white_tux.png
11557 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_tux.png', 438, 420 ]
11558 silly gunzTarPerm extractEntry lib/public/icons/page_white_vector.png
11559 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_vector.png', 438, 420 ]
11560 silly gunzTarPerm extractEntry types/mime.types
11561 silly gunzTarPerm modified mode [ 'types/mime.types', 438, 420 ]
11562 silly gunzTarPerm extractEntry types/node.types
11563 silly gunzTarPerm modified mode [ 'types/node.types', 438, 420 ]
11564 silly gunzTarPerm extractEntry lib/public/icons/page_white_visualstudio.png
11565 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_visualstudio.png', 438, 420 ]
11566 silly gunzTarPerm extractEntry lib/public/icons/page_white_width.png
11567 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_width.png', 438, 420 ]
11568 http 304 https://registry.npmjs.org/iconv-lite
11569 silly registry.get cb [ 304,
11569 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11569 silly registry.get etag: '"A2T3FVHI8039SNILC54LU3Y3S"',
11569 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11569 silly registry.get 'content-length': '0' } ]
11570 verbose etag iconv-lite from cache
11571 silly lockFile d914f743-odules-gaze-node-modules-globule tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule
11572 silly lockFile d914f743-odules-gaze-node-modules-globule tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule
11573 silly gunzTarPerm extractEntry lib/public/icons/page_white_word.png
11574 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_word.png', 438, 420 ]
11575 silly gunzTarPerm extractEntry lib/public/icons/page_white_world.png
11576 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_world.png', 438, 420 ]
11577 silly lockFile 1f358f3e--cache-globule-0-1-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\globule\0.1.0\package.tgz
11578 silly lockFile 1f358f3e--cache-globule-0-1-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\globule\0.1.0\package.tgz
11579 silly gunzTarPerm extractEntry lib/public/icons/page_white_wrench.png
11580 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_wrench.png', 438, 420 ]
11581 silly gunzTarPerm extractEntry lib/public/icons/page_white_zip.png
11582 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_zip.png', 438, 420 ]
11583 silly addNameRange number 2 { name: 'iconv-lite',
11583 silly addNameRange range: '>=0.2.5-0 <0.3.0-0',
11583 silly addNameRange hasData: true }
11584 silly addNameRange versions [ 'iconv-lite',
11584 silly addNameRange [ '0.1.0',
11584 silly addNameRange '0.1.1',
11584 silly addNameRange '0.1.2',
11584 silly addNameRange '0.1.3',
11584 silly addNameRange '0.1.4',
11584 silly addNameRange '0.2.0',
11584 silly addNameRange '0.2.1',
11584 silly addNameRange '0.2.3',
11584 silly addNameRange '0.2.4',
11584 silly addNameRange '0.2.5',
11584 silly addNameRange '0.2.6',
11584 silly addNameRange '0.2.7',
11584 silly addNameRange '0.2.8',
11584 silly addNameRange '0.2.9',
11584 silly addNameRange '0.2.10',
11584 silly addNameRange '0.2.11' ] ]
11585 verbose addNamed [ 'iconv-lite', '0.2.11' ]
11586 verbose addNamed [ '0.2.11', '0.2.11' ]
11587 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
11588 verbose lock iconv-lite@0.2.11 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5d877021-iconv-lite-0-2-11.lock
11589 info preinstall globule@0.1.0
11590 silly gunzTarPerm extractEntry lib/browser.js
11591 silly gunzTarPerm modified mode [ 'lib/browser.js', 438, 420 ]
11592 silly gunzTarPerm extractEntry lib/client.js
11593 silly gunzTarPerm modified mode [ 'lib/client.js', 438, 420 ]
11594 verbose readDependencies using package.json deps
11595 verbose readDependencies using package.json deps
11596 silly gunzTarPerm extractEntry lib/public/icons/page_word.png
11597 silly gunzTarPerm modified mode [ 'lib/public/icons/page_word.png', 438, 420 ]
11598 silly gunzTarPerm extractEntry lib/public/icons/page_world.png
11599 silly gunzTarPerm modified mode [ 'lib/public/icons/page_world.png', 438, 420 ]
11600 silly lockFile 001e2721--request-node-modules-cookie-jar tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\cookie-jar
11601 silly lockFile 001e2721--request-node-modules-cookie-jar tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\cookie-jar
11602 silly lockFile 2e1a11bd-che-cookie-jar-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
11603 silly lockFile 2e1a11bd-che-cookie-jar-0-3-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\cookie-jar\0.3.0\package.tgz
11604 silly gunzTarPerm extractEntry lib/public/style.css
11605 silly gunzTarPerm modified mode [ 'lib/public/style.css', 438, 420 ]
11606 silly gunzTarPerm extractEntry Readme.md
11607 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
11608 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
11609 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
11610 info preinstall cookie-jar@0.3.0
11611 silly lockFile ca9efaa1-iconv-lite-0-2-5 iconv-lite@~0.2.5
11612 silly lockFile ca9efaa1-iconv-lite-0-2-5 iconv-lite@~0.2.5
11613 verbose readDependencies using package.json deps
11614 verbose readDependencies using package.json deps
11615 silly resolved []
11616 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\cookie-jar
11617 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\cookie-jar
11618 verbose linkStuff [ false,
11618 verbose linkStuff false,
11618 verbose linkStuff false,
11618 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11619 info linkStuff cookie-jar@0.3.0
11620 verbose linkBins cookie-jar@0.3.0
11621 verbose linkMans cookie-jar@0.3.0
11622 verbose rebuildBundles cookie-jar@0.3.0
11623 info install cookie-jar@0.3.0
11624 info postinstall cookie-jar@0.3.0
11625 verbose cache add [ 'lodash@~1.0.1', null ]
11626 verbose cache add name=undefined spec="lodash@~1.0.1" args=["lodash@~1.0.1",null]
11627 verbose parsed url { protocol: null,
11627 verbose parsed url slashes: null,
11627 verbose parsed url auth: null,
11627 verbose parsed url host: null,
11627 verbose parsed url port: null,
11627 verbose parsed url hostname: null,
11627 verbose parsed url hash: null,
11627 verbose parsed url search: null,
11627 verbose parsed url query: null,
11627 verbose parsed url pathname: 'lodash@~1.0.1',
11627 verbose parsed url path: 'lodash@~1.0.1',
11627 verbose parsed url href: 'lodash@~1.0.1' }
11628 verbose cache add name="lodash" spec="~1.0.1" args=["lodash","~1.0.1"]
11629 verbose parsed url { protocol: null,
11629 verbose parsed url slashes: null,
11629 verbose parsed url auth: null,
11629 verbose parsed url host: null,
11629 verbose parsed url port: null,
11629 verbose parsed url hostname: null,
11629 verbose parsed url hash: null,
11629 verbose parsed url search: null,
11629 verbose parsed url query: null,
11629 verbose parsed url pathname: '~1.0.1',
11629 verbose parsed url path: '~1.0.1',
11629 verbose parsed url href: '~1.0.1' }
11630 verbose addNamed [ 'lodash', '~1.0.1' ]
11631 verbose addNamed [ null, '>=1.0.1-0 <1.1.0-0' ]
11632 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
11633 verbose lock lodash@~1.0.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\7309cd5e-lodash-1-0-1.lock
11634 verbose cache add [ 'glob@~3.1.21', null ]
11635 verbose cache add name=undefined spec="glob@~3.1.21" args=["glob@~3.1.21",null]
11636 verbose parsed url { protocol: null,
11636 verbose parsed url slashes: null,
11636 verbose parsed url auth: null,
11636 verbose parsed url host: null,
11636 verbose parsed url port: null,
11636 verbose parsed url hostname: null,
11636 verbose parsed url hash: null,
11636 verbose parsed url search: null,
11636 verbose parsed url query: null,
11636 verbose parsed url pathname: 'glob@~3.1.21',
11636 verbose parsed url path: 'glob@~3.1.21',
11636 verbose parsed url href: 'glob@~3.1.21' }
11637 verbose cache add name="glob" spec="~3.1.21" args=["glob","~3.1.21"]
11638 verbose parsed url { protocol: null,
11638 verbose parsed url slashes: null,
11638 verbose parsed url auth: null,
11638 verbose parsed url host: null,
11638 verbose parsed url port: null,
11638 verbose parsed url hostname: null,
11638 verbose parsed url hash: null,
11638 verbose parsed url search: null,
11638 verbose parsed url query: null,
11638 verbose parsed url pathname: '~3.1.21',
11638 verbose parsed url path: '~3.1.21',
11638 verbose parsed url href: '~3.1.21' }
11639 verbose addNamed [ 'glob', '~3.1.21' ]
11640 verbose cache add [ 'minimatch@~0.2.11', null ]
11641 verbose cache add name=undefined spec="minimatch@~0.2.11" args=["minimatch@~0.2.11",null]
11642 verbose parsed url { protocol: null,
11642 verbose parsed url slashes: null,
11642 verbose parsed url auth: null,
11642 verbose parsed url host: null,
11642 verbose parsed url port: null,
11642 verbose parsed url hostname: null,
11642 verbose parsed url hash: null,
11642 verbose parsed url search: null,
11642 verbose parsed url query: null,
11642 verbose parsed url pathname: 'minimatch@~0.2.11',
11642 verbose parsed url path: 'minimatch@~0.2.11',
11642 verbose parsed url href: 'minimatch@~0.2.11' }
11643 verbose cache add name="minimatch" spec="~0.2.11" args=["minimatch","~0.2.11"]
11644 verbose parsed url { protocol: null,
11644 verbose parsed url slashes: null,
11644 verbose parsed url auth: null,
11644 verbose parsed url host: null,
11644 verbose parsed url port: null,
11644 verbose parsed url hostname: null,
11644 verbose parsed url hash: null,
11644 verbose parsed url search: null,
11644 verbose parsed url query: null,
11644 verbose parsed url pathname: '~0.2.11',
11644 verbose parsed url path: '~0.2.11',
11644 verbose parsed url href: '~0.2.11' }
11645 verbose addNamed [ 'minimatch', '~0.2.11' ]
11646 silly addNameRange { name: 'lodash', range: '>=1.0.1-0 <1.1.0-0', hasData: false }
11647 verbose registry.get lodash not expired, no request
11648 silly addNameRange number 2 { name: 'lodash', range: '>=1.0.1-0 <1.1.0-0', hasData: true }
11649 silly addNameRange versions [ 'lodash',
11649 silly addNameRange [ '0.1.0',
11649 silly addNameRange '0.2.0',
11649 silly addNameRange '0.2.1',
11649 silly addNameRange '0.2.2',
11649 silly addNameRange '0.3.0',
11649 silly addNameRange '0.3.1',
11649 silly addNameRange '0.3.2',
11649 silly addNameRange '0.4.0',
11649 silly addNameRange '0.4.1',
11649 silly addNameRange '0.4.2',
11649 silly addNameRange '0.5.0-rc.1',
11649 silly addNameRange '0.5.0',
11649 silly addNameRange '0.5.1',
11649 silly addNameRange '0.5.2',
11649 silly addNameRange '0.6.0',
11649 silly addNameRange '0.6.1',
11649 silly addNameRange '0.7.0',
11649 silly addNameRange '0.8.0',
11649 silly addNameRange '0.8.1',
11649 silly addNameRange '0.8.2',
11649 silly addNameRange '0.9.0',
11649 silly addNameRange '0.9.1',
11649 silly addNameRange '0.9.2',
11649 silly addNameRange '0.10.0',
11649 silly addNameRange '1.0.0-rc.1',
11649 silly addNameRange '1.0.0-rc.2',
11649 silly addNameRange '1.0.0-rc.3',
11649 silly addNameRange '1.0.0',
11649 silly addNameRange '1.0.1',
11649 silly addNameRange '1.1.0',
11649 silly addNameRange '1.1.1',
11649 silly addNameRange '1.2.0',
11649 silly addNameRange '1.2.1',
11649 silly addNameRange '1.3.0',
11649 silly addNameRange '1.3.1',
11649 silly addNameRange '2.0.0',
11649 silly addNameRange '2.1.0',
11649 silly addNameRange '2.2.0',
11649 silly addNameRange '2.2.1',
11649 silly addNameRange '2.3.0' ] ]
11650 verbose addNamed [ 'lodash', '1.0.1' ]
11651 verbose addNamed [ '1.0.1', '1.0.1' ]
11652 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
11653 verbose lock lodash@1.0.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\e2e1e8db-lodash-1-0-1.lock
11654 http 304 https://registry.npmjs.org/hooker
11655 silly registry.get cb [ 304,
11655 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11655 silly registry.get etag: '"4NS4EOCQXZ0NB6PG3PIW1TD6M"',
11655 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11655 silly registry.get 'content-length': '0' } ]
11656 verbose etag hooker from cache
11657 http 304 https://registry.npmjs.org/nopt
11658 silly registry.get cb [ 304,
11658 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11658 silly registry.get etag: '"3XYNN1DM5K7F9CX72UU5XRP7T"',
11658 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11658 silly registry.get 'content-length': '0' } ]
11659 verbose etag nopt from cache
11660 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
11661 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
11662 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
11663 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
11664 silly gunzTarPerm extractEntry lib/crypto.js
11665 silly gunzTarPerm modified mode [ 'lib/crypto.js', 438, 420 ]
11666 silly gunzTarPerm extractEntry lib/index.js
11667 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
11668 silly addNameRange number 2 { name: 'nopt', range: '>=1.0.10-0 <1.1.0-0', hasData: true }
11669 silly addNameRange versions [ 'nopt',
11669 silly addNameRange [ '1.0.0',
11669 silly addNameRange '1.0.1',
11669 silly addNameRange '1.0.2',
11669 silly addNameRange '1.0.3',
11669 silly addNameRange '1.0.4',
11669 silly addNameRange '1.0.5',
11669 silly addNameRange '1.0.6',
11669 silly addNameRange '1.0.7',
11669 silly addNameRange '1.0.8',
11669 silly addNameRange '1.0.9',
11669 silly addNameRange '1.0.10',
11669 silly addNameRange '2.0.0',
11669 silly addNameRange '2.1.0',
11669 silly addNameRange '2.1.1',
11669 silly addNameRange '2.1.2' ] ]
11670 verbose addNamed [ 'nopt', '1.0.10' ]
11671 verbose addNamed [ '1.0.10', '1.0.10' ]
11672 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
11673 verbose lock nopt@1.0.10 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\1be903a1-nopt-1-0-10.lock
11674 silly addNameRange number 2 { name: 'hooker', range: '>=0.2.3-0 <0.3.0-0', hasData: true }
11675 silly addNameRange versions [ 'hooker', [ '0.2.3' ] ]
11676 verbose addNamed [ 'hooker', '0.2.3' ]
11677 verbose addNamed [ '0.2.3', '0.2.3' ]
11678 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
11679 verbose lock hooker@0.2.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\97e6505f-hooker-0-2-3.lock
11680 silly gunzTarPerm extractEntry lib/server.js
11681 silly gunzTarPerm modified mode [ 'lib/server.js', 438, 420 ]
11682 silly gunzTarPerm extractEntry lib/utils.js
11683 silly gunzTarPerm modified mode [ 'lib/utils.js', 438, 420 ]
11684 silly gunzTarPerm modes [ '755', '644' ]
11685 silly gunzTarPerm extractEntry package.json
11686 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
11687 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
11688 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
11689 silly gunzTarPerm extractEntry .npmignore
11690 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
11691 silly gunzTarPerm extractEntry README.md
11692 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
11693 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
11694 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
11695 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
11696 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
11697 silly lockFile af069525-ib-uglify-node-modules-uglify-js tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-uglify\node_modules\uglify-js
11698 silly lockFile af069525-ib-uglify-node-modules-uglify-js tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-uglify\node_modules\uglify-js
11699 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
11700 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
11701 silly lockFile 683010a6-ache-uglify-js-2-4-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\uglify-js\2.4.3\package.tgz
11702 silly lockFile 683010a6-ache-uglify-js-2-4-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\uglify-js\2.4.3\package.tgz
11703 silly lockFile 3d71610a-odules-request-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\mime
11704 silly lockFile 3d71610a-odules-request-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\mime
11705 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
11706 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
11707 silly gunzTarPerm extractEntry uuid.js
11708 silly gunzTarPerm modified mode [ 'uuid.js', 438, 420 ]
11709 silly gunzTarPerm extractEntry benchmark/README.md
11710 silly gunzTarPerm modified mode [ 'benchmark/README.md', 438, 420 ]
11711 silly gunzTarPerm extractEntry benchmark/benchmark.js
11712 silly gunzTarPerm modified mode [ 'benchmark/benchmark.js', 438, 420 ]
11713 silly gunzTarPerm extractEntry benchmark/bench.gnu
11714 silly gunzTarPerm modified mode [ 'benchmark/bench.gnu', 438, 420 ]
11715 silly gunzTarPerm extractEntry benchmark/bench.sh
11716 silly gunzTarPerm modified mode [ 'benchmark/bench.sh', 438, 420 ]
11717 silly gunzTarPerm extractEntry benchmark/benchmark-native.c
11718 silly gunzTarPerm modified mode [ 'benchmark/benchmark-native.c', 438, 420 ]
11719 silly gunzTarPerm extractEntry component.json
11720 silly gunzTarPerm modified mode [ 'component.json', 438, 420 ]
11721 silly gunzTarPerm extractEntry LICENSE.md
11722 silly gunzTarPerm modified mode [ 'LICENSE.md', 438, 420 ]
11723 silly gunzTarPerm extractEntry test/compare_v1.js
11724 silly gunzTarPerm modified mode [ 'test/compare_v1.js', 438, 420 ]
11725 silly gunzTarPerm extractEntry test/test.js
11726 silly gunzTarPerm modified mode [ 'test/test.js', 438, 420 ]
11727 silly gunzTarPerm extractEntry test/test.html
11728 silly gunzTarPerm modified mode [ 'test/test.html', 438, 420 ]
11729 info preinstall uglify-js@2.4.3
11730 info preinstall mime@1.2.11
11731 verbose readDependencies using package.json deps
11732 verbose readDependencies using package.json deps
11733 verbose readDependencies using package.json deps
11734 verbose readDependencies using package.json deps
11735 silly resolved []
11736 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\mime
11737 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\mime
11738 verbose linkStuff [ false,
11738 verbose linkStuff false,
11738 verbose linkStuff false,
11738 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11739 info linkStuff mime@1.2.11
11740 verbose linkBins mime@1.2.11
11741 verbose linkMans mime@1.2.11
11742 verbose rebuildBundles mime@1.2.11
11743 info install mime@1.2.11
11744 info postinstall mime@1.2.11
11745 silly lockFile 2698cc60-uest-node-modules-http-signature tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\http-signature
11746 silly lockFile 2698cc60-uest-node-modules-http-signature tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\http-signature
11747 silly lockFile b5ac6982-ttp-signature-0-10-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
11748 silly lockFile b5ac6982-ttp-signature-0-10-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-signature\0.10.0\package.tgz
11749 info preinstall http-signature@0.10.0
11750 verbose readDependencies using package.json deps
11751 verbose readDependencies using package.json deps
11752 verbose cache add [ 'async@~0.2.6', null ]
11753 verbose cache add name=undefined spec="async@~0.2.6" args=["async@~0.2.6",null]
11754 verbose parsed url { protocol: null,
11754 verbose parsed url slashes: null,
11754 verbose parsed url auth: null,
11754 verbose parsed url host: null,
11754 verbose parsed url port: null,
11754 verbose parsed url hostname: null,
11754 verbose parsed url hash: null,
11754 verbose parsed url search: null,
11754 verbose parsed url query: null,
11754 verbose parsed url pathname: 'async@~0.2.6',
11754 verbose parsed url path: 'async@~0.2.6',
11754 verbose parsed url href: 'async@~0.2.6' }
11755 verbose cache add name="async" spec="~0.2.6" args=["async","~0.2.6"]
11756 verbose parsed url { protocol: null,
11756 verbose parsed url slashes: null,
11756 verbose parsed url auth: null,
11756 verbose parsed url host: null,
11756 verbose parsed url port: null,
11756 verbose parsed url hostname: null,
11756 verbose parsed url hash: null,
11756 verbose parsed url search: null,
11756 verbose parsed url query: null,
11756 verbose parsed url pathname: '~0.2.6',
11756 verbose parsed url path: '~0.2.6',
11756 verbose parsed url href: '~0.2.6' }
11757 verbose addNamed [ 'async', '~0.2.6' ]
11758 verbose addNamed [ null, '>=0.2.6-0 <0.3.0-0' ]
11759 silly lockFile e00b1d77-async-0-2-6 async@~0.2.6
11760 verbose lock async@~0.2.6 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\e00b1d77-async-0-2-6.lock
11761 verbose cache add [ 'source-map@~0.1.7', null ]
11762 verbose cache add name=undefined spec="source-map@~0.1.7" args=["source-map@~0.1.7",null]
11763 verbose parsed url { protocol: null,
11763 verbose parsed url slashes: null,
11763 verbose parsed url auth: null,
11763 verbose parsed url host: null,
11763 verbose parsed url port: null,
11763 verbose parsed url hostname: null,
11763 verbose parsed url hash: null,
11763 verbose parsed url search: null,
11763 verbose parsed url query: null,
11763 verbose parsed url pathname: 'source-map@~0.1.7',
11763 verbose parsed url path: 'source-map@~0.1.7',
11763 verbose parsed url href: 'source-map@~0.1.7' }
11764 verbose cache add name="source-map" spec="~0.1.7" args=["source-map","~0.1.7"]
11765 verbose parsed url { protocol: null,
11765 verbose parsed url slashes: null,
11765 verbose parsed url auth: null,
11765 verbose parsed url host: null,
11765 verbose parsed url port: null,
11765 verbose parsed url hostname: null,
11765 verbose parsed url hash: null,
11765 verbose parsed url search: null,
11765 verbose parsed url query: null,
11765 verbose parsed url pathname: '~0.1.7',
11765 verbose parsed url path: '~0.1.7',
11765 verbose parsed url href: '~0.1.7' }
11766 verbose addNamed [ 'source-map', '~0.1.7' ]
11767 verbose addNamed [ null, '>=0.1.7-0 <0.2.0-0' ]
11768 silly lockFile 19b4245f-source-map-0-1-7 source-map@~0.1.7
11769 verbose lock source-map@~0.1.7 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\19b4245f-source-map-0-1-7.lock
11770 verbose cache add [ 'assert-plus@0.1.2', null ]
11771 verbose cache add name=undefined spec="assert-plus@0.1.2" args=["assert-plus@0.1.2",null]
11772 verbose parsed url { protocol: null,
11772 verbose parsed url slashes: null,
11772 verbose parsed url auth: null,
11772 verbose parsed url host: null,
11772 verbose parsed url port: null,
11772 verbose parsed url hostname: null,
11772 verbose parsed url hash: null,
11772 verbose parsed url search: null,
11772 verbose parsed url query: null,
11772 verbose parsed url pathname: 'assert-plus@0.1.2',
11772 verbose parsed url path: 'assert-plus@0.1.2',
11772 verbose parsed url href: 'assert-plus@0.1.2' }
11773 verbose cache add name="assert-plus" spec="0.1.2" args=["assert-plus","0.1.2"]
11774 verbose parsed url { protocol: null,
11774 verbose parsed url slashes: null,
11774 verbose parsed url auth: null,
11774 verbose parsed url host: null,
11774 verbose parsed url port: null,
11774 verbose parsed url hostname: null,
11774 verbose parsed url hash: null,
11774 verbose parsed url search: null,
11774 verbose parsed url query: null,
11774 verbose parsed url pathname: '0.1.2',
11774 verbose parsed url path: '0.1.2',
11774 verbose parsed url href: '0.1.2' }
11775 verbose addNamed [ 'assert-plus', '0.1.2' ]
11776 verbose cache add [ 'asn1@0.1.11', null ]
11777 verbose cache add name=undefined spec="asn1@0.1.11" args=["asn1@0.1.11",null]
11778 verbose parsed url { protocol: null,
11778 verbose parsed url slashes: null,
11778 verbose parsed url auth: null,
11778 verbose parsed url host: null,
11778 verbose parsed url port: null,
11778 verbose parsed url hostname: null,
11778 verbose parsed url hash: null,
11778 verbose parsed url search: null,
11778 verbose parsed url query: null,
11778 verbose parsed url pathname: 'asn1@0.1.11',
11778 verbose parsed url path: 'asn1@0.1.11',
11778 verbose parsed url href: 'asn1@0.1.11' }
11779 verbose cache add name="asn1" spec="0.1.11" args=["asn1","0.1.11"]
11780 verbose parsed url { protocol: null,
11780 verbose parsed url slashes: null,
11780 verbose parsed url auth: null,
11780 verbose parsed url host: null,
11780 verbose parsed url port: null,
11780 verbose parsed url hostname: null,
11780 verbose parsed url hash: null,
11780 verbose parsed url search: null,
11780 verbose parsed url query: null,
11780 verbose parsed url pathname: '0.1.11',
11780 verbose parsed url path: '0.1.11',
11780 verbose parsed url href: '0.1.11' }
11781 verbose addNamed [ 'asn1', '0.1.11' ]
11782 verbose cache add [ 'optimist@~0.3.5', null ]
11783 verbose cache add name=undefined spec="optimist@~0.3.5" args=["optimist@~0.3.5",null]
11784 verbose parsed url { protocol: null,
11784 verbose parsed url slashes: null,
11784 verbose parsed url auth: null,
11784 verbose parsed url host: null,
11784 verbose parsed url port: null,
11784 verbose parsed url hostname: null,
11784 verbose parsed url hash: null,
11784 verbose parsed url search: null,
11784 verbose parsed url query: null,
11784 verbose parsed url pathname: 'optimist@~0.3.5',
11784 verbose parsed url path: 'optimist@~0.3.5',
11784 verbose parsed url href: 'optimist@~0.3.5' }
11785 verbose cache add name="optimist" spec="~0.3.5" args=["optimist","~0.3.5"]
11786 verbose parsed url { protocol: null,
11786 verbose parsed url slashes: null,
11786 verbose parsed url auth: null,
11786 verbose parsed url host: null,
11786 verbose parsed url port: null,
11786 verbose parsed url hostname: null,
11786 verbose parsed url hash: null,
11786 verbose parsed url search: null,
11786 verbose parsed url query: null,
11786 verbose parsed url pathname: '~0.3.5',
11786 verbose parsed url path: '~0.3.5',
11786 verbose parsed url href: '~0.3.5' }
11787 verbose addNamed [ 'optimist', '~0.3.5' ]
11788 verbose addNamed [ null, '>=0.3.5-0 <0.4.0-0' ]
11789 silly lockFile a1f99b53-optimist-0-3-5 optimist@~0.3.5
11790 verbose lock optimist@~0.3.5 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a1f99b53-optimist-0-3-5.lock
11791 verbose cache add [ 'ctype@0.5.2', null ]
11792 verbose cache add name=undefined spec="ctype@0.5.2" args=["ctype@0.5.2",null]
11793 verbose parsed url { protocol: null,
11793 verbose parsed url slashes: null,
11793 verbose parsed url auth: null,
11793 verbose parsed url host: null,
11793 verbose parsed url port: null,
11793 verbose parsed url hostname: null,
11793 verbose parsed url hash: null,
11793 verbose parsed url search: null,
11793 verbose parsed url query: null,
11793 verbose parsed url pathname: 'ctype@0.5.2',
11793 verbose parsed url path: 'ctype@0.5.2',
11793 verbose parsed url href: 'ctype@0.5.2' }
11794 verbose cache add name="ctype" spec="0.5.2" args=["ctype","0.5.2"]
11795 verbose parsed url { protocol: null,
11795 verbose parsed url slashes: null,
11795 verbose parsed url auth: null,
11795 verbose parsed url host: null,
11795 verbose parsed url port: null,
11795 verbose parsed url hostname: null,
11795 verbose parsed url hash: null,
11795 verbose parsed url search: null,
11795 verbose parsed url query: null,
11795 verbose parsed url pathname: '0.5.2',
11795 verbose parsed url path: '0.5.2',
11795 verbose parsed url href: '0.5.2' }
11796 verbose addNamed [ 'ctype', '0.5.2' ]
11797 verbose cache add [ 'uglify-to-browserify@~1.0.0', null ]
11798 verbose cache add name=undefined spec="uglify-to-browserify@~1.0.0" args=["uglify-to-browserify@~1.0.0",null]
11799 verbose parsed url { protocol: null,
11799 verbose parsed url slashes: null,
11799 verbose parsed url auth: null,
11799 verbose parsed url host: null,
11799 verbose parsed url port: null,
11799 verbose parsed url hostname: null,
11799 verbose parsed url hash: null,
11799 verbose parsed url search: null,
11799 verbose parsed url query: null,
11799 verbose parsed url pathname: 'uglify-to-browserify@~1.0.0',
11799 verbose parsed url path: 'uglify-to-browserify@~1.0.0',
11799 verbose parsed url href: 'uglify-to-browserify@~1.0.0' }
11800 verbose cache add name="uglify-to-browserify" spec="~1.0.0" args=["uglify-to-browserify","~1.0.0"]
11801 verbose parsed url { protocol: null,
11801 verbose parsed url slashes: null,
11801 verbose parsed url auth: null,
11801 verbose parsed url host: null,
11801 verbose parsed url port: null,
11801 verbose parsed url hostname: null,
11801 verbose parsed url hash: null,
11801 verbose parsed url search: null,
11801 verbose parsed url query: null,
11801 verbose parsed url pathname: '~1.0.0',
11801 verbose parsed url path: '~1.0.0',
11801 verbose parsed url href: '~1.0.0' }
11802 verbose addNamed [ 'uglify-to-browserify', '~1.0.0' ]
11803 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
11804 silly lockFile 8d4498e3-uglify-to-browserify-1-0-0 uglify-to-browserify@~1.0.0
11805 verbose lock uglify-to-browserify@~1.0.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\8d4498e3-uglify-to-browserify-1-0-0.lock
11806 silly addNameRange { name: 'source-map',
11806 silly addNameRange range: '>=0.1.7-0 <0.2.0-0',
11806 silly addNameRange hasData: false }
11807 silly addNameRange { name: 'async', range: '>=0.2.6-0 <0.3.0-0', hasData: false }
11808 silly addNameRange { name: 'uglify-to-browserify',
11808 silly addNameRange range: '>=1.0.0-0 <1.1.0-0',
11808 silly addNameRange hasData: false }
11809 silly addNameRange { name: 'optimist', range: '>=0.3.5-0 <0.4.0-0', hasData: false }
11810 verbose registry.get optimist not expired, no request
11811 silly addNameRange number 2 { name: 'optimist', range: '>=0.3.5-0 <0.4.0-0', hasData: true }
11812 silly addNameRange versions [ 'optimist',
11812 silly addNameRange [ '0.0.1',
11812 silly addNameRange '0.0.2',
11812 silly addNameRange '0.0.4',
11812 silly addNameRange '0.0.5',
11812 silly addNameRange '0.0.6',
11812 silly addNameRange '0.0.7',
11812 silly addNameRange '0.1.0',
11812 silly addNameRange '0.1.1',
11812 silly addNameRange '0.1.2',
11812 silly addNameRange '0.1.3',
11812 silly addNameRange '0.1.4',
11812 silly addNameRange '0.1.5',
11812 silly addNameRange '0.1.6',
11812 silly addNameRange '0.1.7',
11812 silly addNameRange '0.1.8',
11812 silly addNameRange '0.1.9',
11812 silly addNameRange '0.0.3',
11812 silly addNameRange '0.2.0',
11812 silly addNameRange '0.2.1',
11812 silly addNameRange '0.2.2',
11812 silly addNameRange '0.2.3',
11812 silly addNameRange '0.2.4',
11812 silly addNameRange '0.2.5',
11812 silly addNameRange '0.2.6',
11812 silly addNameRange '0.2.7',
11812 silly addNameRange '0.2.8',
11812 silly addNameRange '0.3.0',
11812 silly addNameRange '0.3.1',
11812 silly addNameRange '0.3.3',
11812 silly addNameRange '0.3.4',
11812 silly addNameRange '0.3.5',
11812 silly addNameRange '0.3.6',
11812 silly addNameRange '0.3.7',
11812 silly addNameRange '0.4.0',
11812 silly addNameRange '0.5.0',
11812 silly addNameRange '0.5.1',
11812 silly addNameRange '0.5.2',
11812 silly addNameRange '0.6.0' ] ]
11813 verbose addNamed [ 'optimist', '0.3.7' ]
11814 verbose addNamed [ '0.3.7', '0.3.7' ]
11815 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
11816 verbose lock optimist@0.3.7 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\090e1d8d-optimist-0-3-7.lock
11817 verbose registry.get async not expired, no request
11818 silly addNameRange number 2 { name: 'async', range: '>=0.2.6-0 <0.3.0-0', hasData: true }
11819 silly addNameRange versions [ 'async',
11819 silly addNameRange [ '0.1.0',
11819 silly addNameRange '0.1.1',
11819 silly addNameRange '0.1.2',
11819 silly addNameRange '0.1.3',
11819 silly addNameRange '0.1.4',
11819 silly addNameRange '0.1.5',
11819 silly addNameRange '0.1.6',
11819 silly addNameRange '0.1.7',
11819 silly addNameRange '0.1.8',
11819 silly addNameRange '0.1.9',
11819 silly addNameRange '0.1.10',
11819 silly addNameRange '0.1.11',
11819 silly addNameRange '0.1.12',
11819 silly addNameRange '0.1.13',
11819 silly addNameRange '0.1.14',
11819 silly addNameRange '0.1.15',
11819 silly addNameRange '0.1.16',
11819 silly addNameRange '0.1.17',
11819 silly addNameRange '0.1.18',
11819 silly addNameRange '0.1.19',
11819 silly addNameRange '0.1.20',
11819 silly addNameRange '0.1.21',
11819 silly addNameRange '0.1.22',
11819 silly addNameRange '0.2.0',
11819 silly addNameRange '0.2.1',
11819 silly addNameRange '0.2.2',
11819 silly addNameRange '0.2.3',
11819 silly addNameRange '0.2.4',
11819 silly addNameRange '0.2.5',
11819 silly addNameRange '0.2.6',
11819 silly addNameRange '0.2.7',
11819 silly addNameRange '0.2.8',
11819 silly addNameRange '0.2.9' ] ]
11820 verbose addNamed [ 'async', '0.2.9' ]
11821 verbose addNamed [ '0.2.9', '0.2.9' ]
11822 silly lockFile be62480b-async-0-2-9 async@0.2.9
11823 verbose lock async@0.2.9 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\be62480b-async-0-2-9.lock
11824 http 304 https://registry.npmjs.org/lodash
11825 silly registry.get cb [ 304,
11825 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11825 silly registry.get etag: '"34G28QRTYN4D4KJYH5YQ0G9TP"',
11825 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11825 silly registry.get 'content-length': '0' } ]
11826 verbose etag lodash from cache
11827 verbose url raw uglify-to-browserify
11828 verbose url resolving [ 'https://registry.npmjs.org/', './uglify-to-browserify' ]
11829 verbose url resolved https://registry.npmjs.org/uglify-to-browserify
11830 info trying registry request attempt 1 at 09:42:55
11831 verbose etag "9P5P8PAAUQI16CE3E1JIIS31J"
11832 http GET https://registry.npmjs.org/uglify-to-browserify
11833 verbose url raw source-map
11834 verbose url resolving [ 'https://registry.npmjs.org/', './source-map' ]
11835 verbose url resolved https://registry.npmjs.org/source-map
11836 info trying registry request attempt 1 at 09:42:55
11837 verbose etag "7C9ASREIM5MJFAWMF85BIVLLP"
11838 http GET https://registry.npmjs.org/source-map
11839 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
11840 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
11841 silly lockFile be62480b-async-0-2-9 async@0.2.9
11842 silly lockFile be62480b-async-0-2-9 async@0.2.9
11843 http 304 https://registry.npmjs.org/lodash
11844 silly registry.get cb [ 304,
11844 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11844 silly registry.get etag: '"34G28QRTYN4D4KJYH5YQ0G9TP"',
11844 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11844 silly registry.get 'content-length': '0' } ]
11845 verbose etag lodash from cache
11846 silly lockFile a1f99b53-optimist-0-3-5 optimist@~0.3.5
11847 silly lockFile a1f99b53-optimist-0-3-5 optimist@~0.3.5
11848 silly lockFile e00b1d77-async-0-2-6 async@~0.2.6
11849 silly lockFile e00b1d77-async-0-2-6 async@~0.2.6
11850 silly addNameRange number 2 { name: 'lodash', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
11851 silly addNameRange versions [ 'lodash',
11851 silly addNameRange [ '0.1.0',
11851 silly addNameRange '0.2.0',
11851 silly addNameRange '0.2.1',
11851 silly addNameRange '0.2.2',
11851 silly addNameRange '0.3.0',
11851 silly addNameRange '0.3.1',
11851 silly addNameRange '0.3.2',
11851 silly addNameRange '0.4.0',
11851 silly addNameRange '0.4.1',
11851 silly addNameRange '0.4.2',
11851 silly addNameRange '0.5.0-rc.1',
11851 silly addNameRange '0.5.0',
11851 silly addNameRange '0.5.1',
11851 silly addNameRange '0.5.2',
11851 silly addNameRange '0.6.0',
11851 silly addNameRange '0.6.1',
11851 silly addNameRange '0.7.0',
11851 silly addNameRange '0.8.0',
11851 silly addNameRange '0.8.1',
11851 silly addNameRange '0.8.2',
11851 silly addNameRange '0.9.0',
11851 silly addNameRange '0.9.1',
11851 silly addNameRange '0.9.2',
11851 silly addNameRange '0.10.0',
11851 silly addNameRange '1.0.0-rc.1',
11851 silly addNameRange '1.0.0-rc.2',
11851 silly addNameRange '1.0.0-rc.3',
11851 silly addNameRange '1.0.0',
11851 silly addNameRange '1.0.1',
11851 silly addNameRange '1.1.0',
11851 silly addNameRange '1.1.1',
11851 silly addNameRange '1.2.0',
11851 silly addNameRange '1.2.1',
11851 silly addNameRange '1.3.0',
11851 silly addNameRange '1.3.1',
11851 silly addNameRange '2.0.0',
11851 silly addNameRange '2.1.0',
11851 silly addNameRange '2.2.0',
11851 silly addNameRange '2.2.1',
11851 silly addNameRange '2.3.0' ] ]
11852 verbose addNamed [ 'lodash', '1.1.1' ]
11853 verbose addNamed [ '1.1.1', '1.1.1' ]
11854 silly lockFile 05dd3f50-lodash-1-1-1 lodash@1.1.1
11855 verbose lock lodash@1.1.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\05dd3f50-lodash-1-1-1.lock
11856 silly addNameRange number 2 { name: 'lodash', range: '>=0.9.0-0 <0.10.0-0', hasData: true }
11857 silly addNameRange versions [ 'lodash',
11857 silly addNameRange [ '0.1.0',
11857 silly addNameRange '0.2.0',
11857 silly addNameRange '0.2.1',
11857 silly addNameRange '0.2.2',
11857 silly addNameRange '0.3.0',
11857 silly addNameRange '0.3.1',
11857 silly addNameRange '0.3.2',
11857 silly addNameRange '0.4.0',
11857 silly addNameRange '0.4.1',
11857 silly addNameRange '0.4.2',
11857 silly addNameRange '0.5.0-rc.1',
11857 silly addNameRange '0.5.0',
11857 silly addNameRange '0.5.1',
11857 silly addNameRange '0.5.2',
11857 silly addNameRange '0.6.0',
11857 silly addNameRange '0.6.1',
11857 silly addNameRange '0.7.0',
11857 silly addNameRange '0.8.0',
11857 silly addNameRange '0.8.1',
11857 silly addNameRange '0.8.2',
11857 silly addNameRange '0.9.0',
11857 silly addNameRange '0.9.1',
11857 silly addNameRange '0.9.2',
11857 silly addNameRange '0.10.0',
11857 silly addNameRange '1.0.0-rc.1',
11857 silly addNameRange '1.0.0-rc.2',
11857 silly addNameRange '1.0.0-rc.3',
11857 silly addNameRange '1.0.0',
11857 silly addNameRange '1.0.1',
11857 silly addNameRange '1.1.0',
11857 silly addNameRange '1.1.1',
11857 silly addNameRange '1.2.0',
11857 silly addNameRange '1.2.1',
11857 silly addNameRange '1.3.0',
11857 silly addNameRange '1.3.1',
11857 silly addNameRange '2.0.0',
11857 silly addNameRange '2.1.0',
11857 silly addNameRange '2.2.0',
11857 silly addNameRange '2.2.1',
11857 silly addNameRange '2.3.0' ] ]
11858 verbose addNamed [ 'lodash', '0.9.2' ]
11859 verbose addNamed [ '0.9.2', '0.9.2' ]
11860 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
11861 verbose lock lodash@0.9.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\9802d919-lodash-0-9-2.lock
11862 silly lockFile 05dd3f50-lodash-1-1-1 lodash@1.1.1
11863 silly lockFile 05dd3f50-lodash-1-1-1 lodash@1.1.1
11864 silly lockFile 304390bd-lodash-1-1 lodash@~1.1
11865 silly lockFile 304390bd-lodash-1-1 lodash@~1.1
11866 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
11867 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
11868 silly lockFile 429879b8-lodash-0-9-0 lodash@~0.9.0
11869 silly lockFile 429879b8-lodash-0-9-0 lodash@~0.9.0
11870 http 304 https://registry.npmjs.org/http-proxy
11871 silly registry.get cb [ 304,
11871 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11871 silly registry.get etag: '"F28H68IGMJ2E8FKYULPW74W4P"',
11871 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11871 silly registry.get 'content-length': '0' } ]
11872 verbose etag http-proxy from cache
11873 silly addNameRange number 2 { name: 'http-proxy',
11873 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
11873 silly addNameRange hasData: true }
11874 silly addNameRange versions [ 'http-proxy',
11874 silly addNameRange [ '0.5.9',
11874 silly addNameRange '0.5.10',
11874 silly addNameRange '0.5.11',
11874 silly addNameRange '0.6.0',
11874 silly addNameRange '0.6.1',
11874 silly addNameRange '0.6.2',
11874 silly addNameRange '0.6.4',
11874 silly addNameRange '0.6.5',
11874 silly addNameRange '0.6.6',
11874 silly addNameRange '0.7.0',
11874 silly addNameRange '0.7.2',
11874 silly addNameRange '0.7.3',
11874 silly addNameRange '0.7.4',
11874 silly addNameRange '0.7.5',
11874 silly addNameRange '0.7.6',
11874 silly addNameRange '0.8.0',
11874 silly addNameRange '0.8.1',
11874 silly addNameRange '0.8.2',
11874 silly addNameRange '0.8.3',
11874 silly addNameRange '0.8.4',
11874 silly addNameRange '0.8.5',
11874 silly addNameRange '0.8.6',
11874 silly addNameRange '0.8.7',
11874 silly addNameRange '0.9.0',
11874 silly addNameRange '0.9.1',
11874 silly addNameRange '0.10.0',
11874 silly addNameRange '0.10.1',
11874 silly addNameRange '0.10.2',
11874 silly addNameRange '0.10.3' ] ]
11875 verbose addNamed [ 'http-proxy', '0.10.3' ]
11876 verbose addNamed [ '0.10.3', '0.10.3' ]
11877 silly lockFile 8a2ed421-http-proxy-0-10-3 http-proxy@0.10.3
11878 verbose lock http-proxy@0.10.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\8a2ed421-http-proxy-0-10-3.lock
11879 silly lockFile 6940e86f-s-request-node-modules-node-uuid tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\node-uuid
11880 silly lockFile 6940e86f-s-request-node-modules-node-uuid tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\node-uuid
11881 silly lockFile ce0a7c0f-ache-node-uuid-1-4-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
11882 silly lockFile ce0a7c0f-ache-node-uuid-1-4-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\node-uuid\1.4.1\package.tgz
11883 silly lockFile 8a2ed421-http-proxy-0-10-3 http-proxy@0.10.3
11884 silly lockFile 8a2ed421-http-proxy-0-10-3 http-proxy@0.10.3
11885 silly lockFile 6486d2d0-http-proxy-0-10 http-proxy@~0.10
11886 silly lockFile 6486d2d0-http-proxy-0-10 http-proxy@~0.10
11887 info preinstall node-uuid@1.4.1
11888 verbose readDependencies using package.json deps
11889 verbose readDependencies using package.json deps
11890 silly resolved []
11891 verbose about to build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\node-uuid
11892 info build C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\node-uuid
11893 verbose linkStuff [ false,
11893 verbose linkStuff false,
11893 verbose linkStuff false,
11893 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\jpegtran-bin\\node_modules\\request\\node_modules' ]
11894 info linkStuff node-uuid@1.4.1
11895 verbose linkBins node-uuid@1.4.1
11896 verbose linkMans node-uuid@1.4.1
11897 verbose rebuildBundles node-uuid@1.4.1
11898 info install node-uuid@1.4.1
11899 info postinstall node-uuid@1.4.1
11900 silly lockFile 836b6c95-odules-request-node-modules-hawk tar://C:\Projects\trainingsservice\node_modules\request\node_modules\hawk
11901 silly lockFile 836b6c95-odules-request-node-modules-hawk tar://C:\Projects\trainingsservice\node_modules\request\node_modules\hawk
11902 silly lockFile a7a5df8a-npm-cache-hawk-1-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
11903 silly lockFile a7a5df8a-npm-cache-hawk-1-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
11904 info preinstall hawk@1.0.0
11905 http 304 https://registry.npmjs.org/eventemitter2
11906 silly registry.get cb [ 304,
11906 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11906 silly registry.get etag: '"3X5QUGJ2DP05IHP358LX937LG"',
11906 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11906 silly registry.get 'content-length': '0' } ]
11907 verbose etag eventemitter2 from cache
11908 verbose readDependencies using package.json deps
11909 http 304 https://registry.npmjs.org/graceful-fs
11910 silly registry.get cb [ 304,
11910 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11910 silly registry.get etag: '"8VTIGE3KHXX4861152PVTWGF8"',
11910 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
11910 silly registry.get 'content-length': '0' } ]
11911 verbose etag graceful-fs from cache
11912 verbose readDependencies using package.json deps
11913 silly addNameRange number 2 { name: 'eventemitter2',
11913 silly addNameRange range: '>=0.4.9-0 <0.5.0-0',
11913 silly addNameRange hasData: true }
11914 silly addNameRange versions [ 'eventemitter2',
11914 silly addNameRange [ '0.0.1',
11914 silly addNameRange '0.1.0',
11914 silly addNameRange '0.1.1',
11914 silly addNameRange '0.1.3',
11914 silly addNameRange '0.2.5',
11914 silly addNameRange '0.2.6',
11914 silly addNameRange '0.2.7',
11914 silly addNameRange '0.3.5',
11914 silly addNameRange '0.3.6',
11914 silly addNameRange '0.3.7',
11914 silly addNameRange '0.4.0',
11914 silly addNameRange '0.4.1',
11914 silly addNameRange '0.4.3',
11914 silly addNameRange '0.4.6',
11914 silly addNameRange '0.4.7',
11914 silly addNameRange '0.4.8',
11914 silly addNameRange '0.4.9',
11914 silly addNameRange '0.4.10',
11914 silly addNameRange '0.4.11',
11914 silly addNameRange '0.4.12',
11914 silly addNameRange '0.4.13' ] ]
11915 verbose addNamed [ 'eventemitter2', '0.4.13' ]
11916 verbose addNamed [ '0.4.13', '0.4.13' ]
11917 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
11918 verbose lock eventemitter2@0.4.13 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2bed8da6-eventemitter2-0-4-13.lock
11919 silly addNameRange number 2 { name: 'graceful-fs',
11919 silly addNameRange range: '>=1.2.1-0 <1.3.0-0',
11919 silly addNameRange hasData: true }
11920 silly addNameRange versions [ 'graceful-fs',
11920 silly addNameRange [ '1.0.0',
11920 silly addNameRange '1.0.1',
11920 silly addNameRange '1.0.2',
11920 silly addNameRange '1.1.0',
11920 silly addNameRange '1.1.1',
11920 silly addNameRange '1.1.2',
11920 silly addNameRange '1.1.3',
11920 silly addNameRange '1.1.4',
11920 silly addNameRange '1.1.5',
11920 silly addNameRange '1.1.6',
11920 silly addNameRange '1.1.7',
11920 silly addNameRange '1.1.8',
11920 silly addNameRange '1.1.9',
11920 silly addNameRange '1.1.10',
11920 silly addNameRange '1.1.11',
11920 silly addNameRange '1.1.12',
11920 silly addNameRange '1.1.13',
11920 silly addNameRange '1.1.14',
11920 silly addNameRange '1.2.0',
11920 silly addNameRange '1.2.1',
11920 silly addNameRange '1.2.2',
11920 silly addNameRange '1.2.3',
11920 silly addNameRange '2.0.0',
11920 silly addNameRange '2.0.1' ] ]
11921 verbose addNamed [ 'graceful-fs', '1.2.3' ]
11922 verbose addNamed [ '1.2.3', '1.2.3' ]
11923 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
11924 verbose lock graceful-fs@1.2.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\6c7102cf-graceful-fs-1-2-3.lock
11925 verbose cache add [ 'hoek@0.9.x', null ]
11926 verbose cache add name=undefined spec="hoek@0.9.x" args=["hoek@0.9.x",null]
11927 verbose parsed url { protocol: null,
11927 verbose parsed url slashes: null,
11927 verbose parsed url auth: null,
11927 verbose parsed url host: null,
11927 verbose parsed url port: null,
11927 verbose parsed url hostname: null,
11927 verbose parsed url hash: null,
11927 verbose parsed url search: null,
11927 verbose parsed url query: null,
11927 verbose parsed url pathname: 'hoek@0.9.x',
11927 verbose parsed url path: 'hoek@0.9.x',
11927 verbose parsed url href: 'hoek@0.9.x' }
11928 verbose cache add name="hoek" spec="0.9.x" args=["hoek","0.9.x"]
11929 verbose parsed url { protocol: null,
11929 verbose parsed url slashes: null,
11929 verbose parsed url auth: null,
11929 verbose parsed url host: null,
11929 verbose parsed url port: null,
11929 verbose parsed url hostname: null,
11929 verbose parsed url hash: null,
11929 verbose parsed url search: null,
11929 verbose parsed url query: null,
11929 verbose parsed url pathname: '0.9.x',
11929 verbose parsed url path: '0.9.x',
11929 verbose parsed url href: '0.9.x' }
11930 verbose addNamed [ 'hoek', '0.9.x' ]
11931 verbose addNamed [ null, '>=0.9.0-0 <0.10.0-0' ]
11932 silly lockFile 58ccaf9a-hoek-0-9-x hoek@0.9.x
11933 verbose lock hoek@0.9.x C:\Users\lukasz.zak\AppData\Roaming\npm-cache\58ccaf9a-hoek-0-9-x.lock
11934 verbose cache add [ 'boom@0.4.x', null ]
11935 verbose cache add name=undefined spec="boom@0.4.x" args=["boom@0.4.x",null]
11936 verbose parsed url { protocol: null,
11936 verbose parsed url slashes: null,
11936 verbose parsed url auth: null,
11936 verbose parsed url host: null,
11936 verbose parsed url port: null,
11936 verbose parsed url hostname: null,
11936 verbose parsed url hash: null,
11936 verbose parsed url search: null,
11936 verbose parsed url query: null,
11936 verbose parsed url pathname: 'boom@0.4.x',
11936 verbose parsed url path: 'boom@0.4.x',
11936 verbose parsed url href: 'boom@0.4.x' }
11937 verbose cache add name="boom" spec="0.4.x" args=["boom","0.4.x"]
11938 verbose parsed url { protocol: null,
11938 verbose parsed url slashes: null,
11938 verbose parsed url auth: null,
11938 verbose parsed url host: null,
11938 verbose parsed url port: null,
11938 verbose parsed url hostname: null,
11938 verbose parsed url hash: null,
11938 verbose parsed url search: null,
11938 verbose parsed url query: null,
11938 verbose parsed url pathname: '0.4.x',
11938 verbose parsed url path: '0.4.x',
11938 verbose parsed url href: '0.4.x' }
11939 verbose addNamed [ 'boom', '0.4.x' ]
11940 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
11941 silly lockFile 225d04ea-boom-0-4-x boom@0.4.x
11942 verbose lock boom@0.4.x C:\Users\lukasz.zak\AppData\Roaming\npm-cache\225d04ea-boom-0-4-x.lock
11943 verbose cache add [ 'cryptiles@0.2.x', null ]
11944 verbose cache add name=undefined spec="cryptiles@0.2.x" args=["cryptiles@0.2.x",null]
11945 verbose parsed url { protocol: null,
11945 verbose parsed url slashes: null,
11945 verbose parsed url auth: null,
11945 verbose parsed url host: null,
11945 verbose parsed url port: null,
11945 verbose parsed url hostname: null,
11945 verbose parsed url hash: null,
11945 verbose parsed url search: null,
11945 verbose parsed url query: null,
11945 verbose parsed url pathname: 'cryptiles@0.2.x',
11945 verbose parsed url path: 'cryptiles@0.2.x',
11945 verbose parsed url href: 'cryptiles@0.2.x' }
11946 verbose cache add name="cryptiles" spec="0.2.x" args=["cryptiles","0.2.x"]
11947 verbose parsed url { protocol: null,
11947 verbose parsed url slashes: null,
11947 verbose parsed url auth: null,
11947 verbose parsed url host: null,
11947 verbose parsed url port: null,
11947 verbose parsed url hostname: null,
11947 verbose parsed url hash: null,
11947 verbose parsed url search: null,
11947 verbose parsed url query: null,
11947 verbose parsed url pathname: '0.2.x',
11947 verbose parsed url path: '0.2.x',
11947 verbose parsed url href: '0.2.x' }
11948 verbose addNamed [ 'cryptiles', '0.2.x' ]
11949 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
11950 silly lockFile 75d7e584-cryptiles-0-2-x cryptiles@0.2.x
11951 verbose lock cryptiles@0.2.x C:\Users\lukasz.zak\AppData\Roaming\npm-cache\75d7e584-cryptiles-0-2-x.lock
11952 verbose cache add [ 'sntp@0.2.x', null ]
11953 verbose cache add name=undefined spec="sntp@0.2.x" args=["sntp@0.2.x",null]
11954 verbose parsed url { protocol: null,
11954 verbose parsed url slashes: null,
11954 verbose parsed url auth: null,
11954 verbose parsed url host: null,
11954 verbose parsed url port: null,
11954 verbose parsed url hostname: null,
11954 verbose parsed url hash: null,
11954 verbose parsed url search: null,
11954 verbose parsed url query: null,
11954 verbose parsed url pathname: 'sntp@0.2.x',
11954 verbose parsed url path: 'sntp@0.2.x',
11954 verbose parsed url href: 'sntp@0.2.x' }
11955 verbose cache add name="sntp" spec="0.2.x" args=["sntp","0.2.x"]
11956 verbose parsed url { protocol: null,
11956 verbose parsed url slashes: null,
11956 verbose parsed url auth: null,
11956 verbose parsed url host: null,
11956 verbose parsed url port: null,
11956 verbose parsed url hostname: null,
11956 verbose parsed url hash: null,
11956 verbose parsed url search: null,
11956 verbose parsed url query: null,
11956 verbose parsed url pathname: '0.2.x',
11956 verbose parsed url path: '0.2.x',
11956 verbose parsed url href: '0.2.x' }
11957 verbose addNamed [ 'sntp', '0.2.x' ]
11958 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
11959 silly lockFile b35a0361-sntp-0-2-x sntp@0.2.x
11960 verbose lock sntp@0.2.x C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b35a0361-sntp-0-2-x.lock
11961 silly addNameRange { name: 'hoek', range: '>=0.9.0-0 <0.10.0-0', hasData: false }
11962 silly addNameRange { name: 'boom', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
11963 silly addNameRange { name: 'cryptiles',
11963 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
11963 silly addNameRange hasData: false }
11964 silly addNameRange { name: 'sntp', range: '>=0.2.0-0 <0.3.0-0', hasData: false }
11965 verbose url raw cryptiles
11966 verbose url resolving [ 'https://registry.npmjs.org/', './cryptiles' ]
11967 verbose url resolved https://registry.npmjs.org/cryptiles
11968 info trying registry request attempt 1 at 09:42:56
11969 verbose etag "F4YRPWOFSNDWTMW0BMHMCVGKB"
11970 http GET https://registry.npmjs.org/cryptiles
11971 verbose url raw sntp
11972 verbose url resolving [ 'https://registry.npmjs.org/', './sntp' ]
11973 verbose url resolved https://registry.npmjs.org/sntp
11974 info trying registry request attempt 1 at 09:42:56
11975 verbose etag "48K641ZSC8TVJFWQYSQSOSALX"
11976 http GET https://registry.npmjs.org/sntp
11977 verbose url raw boom
11978 verbose url resolving [ 'https://registry.npmjs.org/', './boom' ]
11979 verbose url resolved https://registry.npmjs.org/boom
11980 info trying registry request attempt 1 at 09:42:56
11981 verbose etag "6GHAEEA4W4QUJHU43O5L64WE7"
11982 http GET https://registry.npmjs.org/boom
11983 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
11984 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
11985 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
11986 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
11987 silly lockFile 70573e74-eventemitter2-0-4-9 eventemitter2@~0.4.9
11988 silly lockFile 70573e74-eventemitter2-0-4-9 eventemitter2@~0.4.9
11989 verbose url raw hoek
11990 verbose url resolving [ 'https://registry.npmjs.org/', './hoek' ]
11991 verbose url resolved https://registry.npmjs.org/hoek
11992 info trying registry request attempt 1 at 09:42:56
11993 verbose etag "8TL1AAFOP6KIEPFRLLMJWX16D"
11994 http GET https://registry.npmjs.org/hoek
11995 silly lockFile a1fba300-graceful-fs-1-2-1 graceful-fs@~1.2.1
11996 silly lockFile a1fba300-graceful-fs-1-2-1 graceful-fs@~1.2.1
11997 silly lockFile 47d8e08b-les-express-node-modules-connect tar://C:\Projects\trainingsservice\node_modules\express\node_modules\connect
11998 silly lockFile 47d8e08b-les-express-node-modules-connect tar://C:\Projects\trainingsservice\node_modules\express\node_modules\connect
11999 silly lockFile eb6a9647-cache-connect-2-11-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\connect\2.11.0\package.tgz
12000 silly lockFile eb6a9647-cache-connect-2-11-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\connect\2.11.0\package.tgz
12001 info preinstall connect@2.11.0
12002 http 304 https://registry.npmjs.org/glob
12003 silly registry.get cb [ 304,
12003 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12003 silly registry.get etag: '"EP1CLCK5YVPMT5P5DD2LQO7K6"',
12003 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12003 silly registry.get 'content-length': '0' } ]
12004 verbose etag glob from cache
12005 verbose readDependencies using package.json deps
12006 verbose readDependencies using package.json deps
12007 silly addNameRange number 2 { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: true }
12008 silly addNameRange versions [ 'glob',
12008 silly addNameRange [ '1.1.0',
12008 silly addNameRange '2.0.9',
12008 silly addNameRange '2.0.8',
12008 silly addNameRange '2.0.7',
12008 silly addNameRange '2.1.0',
12008 silly addNameRange '3.0.0',
12008 silly addNameRange '3.0.1',
12008 silly addNameRange '3.1.0',
12008 silly addNameRange '3.1.1',
12008 silly addNameRange '3.1.2',
12008 silly addNameRange '3.1.3',
12008 silly addNameRange '3.1.4',
12008 silly addNameRange '3.1.5',
12008 silly addNameRange '3.1.6',
12008 silly addNameRange '3.1.7',
12008 silly addNameRange '3.1.9',
12008 silly addNameRange '3.1.10',
12008 silly addNameRange '3.1.11',
12008 silly addNameRange '3.1.12',
12008 silly addNameRange '3.1.13',
12008 silly addNameRange '3.1.14',
12008 silly addNameRange '3.1.15',
12008 silly addNameRange '3.1.16',
12008 silly addNameRange '3.1.17',
12008 silly addNameRange '3.1.18',
12008 silly addNameRange '3.1.19',
12008 silly addNameRange '3.1.20',
12008 silly addNameRange '3.1.21',
12008 silly addNameRange '3.2.0',
12008 silly addNameRange '3.2.1',
12008 silly addNameRange '3.2.3',
12008 silly addNameRange '3.2.4',
12008 silly addNameRange '3.2.5',
12008 silly addNameRange '3.2.6',
12008 silly addNameRange '3.2.7' ] ]
12009 verbose addNamed [ 'glob', '3.1.21' ]
12010 verbose addNamed [ '3.1.21', '3.1.21' ]
12011 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
12012 verbose lock glob@3.1.21 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ab465912-glob-3-1-21.lock
12013 verbose cache add [ 'qs@0.6.5', null ]
12014 verbose cache add name=undefined spec="qs@0.6.5" args=["qs@0.6.5",null]
12015 verbose parsed url { protocol: null,
12015 verbose parsed url slashes: null,
12015 verbose parsed url auth: null,
12015 verbose parsed url host: null,
12015 verbose parsed url port: null,
12015 verbose parsed url hostname: null,
12015 verbose parsed url hash: null,
12015 verbose parsed url search: null,
12015 verbose parsed url query: null,
12015 verbose parsed url pathname: 'qs@0.6.5',
12015 verbose parsed url path: 'qs@0.6.5',
12015 verbose parsed url href: 'qs@0.6.5' }
12016 verbose cache add name="qs" spec="0.6.5" args=["qs","0.6.5"]
12017 verbose parsed url { protocol: null,
12017 verbose parsed url slashes: null,
12017 verbose parsed url auth: null,
12017 verbose parsed url host: null,
12017 verbose parsed url port: null,
12017 verbose parsed url hostname: null,
12017 verbose parsed url hash: null,
12017 verbose parsed url search: null,
12017 verbose parsed url query: null,
12017 verbose parsed url pathname: '0.6.5',
12017 verbose parsed url path: '0.6.5',
12017 verbose parsed url href: '0.6.5' }
12018 verbose addNamed [ 'qs', '0.6.5' ]
12019 verbose addNamed [ '0.6.5', '0.6.5' ]
12020 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
12021 verbose lock qs@0.6.5 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f5e5a40f-qs-0-6-5.lock
12022 verbose cache add [ 'bytes@0.2.1', null ]
12023 verbose cache add name=undefined spec="bytes@0.2.1" args=["bytes@0.2.1",null]
12024 verbose parsed url { protocol: null,
12024 verbose parsed url slashes: null,
12024 verbose parsed url auth: null,
12024 verbose parsed url host: null,
12024 verbose parsed url port: null,
12024 verbose parsed url hostname: null,
12024 verbose parsed url hash: null,
12024 verbose parsed url search: null,
12024 verbose parsed url query: null,
12024 verbose parsed url pathname: 'bytes@0.2.1',
12024 verbose parsed url path: 'bytes@0.2.1',
12024 verbose parsed url href: 'bytes@0.2.1' }
12025 verbose cache add name="bytes" spec="0.2.1" args=["bytes","0.2.1"]
12026 verbose parsed url { protocol: null,
12026 verbose parsed url slashes: null,
12026 verbose parsed url auth: null,
12026 verbose parsed url host: null,
12026 verbose parsed url port: null,
12026 verbose parsed url hostname: null,
12026 verbose parsed url hash: null,
12026 verbose parsed url search: null,
12026 verbose parsed url query: null,
12026 verbose parsed url pathname: '0.2.1',
12026 verbose parsed url path: '0.2.1',
12026 verbose parsed url href: '0.2.1' }
12027 verbose addNamed [ 'bytes', '0.2.1' ]
12028 verbose addNamed [ '0.2.1', '0.2.1' ]
12029 silly lockFile b3f62287-bytes-0-2-1 bytes@0.2.1
12030 verbose lock bytes@0.2.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b3f62287-bytes-0-2-1.lock
12031 verbose cache add [ 'pause@0.0.1', null ]
12032 verbose cache add name=undefined spec="pause@0.0.1" args=["pause@0.0.1",null]
12033 verbose parsed url { protocol: null,
12033 verbose parsed url slashes: null,
12033 verbose parsed url auth: null,
12033 verbose parsed url host: null,
12033 verbose parsed url port: null,
12033 verbose parsed url hostname: null,
12033 verbose parsed url hash: null,
12033 verbose parsed url search: null,
12033 verbose parsed url query: null,
12033 verbose parsed url pathname: 'pause@0.0.1',
12033 verbose parsed url path: 'pause@0.0.1',
12033 verbose parsed url href: 'pause@0.0.1' }
12034 verbose cache add name="pause" spec="0.0.1" args=["pause","0.0.1"]
12035 verbose parsed url { protocol: null,
12035 verbose parsed url slashes: null,
12035 verbose parsed url auth: null,
12035 verbose parsed url host: null,
12035 verbose parsed url port: null,
12035 verbose parsed url hostname: null,
12035 verbose parsed url hash: null,
12035 verbose parsed url search: null,
12035 verbose parsed url query: null,
12035 verbose parsed url pathname: '0.0.1',
12035 verbose parsed url path: '0.0.1',
12035 verbose parsed url href: '0.0.1' }
12036 verbose addNamed [ 'pause', '0.0.1' ]
12037 verbose addNamed [ '0.0.1', '0.0.1' ]
12038 silly lockFile c62fc432-pause-0-0-1 pause@0.0.1
12039 verbose lock pause@0.0.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c62fc432-pause-0-0-1.lock
12040 verbose cache add [ 'uid2@0.0.3', null ]
12041 verbose cache add name=undefined spec="uid2@0.0.3" args=["uid2@0.0.3",null]
12042 verbose parsed url { protocol: null,
12042 verbose parsed url slashes: null,
12042 verbose parsed url auth: null,
12042 verbose parsed url host: null,
12042 verbose parsed url port: null,
12042 verbose parsed url hostname: null,
12042 verbose parsed url hash: null,
12042 verbose parsed url search: null,
12042 verbose parsed url query: null,
12042 verbose parsed url pathname: 'uid2@0.0.3',
12042 verbose parsed url path: 'uid2@0.0.3',
12042 verbose parsed url href: 'uid2@0.0.3' }
12043 verbose cache add name="uid2" spec="0.0.3" args=["uid2","0.0.3"]
12044 verbose parsed url { protocol: null,
12044 verbose parsed url slashes: null,
12044 verbose parsed url auth: null,
12044 verbose parsed url host: null,
12044 verbose parsed url port: null,
12044 verbose parsed url hostname: null,
12044 verbose parsed url hash: null,
12044 verbose parsed url search: null,
12044 verbose parsed url query: null,
12044 verbose parsed url pathname: '0.0.3',
12044 verbose parsed url path: '0.0.3',
12044 verbose parsed url href: '0.0.3' }
12045 verbose addNamed [ 'uid2', '0.0.3' ]
12046 verbose addNamed [ '0.0.3', '0.0.3' ]
12047 silly lockFile f1df1282-uid2-0-0-3 uid2@0.0.3
12048 verbose lock uid2@0.0.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f1df1282-uid2-0-0-3.lock
12049 verbose cache add [ 'methods@0.0.1', null ]
12050 verbose cache add name=undefined spec="methods@0.0.1" args=["methods@0.0.1",null]
12051 verbose parsed url { protocol: null,
12051 verbose parsed url slashes: null,
12051 verbose parsed url auth: null,
12051 verbose parsed url host: null,
12051 verbose parsed url port: null,
12051 verbose parsed url hostname: null,
12051 verbose parsed url hash: null,
12051 verbose parsed url search: null,
12051 verbose parsed url query: null,
12051 verbose parsed url pathname: 'methods@0.0.1',
12051 verbose parsed url path: 'methods@0.0.1',
12051 verbose parsed url href: 'methods@0.0.1' }
12052 verbose cache add name="methods" spec="0.0.1" args=["methods","0.0.1"]
12053 verbose parsed url { protocol: null,
12053 verbose parsed url slashes: null,
12053 verbose parsed url auth: null,
12053 verbose parsed url host: null,
12053 verbose parsed url port: null,
12053 verbose parsed url hostname: null,
12053 verbose parsed url hash: null,
12053 verbose parsed url search: null,
12053 verbose parsed url query: null,
12053 verbose parsed url pathname: '0.0.1',
12053 verbose parsed url path: '0.0.1',
12053 verbose parsed url href: '0.0.1' }
12054 verbose addNamed [ 'methods', '0.0.1' ]
12055 verbose addNamed [ '0.0.1', '0.0.1' ]
12056 silly lockFile 209c2920-methods-0-0-1 methods@0.0.1
12057 verbose lock methods@0.0.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\209c2920-methods-0-0-1.lock
12058 verbose cache add [ 'raw-body@0.0.3', null ]
12059 verbose cache add name=undefined spec="raw-body@0.0.3" args=["raw-body@0.0.3",null]
12060 verbose parsed url { protocol: null,
12060 verbose parsed url slashes: null,
12060 verbose parsed url auth: null,
12060 verbose parsed url host: null,
12060 verbose parsed url port: null,
12060 verbose parsed url hostname: null,
12060 verbose parsed url hash: null,
12060 verbose parsed url search: null,
12060 verbose parsed url query: null,
12060 verbose parsed url pathname: 'raw-body@0.0.3',
12060 verbose parsed url path: 'raw-body@0.0.3',
12060 verbose parsed url href: 'raw-body@0.0.3' }
12061 verbose cache add name="raw-body" spec="0.0.3" args=["raw-body","0.0.3"]
12062 verbose parsed url { protocol: null,
12062 verbose parsed url slashes: null,
12062 verbose parsed url auth: null,
12062 verbose parsed url host: null,
12062 verbose parsed url port: null,
12062 verbose parsed url hostname: null,
12062 verbose parsed url hash: null,
12062 verbose parsed url search: null,
12062 verbose parsed url query: null,
12062 verbose parsed url pathname: '0.0.3',
12062 verbose parsed url path: '0.0.3',
12062 verbose parsed url href: '0.0.3' }
12063 verbose addNamed [ 'raw-body', '0.0.3' ]
12064 verbose addNamed [ '0.0.3', '0.0.3' ]
12065 silly lockFile f4dfbef7-raw-body-0-0-3 raw-body@0.0.3
12066 verbose lock raw-body@0.0.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f4dfbef7-raw-body-0-0-3.lock
12067 verbose cache add [ 'negotiator@0.3.0', null ]
12068 verbose cache add name=undefined spec="negotiator@0.3.0" args=["negotiator@0.3.0",null]
12069 verbose parsed url { protocol: null,
12069 verbose parsed url slashes: null,
12069 verbose parsed url auth: null,
12069 verbose parsed url host: null,
12069 verbose parsed url port: null,
12069 verbose parsed url hostname: null,
12069 verbose parsed url hash: null,
12069 verbose parsed url search: null,
12069 verbose parsed url query: null,
12069 verbose parsed url pathname: 'negotiator@0.3.0',
12069 verbose parsed url path: 'negotiator@0.3.0',
12069 verbose parsed url href: 'negotiator@0.3.0' }
12070 verbose cache add name="negotiator" spec="0.3.0" args=["negotiator","0.3.0"]
12071 verbose parsed url { protocol: null,
12071 verbose parsed url slashes: null,
12071 verbose parsed url auth: null,
12071 verbose parsed url host: null,
12071 verbose parsed url port: null,
12071 verbose parsed url hostname: null,
12071 verbose parsed url hash: null,
12071 verbose parsed url search: null,
12071 verbose parsed url query: null,
12071 verbose parsed url pathname: '0.3.0',
12071 verbose parsed url path: '0.3.0',
12071 verbose parsed url href: '0.3.0' }
12072 verbose addNamed [ 'negotiator', '0.3.0' ]
12073 verbose addNamed [ '0.3.0', '0.3.0' ]
12074 silly lockFile 9b6a949c-negotiator-0-3-0 negotiator@0.3.0
12075 verbose lock negotiator@0.3.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\9b6a949c-negotiator-0-3-0.lock
12076 verbose cache add [ 'multiparty@2.2.0', null ]
12077 verbose cache add name=undefined spec="multiparty@2.2.0" args=["multiparty@2.2.0",null]
12078 verbose parsed url { protocol: null,
12078 verbose parsed url slashes: null,
12078 verbose parsed url auth: null,
12078 verbose parsed url host: null,
12078 verbose parsed url port: null,
12078 verbose parsed url hostname: null,
12078 verbose parsed url hash: null,
12078 verbose parsed url search: null,
12078 verbose parsed url query: null,
12078 verbose parsed url pathname: 'multiparty@2.2.0',
12078 verbose parsed url path: 'multiparty@2.2.0',
12078 verbose parsed url href: 'multiparty@2.2.0' }
12079 verbose cache add name="multiparty" spec="2.2.0" args=["multiparty","2.2.0"]
12080 verbose parsed url { protocol: null,
12080 verbose parsed url slashes: null,
12080 verbose parsed url auth: null,
12080 verbose parsed url host: null,
12080 verbose parsed url port: null,
12080 verbose parsed url hostname: null,
12080 verbose parsed url hash: null,
12080 verbose parsed url search: null,
12080 verbose parsed url query: null,
12080 verbose parsed url pathname: '2.2.0',
12080 verbose parsed url path: '2.2.0',
12080 verbose parsed url href: '2.2.0' }
12081 verbose addNamed [ 'multiparty', '2.2.0' ]
12082 verbose addNamed [ '2.2.0', '2.2.0' ]
12083 silly lockFile f924b4a6-multiparty-2-2-0 multiparty@2.2.0
12084 verbose lock multiparty@2.2.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f924b4a6-multiparty-2-2-0.lock
12085 silly gunzTarPerm modes [ '755', '644' ]
12086 http 304 https://registry.npmjs.org/minimatch
12087 silly registry.get cb [ 304,
12087 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12087 silly registry.get etag: '"433GUXE31BY78MEUH5M7CIXOG"',
12087 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12087 silly registry.get 'content-length': '0' } ]
12088 verbose etag minimatch from cache
12089 verbose url raw methods/0.0.1
12090 verbose url resolving [ 'https://registry.npmjs.org/', './methods/0.0.1' ]
12091 verbose url resolved https://registry.npmjs.org/methods/0.0.1
12092 info trying registry request attempt 1 at 09:42:56
12093 verbose etag "6MMA3D5OLHFQORNDJ28A0NTWI"
12094 http GET https://registry.npmjs.org/methods/0.0.1
12095 verbose url raw pause/0.0.1
12096 verbose url resolving [ 'https://registry.npmjs.org/', './pause/0.0.1' ]
12097 verbose url resolved https://registry.npmjs.org/pause/0.0.1
12098 info trying registry request attempt 1 at 09:42:56
12099 verbose etag "EOB5X18A1J6GDBBJPGSXXC6N8"
12100 http GET https://registry.npmjs.org/pause/0.0.1
12101 verbose url raw uid2/0.0.3
12102 verbose url resolving [ 'https://registry.npmjs.org/', './uid2/0.0.3' ]
12103 verbose url resolved https://registry.npmjs.org/uid2/0.0.3
12104 info trying registry request attempt 1 at 09:42:56
12105 verbose etag "6YUT1KABG2MRIOFA9YWQEHH5B"
12106 http GET https://registry.npmjs.org/uid2/0.0.3
12107 verbose url raw bytes/0.2.1
12108 verbose url resolving [ 'https://registry.npmjs.org/', './bytes/0.2.1' ]
12109 verbose url resolved https://registry.npmjs.org/bytes/0.2.1
12110 info trying registry request attempt 1 at 09:42:56
12111 verbose etag "DDRZ4XRRLN6Z0X2YNRRUFBM29"
12112 http GET https://registry.npmjs.org/bytes/0.2.1
12113 verbose url raw qs/0.6.5
12114 verbose url resolving [ 'https://registry.npmjs.org/', './qs/0.6.5' ]
12115 verbose url resolved https://registry.npmjs.org/qs/0.6.5
12116 info trying registry request attempt 1 at 09:42:56
12117 verbose etag "A0908O91HJF6S9ZO1VDAN636E"
12118 http GET https://registry.npmjs.org/qs/0.6.5
12119 silly gunzTarPerm extractEntry package.json
12120 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12121 verbose url raw raw-body/0.0.3
12122 verbose url resolving [ 'https://registry.npmjs.org/', './raw-body/0.0.3' ]
12123 verbose url resolved https://registry.npmjs.org/raw-body/0.0.3
12124 info trying registry request attempt 1 at 09:42:56
12125 verbose etag "AAQ6OSQ5O4GL9G9A8LE74LXM5"
12126 http GET https://registry.npmjs.org/raw-body/0.0.3
12127 verbose url raw negotiator/0.3.0
12128 verbose url resolving [ 'https://registry.npmjs.org/', './negotiator/0.3.0' ]
12129 verbose url resolved https://registry.npmjs.org/negotiator/0.3.0
12130 info trying registry request attempt 1 at 09:42:56
12131 verbose etag "BNO4USHRFH1DJ4HA1QWCUSQ0K"
12132 http GET https://registry.npmjs.org/negotiator/0.3.0
12133 verbose url raw multiparty/2.2.0
12134 verbose url resolving [ 'https://registry.npmjs.org/', './multiparty/2.2.0' ]
12135 verbose url resolved https://registry.npmjs.org/multiparty/2.2.0
12136 info trying registry request attempt 1 at 09:42:56
12137 verbose etag "CITTIRD7FWEV5U2YXJYIVEMJO"
12138 http GET https://registry.npmjs.org/multiparty/2.2.0
12139 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
12140 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
12141 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
12142 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
12143 silly gunzTarPerm extractEntry .npmignore
12144 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12145 silly gunzTarPerm extractEntry README.md
12146 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12147 silly resolved [ { name: 'lodash',
12147 silly resolved version: '1.0.1',
12147 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
12147 silly resolved homepage: 'http://lodash.com/',
12147 silly resolved license: 'MIT',
12147 silly resolved main: './dist/lodash.js',
12147 silly resolved keywords:
12147 silly resolved [ 'browser',
12147 silly resolved 'client',
12147 silly resolved 'functional',
12147 silly resolved 'performance',
12147 silly resolved 'server',
12147 silly resolved 'speed',
12147 silly resolved 'util' ],
12147 silly resolved author:
12147 silly resolved { name: 'John-David Dalton',
12147 silly resolved email: 'john.david.dalton@gmail.com',
12147 silly resolved url: 'http://allyoucanleet.com/' },
12147 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
12147 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
12147 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
12147 silly resolved engines: [ 'node', 'rhino' ],
12147 silly resolved jam: { main: './dist/lodash.compat.js' },
12147 silly resolved readme: '# Lo-Dash v1.0.1\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.min.js)\n\n* Lo-Dash compatibility builds (for legacy and modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):<br>\n[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.js),\n[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.min.js),<br>\n[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.js),\n[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.min.js),<br>\n[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.js), and\n[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.min.js)\n\n* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Resources\n\nFor more information check out these articles, screencasts, and other videos over Lo-Dash:\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n\n * Videos\n - [Introducing Lo-Dash](https://vimeo.com/44154599)\n - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding\n * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick),\n [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~24, Firefox 1~18, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.20, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n\n// or as a drop-in replacement for Underscore\nvar _ = require(\'lodash/lodash.underscore\');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### <sup>v1.0.1</sup>\n\n * Add support for specifying source map URLs in `-p`/`--source-map` build options\n * Ensured the second argument passed to `_.assign` is not treated as a `callback`\n * Ensured `-p`/`--source-map` build options correctly set the `sourceMappingURL`\n * Made `-p`/`--source-map` build options set source map *“sources”* keys based on the builds performed\n * Made `_.defer` use `setImmediate`, in Node.js, when available\n * Made `_.where` search arrays for values regardless of their index position\n * Removed dead code from `_.template`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
12147 silly resolved readmeFilename: 'README.md',
12147 silly resolved _id: 'lodash@1.0.1',
12147 silly resolved _from: 'lodash@~1.0.1',
12147 silly resolved scripts: {} },
12147 silly resolved { author:
12147 silly resolved { name: 'Isaac Z. Schlueter',
12147 silly resolved email: 'i@izs.me',
12147 silly resolved url: 'http://blog.izs.me/' },
12147 silly resolved name: 'glob',
12147 silly resolved description: 'a little globber',
12147 silly resolved version: '3.1.21',
12147 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
12147 silly resolved main: 'glob.js',
12147 silly resolved engines: { node: '*' },
12147 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
12147 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
12147 silly resolved scripts: { test: 'tap test/*.js' },
12147 silly resolved license: 'BSD',
12147 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',
12147 silly resolved readmeFilename: 'README.md',
12147 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
12147 silly resolved homepage: 'https://github.com/isaacs/node-glob',
12147 silly resolved _id: 'glob@3.1.21',
12147 silly resolved _from: 'glob@~3.1.21' } ]
12148 info install lodash@1.0.1 into C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync
12149 info install glob@3.1.21 into C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync
12150 info installOne lodash@1.0.1
12151 info installOne glob@3.1.21
12152 info C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\lodash unbuild
12153 info C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\glob unbuild
12154 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
12155 silly lockFile 066a0d8e--findup-sync-node-modules-lodash tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\lodash
12156 verbose lock tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\lodash C:\Users\lukasz.zak\AppData\Roaming\npm-cache\066a0d8e--findup-sync-node-modules-lodash.lock
12157 silly lockFile 5b553680-m-cache-lodash-1-0-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
12158 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5b553680-m-cache-lodash-1-0-1-package-tgz.lock
12159 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12160 silly lockFile 9b4cee2d-es-findup-sync-node-modules-glob tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\glob
12161 verbose lock tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\glob C:\Users\lukasz.zak\AppData\Roaming\npm-cache\9b4cee2d-es-findup-sync-node-modules-glob.lock
12162 silly lockFile 53323008-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12163 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\53323008-pm-cache-glob-3-1-21-package-tgz.lock
12164 silly addNameRange number 2 { name: 'minimatch', range: '>=0.2.6-0 <0.3.0-0', hasData: true }
12165 silly addNameRange versions [ 'minimatch',
12165 silly addNameRange [ '0.0.1',
12165 silly addNameRange '0.0.2',
12165 silly addNameRange '0.0.4',
12165 silly addNameRange '0.0.5',
12165 silly addNameRange '0.1.1',
12165 silly addNameRange '0.1.2',
12165 silly addNameRange '0.1.3',
12165 silly addNameRange '0.1.4',
12165 silly addNameRange '0.1.5',
12165 silly addNameRange '0.2.0',
12165 silly addNameRange '0.2.2',
12165 silly addNameRange '0.2.3',
12165 silly addNameRange '0.2.4',
12165 silly addNameRange '0.2.5',
12165 silly addNameRange '0.2.6',
12165 silly addNameRange '0.2.7',
12165 silly addNameRange '0.2.8',
12165 silly addNameRange '0.2.9',
12165 silly addNameRange '0.2.10',
12165 silly addNameRange '0.2.11',
12165 silly addNameRange '0.2.12' ] ]
12166 verbose addNamed [ 'minimatch', '0.2.12' ]
12167 verbose addNamed [ '0.2.12', '0.2.12' ]
12168 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
12169 verbose lock minimatch@0.2.12 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\16b89810-minimatch-0-2-12.lock
12170 silly gunzTarPerm modes [ '755', '644' ]
12171 silly gunzTarPerm modes [ '755', '644' ]
12172 silly gunzTarPerm extractEntry package.json
12173 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12174 silly gunzTarPerm extractEntry LICENSE
12175 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12176 silly gunzTarPerm extractEntry package.json
12177 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12178 silly gunzTarPerm extractEntry README.md
12179 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12180 silly gunzTarPerm extractEntry dist/lodash.compat.js
12181 silly gunzTarPerm modified mode [ 'dist/lodash.compat.js', 438, 420 ]
12182 http 304 https://registry.npmjs.org/minimatch
12183 silly registry.get cb [ 304,
12183 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12183 silly registry.get etag: '"433GUXE31BY78MEUH5M7CIXOG"',
12183 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12183 silly registry.get 'content-length': '0' } ]
12184 verbose etag minimatch from cache
12185 silly gunzTarPerm extractEntry .npmignore
12186 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12187 silly gunzTarPerm extractEntry README.md
12188 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12189 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
12190 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
12191 silly lockFile 5922ee11-minimatch-0-2-6 minimatch@~0.2.6
12192 silly lockFile 5922ee11-minimatch-0-2-6 minimatch@~0.2.6
12193 silly gunzTarPerm extractEntry index.js
12194 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
12195 silly gunzTarPerm extractEntry .travis.yml
12196 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
12197 silly gunzTarPerm extractEntry LICENSE
12198 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12199 silly gunzTarPerm extractEntry glob.js
12200 silly gunzTarPerm modified mode [ 'glob.js', 438, 420 ]
12201 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
12202 silly gunzTarPerm modified mode [ 'dist/lodash.compat.min.js', 438, 420 ]
12203 silly gunzTarPerm extractEntry .travis.yml
12204 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
12205 silly addNameRange number 2 { name: 'minimatch', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
12206 silly addNameRange versions [ 'minimatch',
12206 silly addNameRange [ '0.0.1',
12206 silly addNameRange '0.0.2',
12206 silly addNameRange '0.0.4',
12206 silly addNameRange '0.0.5',
12206 silly addNameRange '0.1.1',
12206 silly addNameRange '0.1.2',
12206 silly addNameRange '0.1.3',
12206 silly addNameRange '0.1.4',
12206 silly addNameRange '0.1.5',
12206 silly addNameRange '0.2.0',
12206 silly addNameRange '0.2.2',
12206 silly addNameRange '0.2.3',
12206 silly addNameRange '0.2.4',
12206 silly addNameRange '0.2.5',
12206 silly addNameRange '0.2.6',
12206 silly addNameRange '0.2.7',
12206 silly addNameRange '0.2.8',
12206 silly addNameRange '0.2.9',
12206 silly addNameRange '0.2.10',
12206 silly addNameRange '0.2.11',
12206 silly addNameRange '0.2.12' ] ]
12207 verbose addNamed [ 'minimatch', '0.2.12' ]
12208 verbose addNamed [ '0.2.12', '0.2.12' ]
12209 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
12210 verbose lock minimatch@0.2.12 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\16b89810-minimatch-0-2-12.lock
12211 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
12212 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
12213 silly gunzTarPerm extractEntry dist/lodash.js
12214 silly gunzTarPerm modified mode [ 'dist/lodash.js', 438, 420 ]
12215 silly gunzTarPerm extractEntry dist/lodash.min.js
12216 silly gunzTarPerm modified mode [ 'dist/lodash.min.js', 438, 420 ]
12217 silly gunzTarPerm extractEntry dist/lodash.underscore.js
12218 silly gunzTarPerm modified mode [ 'dist/lodash.underscore.js', 438, 420 ]
12219 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
12220 silly gunzTarPerm modified mode [ 'dist/lodash.underscore.min.js', 438, 420 ]
12221 silly lockFile fe0ddac6-minimatch-0-2 minimatch@~0.2
12222 silly lockFile fe0ddac6-minimatch-0-2 minimatch@~0.2
12223 silly gunzTarPerm extractEntry example/usage.js
12224 silly gunzTarPerm modified mode [ 'example/usage.js', 438, 420 ]
12225 silly gunzTarPerm extractEntry Makefile
12226 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
12227 silly gunzTarPerm extractEntry images/hawk.png
12228 silly gunzTarPerm modified mode [ 'images/hawk.png', 438, 420 ]
12229 silly gunzTarPerm extractEntry images/logo.png
12230 silly gunzTarPerm modified mode [ 'images/logo.png', 438, 420 ]
12231 silly gunzTarPerm extractEntry examples/g.js
12232 silly gunzTarPerm modified mode [ 'examples/g.js', 438, 420 ]
12233 silly gunzTarPerm extractEntry examples/usr-local.js
12234 silly gunzTarPerm modified mode [ 'examples/usr-local.js', 438, 420 ]
12235 silly gunzTarPerm extractEntry test/browser.js
12236 silly gunzTarPerm modified mode [ 'test/browser.js', 438, 420 ]
12237 silly gunzTarPerm extractEntry test/00-setup.js
12238 silly gunzTarPerm modified mode [ 'test/00-setup.js', 438, 420 ]
12239 silly gunzTarPerm extractEntry test/bash-comparison.js
12240 silly gunzTarPerm modified mode [ 'test/bash-comparison.js', 438, 420 ]
12241 silly gunzTarPerm extractEntry test/client.js
12242 silly gunzTarPerm modified mode [ 'test/client.js', 438, 420 ]
12243 silly gunzTarPerm extractEntry test/crypto.js
12244 silly gunzTarPerm modified mode [ 'test/crypto.js', 438, 420 ]
12245 silly gunzTarPerm extractEntry test/index.js
12246 silly gunzTarPerm modified mode [ 'test/index.js', 438, 420 ]
12247 silly gunzTarPerm extractEntry test/message.js
12248 silly gunzTarPerm modified mode [ 'test/message.js', 438, 420 ]
12249 silly gunzTarPerm extractEntry test/cwd-test.js
12250 silly gunzTarPerm modified mode [ 'test/cwd-test.js', 438, 420 ]
12251 silly gunzTarPerm extractEntry test/mark.js
12252 silly gunzTarPerm modified mode [ 'test/mark.js', 438, 420 ]
12253 silly gunzTarPerm extractEntry test/readme.js
12254 silly gunzTarPerm modified mode [ 'test/readme.js', 438, 420 ]
12255 silly gunzTarPerm extractEntry test/server.js
12256 silly gunzTarPerm modified mode [ 'test/server.js', 438, 420 ]
12257 silly gunzTarPerm extractEntry test/nocase-nomagic.js
12258 silly gunzTarPerm modified mode [ 'test/nocase-nomagic.js', 438, 420 ]
12259 silly gunzTarPerm extractEntry test/pause-resume.js
12260 silly gunzTarPerm modified mode [ 'test/pause-resume.js', 438, 420 ]
12261 silly gunzTarPerm extractEntry test/uri.js
12262 silly gunzTarPerm modified mode [ 'test/uri.js', 438, 420 ]
12263 silly gunzTarPerm extractEntry test/utils.js
12264 silly gunzTarPerm modified mode [ 'test/utils.js', 438, 420 ]
12265 silly gunzTarPerm extractEntry test/root-nomount.js
12266 silly gunzTarPerm modified mode [ 'test/root-nomount.js', 438, 420 ]
12267 silly gunzTarPerm extractEntry test/root.js
12268 silly gunzTarPerm modified mode [ 'test/root.js', 438, 420 ]
12269 silly gunzTarPerm extractEntry test/zz-cleanup.js
12270 silly gunzTarPerm modified mode [ 'test/zz-cleanup.js', 438, 420 ]
12271 silly gunzTarPerm extractEntry test/bash-results.json
12272 silly gunzTarPerm modified mode [ 'test/bash-results.json', 438, 420 ]
12273 silly gunzTarPerm extractEntry lib/browser.js
12274 silly gunzTarPerm modified mode [ 'lib/browser.js', 438, 420 ]
12275 silly gunzTarPerm extractEntry lib/client.js
12276 silly gunzTarPerm modified mode [ 'lib/client.js', 438, 420 ]
12277 silly gunzTarPerm extractEntry lib/crypto.js
12278 silly gunzTarPerm modified mode [ 'lib/crypto.js', 438, 420 ]
12279 silly gunzTarPerm extractEntry lib/index.js
12280 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
12281 silly gunzTarPerm extractEntry lib/server.js
12282 silly gunzTarPerm modified mode [ 'lib/server.js', 438, 420 ]
12283 silly gunzTarPerm extractEntry lib/utils.js
12284 silly gunzTarPerm modified mode [ 'lib/utils.js', 438, 420 ]
12285 http 304 https://registry.npmjs.org/log4js
12286 silly registry.get cb [ 304,
12286 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12286 silly registry.get etag: '"93FHZB406H3FX6EICT6NMY2HH"',
12286 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12286 silly registry.get 'content-length': '0' } ]
12287 verbose etag log4js from cache
12288 http 304 https://registry.npmjs.org/underscore.string
12289 silly registry.get cb [ 304,
12289 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12289 silly registry.get etag: '"82KONBUKGVFGLKPUIJ91QHEA4"',
12289 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12289 silly registry.get 'content-length': '0' } ]
12290 verbose etag underscore.string from cache
12291 silly addNameRange number 2 { name: 'log4js', range: '>=0.6.3-0 <0.7.0-0', hasData: true }
12292 silly addNameRange versions [ 'log4js',
12292 silly addNameRange [ '0.1.0',
12292 silly addNameRange '0.2.0',
12292 silly addNameRange '0.2.2',
12292 silly addNameRange '0.2.3',
12292 silly addNameRange '0.2.4',
12292 silly addNameRange '0.2.5',
12292 silly addNameRange '0.2.6',
12292 silly addNameRange '0.3.0',
12292 silly addNameRange '0.3.1',
12292 silly addNameRange '0.3.2',
12292 silly addNameRange '0.3.3',
12292 silly addNameRange '0.3.4',
12292 silly addNameRange '0.3.5',
12292 silly addNameRange '0.3.6',
12292 silly addNameRange '0.3.7',
12292 silly addNameRange '0.3.8',
12292 silly addNameRange '0.3.9',
12292 silly addNameRange '0.4.0',
12292 silly addNameRange '0.4.1',
12292 silly addNameRange '0.4.2',
12292 silly addNameRange '0.4.3',
12292 silly addNameRange '0.5.0',
12292 silly addNameRange '0.5.1',
12292 silly addNameRange '0.5.2',
12292 silly addNameRange '0.5.3',
12292 silly addNameRange '0.5.4',
12292 silly addNameRange '0.5.5',
12292 silly addNameRange '0.5.6',
12292 silly addNameRange '0.5.7',
12292 silly addNameRange '0.6.0',
12292 silly addNameRange '0.6.1',
12292 silly addNameRange '0.5.8',
12292 silly addNameRange '0.6.2',
12292 silly addNameRange '0.6.3',
12292 silly addNameRange '0.6.4',
12292 silly addNameRange '0.6.5',
12292 silly addNameRange '0.6.6',
12292 silly addNameRange '0.6.7',
12292 silly addNameRange '0.6.8',
12292 silly addNameRange '0.6.9' ] ]
12293 verbose addNamed [ 'log4js', '0.6.9' ]
12294 verbose addNamed [ '0.6.9', '0.6.9' ]
12295 silly lockFile 80af7d90-log4js-0-6-9 log4js@0.6.9
12296 verbose lock log4js@0.6.9 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\80af7d90-log4js-0-6-9.lock
12297 silly addNameRange number 2 { name: 'underscore.string',
12297 silly addNameRange range: '>=2.2.0-rc <2.3.0-0',
12297 silly addNameRange hasData: true }
12298 silly addNameRange versions [ 'underscore.string',
12298 silly addNameRange [ '0.9.2',
12298 silly addNameRange '1.0.0',
12298 silly addNameRange '1.1.3',
12298 silly addNameRange '1.1.4',
12298 silly addNameRange '1.1.5',
12298 silly addNameRange '1.1.6',
12298 silly addNameRange '2.0.0',
12298 silly addNameRange '2.1.0',
12298 silly addNameRange '2.1.1',
12298 silly addNameRange '2.3.0',
12298 silly addNameRange '2.3.1',
12298 silly addNameRange '2.3.2',
12298 silly addNameRange '2.2.1',
12298 silly addNameRange '2.2.0-rc',
12298 silly addNameRange '2.3.3' ] ]
12299 verbose addNamed [ 'underscore.string', '2.2.1' ]
12300 verbose addNamed [ '2.2.1', '2.2.1' ]
12301 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
12302 verbose lock underscore.string@2.2.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5c083954-underscore-string-2-2-1.lock
12303 silly lockFile 80af7d90-log4js-0-6-9 log4js@0.6.9
12304 silly lockFile 80af7d90-log4js-0-6-9 log4js@0.6.9
12305 silly lockFile f3becdd9-log4js-0-6-3 log4js@~0.6.3
12306 silly lockFile f3becdd9-log4js-0-6-3 log4js@~0.6.3
12307 silly lockFile 9b4cee2d-es-findup-sync-node-modules-glob tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\glob
12308 silly lockFile 9b4cee2d-es-findup-sync-node-modules-glob tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\glob
12309 silly lockFile 53323008-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12310 silly lockFile 53323008-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12311 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
12312 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
12313 silly lockFile d5a5a3c6-underscore-string-2-2-0rc underscore.string@~2.2.0rc
12314 silly lockFile d5a5a3c6-underscore-string-2-2-0rc underscore.string@~2.2.0rc
12315 info preinstall glob@3.1.21
12316 verbose readDependencies using package.json deps
12317 verbose readDependencies using package.json deps
12318 silly lockFile 066a0d8e--findup-sync-node-modules-lodash tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\lodash
12319 silly lockFile 066a0d8e--findup-sync-node-modules-lodash tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\lodash
12320 silly lockFile 5b553680-m-cache-lodash-1-0-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
12321 silly lockFile 5b553680-m-cache-lodash-1-0-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
12322 verbose cache add [ 'minimatch@~0.2.11', null ]
12323 verbose cache add name=undefined spec="minimatch@~0.2.11" args=["minimatch@~0.2.11",null]
12324 verbose parsed url { protocol: null,
12324 verbose parsed url slashes: null,
12324 verbose parsed url auth: null,
12324 verbose parsed url host: null,
12324 verbose parsed url port: null,
12324 verbose parsed url hostname: null,
12324 verbose parsed url hash: null,
12324 verbose parsed url search: null,
12324 verbose parsed url query: null,
12324 verbose parsed url pathname: 'minimatch@~0.2.11',
12324 verbose parsed url path: 'minimatch@~0.2.11',
12324 verbose parsed url href: 'minimatch@~0.2.11' }
12325 verbose cache add name="minimatch" spec="~0.2.11" args=["minimatch","~0.2.11"]
12326 verbose parsed url { protocol: null,
12326 verbose parsed url slashes: null,
12326 verbose parsed url auth: null,
12326 verbose parsed url host: null,
12326 verbose parsed url port: null,
12326 verbose parsed url hostname: null,
12326 verbose parsed url hash: null,
12326 verbose parsed url search: null,
12326 verbose parsed url query: null,
12326 verbose parsed url pathname: '~0.2.11',
12326 verbose parsed url path: '~0.2.11',
12326 verbose parsed url href: '~0.2.11' }
12327 verbose addNamed [ 'minimatch', '~0.2.11' ]
12328 verbose cache add [ 'graceful-fs@~1.2.0', null ]
12329 verbose cache add name=undefined spec="graceful-fs@~1.2.0" args=["graceful-fs@~1.2.0",null]
12330 verbose parsed url { protocol: null,
12330 verbose parsed url slashes: null,
12330 verbose parsed url auth: null,
12330 verbose parsed url host: null,
12330 verbose parsed url port: null,
12330 verbose parsed url hostname: null,
12330 verbose parsed url hash: null,
12330 verbose parsed url search: null,
12330 verbose parsed url query: null,
12330 verbose parsed url pathname: 'graceful-fs@~1.2.0',
12330 verbose parsed url path: 'graceful-fs@~1.2.0',
12330 verbose parsed url href: 'graceful-fs@~1.2.0' }
12331 verbose cache add name="graceful-fs" spec="~1.2.0" args=["graceful-fs","~1.2.0"]
12332 verbose parsed url { protocol: null,
12332 verbose parsed url slashes: null,
12332 verbose parsed url auth: null,
12332 verbose parsed url host: null,
12332 verbose parsed url port: null,
12332 verbose parsed url hostname: null,
12332 verbose parsed url hash: null,
12332 verbose parsed url search: null,
12332 verbose parsed url query: null,
12332 verbose parsed url pathname: '~1.2.0',
12332 verbose parsed url path: '~1.2.0',
12332 verbose parsed url href: '~1.2.0' }
12333 verbose addNamed [ 'graceful-fs', '~1.2.0' ]
12334 verbose addNamed [ null, '>=1.2.0-0 <1.3.0-0' ]
12335 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
12336 verbose lock graceful-fs@~1.2.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\9c0bb906-graceful-fs-1-2-0.lock
12337 verbose cache add [ 'inherits@1', null ]
12338 verbose cache add name=undefined spec="inherits@1" args=["inherits@1",null]
12339 verbose parsed url { protocol: null,
12339 verbose parsed url slashes: null,
12339 verbose parsed url auth: null,
12339 verbose parsed url host: null,
12339 verbose parsed url port: null,
12339 verbose parsed url hostname: null,
12339 verbose parsed url hash: null,
12339 verbose parsed url search: null,
12339 verbose parsed url query: null,
12339 verbose parsed url pathname: 'inherits@1',
12339 verbose parsed url path: 'inherits@1',
12339 verbose parsed url href: 'inherits@1' }
12340 verbose cache add name="inherits" spec="1" args=["inherits","1"]
12341 verbose parsed url { protocol: null,
12341 verbose parsed url slashes: null,
12341 verbose parsed url auth: null,
12341 verbose parsed url host: null,
12341 verbose parsed url port: null,
12341 verbose parsed url hostname: null,
12341 verbose parsed url hash: null,
12341 verbose parsed url search: null,
12341 verbose parsed url query: null,
12341 verbose parsed url pathname: '1',
12341 verbose parsed url path: '1',
12341 verbose parsed url href: '1' }
12342 verbose addNamed [ 'inherits', '1' ]
12343 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
12344 silly lockFile 4bca46d0-inherits-1 inherits@1
12345 verbose lock inherits@1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\4bca46d0-inherits-1.lock
12346 silly addNameRange { name: 'graceful-fs',
12346 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
12346 silly addNameRange hasData: false }
12347 silly addNameRange { name: 'inherits', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
12348 verbose registry.get graceful-fs not expired, no request
12349 silly addNameRange number 2 { name: 'graceful-fs',
12349 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
12349 silly addNameRange hasData: true }
12350 silly addNameRange versions [ 'graceful-fs',
12350 silly addNameRange [ '1.0.0',
12350 silly addNameRange '1.0.1',
12350 silly addNameRange '1.0.2',
12350 silly addNameRange '1.1.0',
12350 silly addNameRange '1.1.1',
12350 silly addNameRange '1.1.2',
12350 silly addNameRange '1.1.3',
12350 silly addNameRange '1.1.4',
12350 silly addNameRange '1.1.5',
12350 silly addNameRange '1.1.6',
12350 silly addNameRange '1.1.7',
12350 silly addNameRange '1.1.8',
12350 silly addNameRange '1.1.9',
12350 silly addNameRange '1.1.10',
12350 silly addNameRange '1.1.11',
12350 silly addNameRange '1.1.12',
12350 silly addNameRange '1.1.13',
12350 silly addNameRange '1.1.14',
12350 silly addNameRange '1.2.0',
12350 silly addNameRange '1.2.1',
12350 silly addNameRange '1.2.2',
12350 silly addNameRange '1.2.3',
12350 silly addNameRange '2.0.0',
12350 silly addNameRange '2.0.1' ] ]
12351 verbose addNamed [ 'graceful-fs', '1.2.3' ]
12352 verbose addNamed [ '1.2.3', '1.2.3' ]
12353 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
12354 verbose lock graceful-fs@1.2.3 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\6c7102cf-graceful-fs-1-2-3.lock
12355 info preinstall lodash@1.0.1
12356 verbose url raw inherits
12357 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
12358 verbose url resolved https://registry.npmjs.org/inherits
12359 info trying registry request attempt 1 at 09:42:56
12360 verbose etag "3BB9CXXI1GQW1OTCNLR8KNUQW"
12361 http GET https://registry.npmjs.org/inherits
12362 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
12363 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
12364 verbose readDependencies using package.json deps
12365 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
12366 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
12367 verbose readDependencies using package.json deps
12368 silly resolved []
12369 verbose about to build C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\lodash
12370 info build C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\findup-sync\node_modules\lodash
12371 verbose linkStuff [ false,
12371 verbose linkStuff false,
12371 verbose linkStuff false,
12371 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\load-grunt-tasks\\node_modules\\findup-sync\\node_modules' ]
12372 info linkStuff lodash@1.0.1
12373 verbose linkBins lodash@1.0.1
12374 verbose linkMans lodash@1.0.1
12375 verbose rebuildBundles lodash@1.0.1
12376 info install lodash@1.0.1
12377 info postinstall lodash@1.0.1
12378 http 304 https://registry.npmjs.org/useragent
12379 silly registry.get cb [ 304,
12379 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12379 silly registry.get etag: '"9LT4O7ZOV7DVK2BDUFH258AWZ"',
12379 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12379 silly registry.get 'content-length': '0' } ]
12380 verbose etag useragent from cache
12381 silly addNameRange number 2 { name: 'useragent', range: '>=2.0.4-0 <2.1.0-0', hasData: true }
12382 silly addNameRange versions [ 'useragent',
12382 silly addNameRange [ '0.1.0',
12382 silly addNameRange '0.1.1',
12382 silly addNameRange '0.1.2',
12382 silly addNameRange '1.0.0',
12382 silly addNameRange '1.0.1',
12382 silly addNameRange '1.0.2',
12382 silly addNameRange '1.0.3',
12382 silly addNameRange '1.0.4',
12382 silly addNameRange '1.0.5',
12382 silly addNameRange '1.0.6',
12382 silly addNameRange '1.1.0',
12382 silly addNameRange '2.0.0',
12382 silly addNameRange '2.0.1',
12382 silly addNameRange '2.0.2',
12382 silly addNameRange '2.0.3',
12382 silly addNameRange '2.0.4',
12382 silly addNameRange '2.0.5',
12382 silly addNameRange '2.0.6',
12382 silly addNameRange '2.0.7' ] ]
12383 verbose addNamed [ 'useragent', '2.0.7' ]
12384 verbose addNamed [ '2.0.7', '2.0.7' ]
12385 silly lockFile 809407bc-useragent-2-0-7 useragent@2.0.7
12386 verbose lock useragent@2.0.7 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\809407bc-useragent-2-0-7.lock
12387 silly lockFile 93441996-odules-request-node-modules-hawk tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\hawk
12388 silly lockFile 93441996-odules-request-node-modules-hawk tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\request\node_modules\hawk
12389 silly lockFile a7a5df8a-npm-cache-hawk-1-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
12390 silly lockFile a7a5df8a-npm-cache-hawk-1-0-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hawk\1.0.0\package.tgz
12391 silly lockFile 809407bc-useragent-2-0-7 useragent@2.0.7
12392 silly lockFile 809407bc-useragent-2-0-7 useragent@2.0.7
12393 silly lockFile beb780e8-useragent-2-0-4 useragent@~2.0.4
12394 silly lockFile beb780e8-useragent-2-0-4 useragent@~2.0.4
12395 info preinstall hawk@1.0.0
12396 verbose readDependencies using package.json deps
12397 verbose readDependencies using package.json deps
12398 http 304 https://registry.npmjs.org/js-yaml
12399 silly registry.get cb [ 304,
12399 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12399 silly registry.get etag: '"6AVIVKL9QGGBSOAWI2NX1010Q"',
12399 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12399 silly registry.get 'content-length': '0' } ]
12400 verbose etag js-yaml from cache
12401 silly addNameRange number 2 { name: 'js-yaml', range: '>=2.0.2-0 <2.1.0-0', hasData: true }
12402 silly addNameRange versions [ 'js-yaml',
12402 silly addNameRange [ '0.2.0',
12402 silly addNameRange '0.2.1',
12402 silly addNameRange '0.2.2',
12402 silly addNameRange '0.3.0',
12402 silly addNameRange '0.3.1',
12402 silly addNameRange '0.3.2',
12402 silly addNameRange '0.3.3',
12402 silly addNameRange '0.3.4',
12402 silly addNameRange '0.3.5',
12402 silly addNameRange '0.3.6',
12402 silly addNameRange '0.3.7',
12402 silly addNameRange '1.0.0',
12402 silly addNameRange '1.0.1',
12402 silly addNameRange '1.0.2',
12402 silly addNameRange '1.0.3',
12402 silly addNameRange '2.0.0',
12402 silly addNameRange '2.0.1',
12402 silly addNameRange '2.0.2',
12402 silly addNameRange '2.0.3',
12402 silly addNameRange '2.0.4',
12402 silly addNameRange '2.0.5',
12402 silly addNameRange '2.1.0',
12402 silly addNameRange '2.1.1',
12402 silly addNameRange '2.1.2',
12402 silly addNameRange '2.1.3' ] ]
12403 verbose addNamed [ 'js-yaml', '2.0.5' ]
12404 verbose addNamed [ '2.0.5', '2.0.5' ]
12405 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
12406 verbose lock js-yaml@2.0.5 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\0aecb717-js-yaml-2-0-5.lock
12407 verbose cache add [ 'hoek@0.9.x', null ]
12408 verbose cache add name=undefined spec="hoek@0.9.x" args=["hoek@0.9.x",null]
12409 verbose parsed url { protocol: null,
12409 verbose parsed url slashes: null,
12409 verbose parsed url auth: null,
12409 verbose parsed url host: null,
12409 verbose parsed url port: null,
12409 verbose parsed url hostname: null,
12409 verbose parsed url hash: null,
12409 verbose parsed url search: null,
12409 verbose parsed url query: null,
12409 verbose parsed url pathname: 'hoek@0.9.x',
12409 verbose parsed url path: 'hoek@0.9.x',
12409 verbose parsed url href: 'hoek@0.9.x' }
12410 verbose cache add name="hoek" spec="0.9.x" args=["hoek","0.9.x"]
12411 verbose parsed url { protocol: null,
12411 verbose parsed url slashes: null,
12411 verbose parsed url auth: null,
12411 verbose parsed url host: null,
12411 verbose parsed url port: null,
12411 verbose parsed url hostname: null,
12411 verbose parsed url hash: null,
12411 verbose parsed url search: null,
12411 verbose parsed url query: null,
12411 verbose parsed url pathname: '0.9.x',
12411 verbose parsed url path: '0.9.x',
12411 verbose parsed url href: '0.9.x' }
12412 verbose addNamed [ 'hoek', '0.9.x' ]
12413 verbose cache add [ 'boom@0.4.x', null ]
12414 verbose cache add name=undefined spec="boom@0.4.x" args=["boom@0.4.x",null]
12415 verbose parsed url { protocol: null,
12415 verbose parsed url slashes: null,
12415 verbose parsed url auth: null,
12415 verbose parsed url host: null,
12415 verbose parsed url port: null,
12415 verbose parsed url hostname: null,
12415 verbose parsed url hash: null,
12415 verbose parsed url search: null,
12415 verbose parsed url query: null,
12415 verbose parsed url pathname: 'boom@0.4.x',
12415 verbose parsed url path: 'boom@0.4.x',
12415 verbose parsed url href: 'boom@0.4.x' }
12416 verbose cache add name="boom" spec="0.4.x" args=["boom","0.4.x"]
12417 verbose parsed url { protocol: null,
12417 verbose parsed url slashes: null,
12417 verbose parsed url auth: null,
12417 verbose parsed url host: null,
12417 verbose parsed url port: null,
12417 verbose parsed url hostname: null,
12417 verbose parsed url hash: null,
12417 verbose parsed url search: null,
12417 verbose parsed url query: null,
12417 verbose parsed url pathname: '0.4.x',
12417 verbose parsed url path: '0.4.x',
12417 verbose parsed url href: '0.4.x' }
12418 verbose addNamed [ 'boom', '0.4.x' ]
12419 verbose cache add [ 'cryptiles@0.2.x', null ]
12420 verbose cache add name=undefined spec="cryptiles@0.2.x" args=["cryptiles@0.2.x",null]
12421 verbose parsed url { protocol: null,
12421 verbose parsed url slashes: null,
12421 verbose parsed url auth: null,
12421 verbose parsed url host: null,
12421 verbose parsed url port: null,
12421 verbose parsed url hostname: null,
12421 verbose parsed url hash: null,
12421 verbose parsed url search: null,
12421 verbose parsed url query: null,
12421 verbose parsed url pathname: 'cryptiles@0.2.x',
12421 verbose parsed url path: 'cryptiles@0.2.x',
12421 verbose parsed url href: 'cryptiles@0.2.x' }
12422 verbose cache add name="cryptiles" spec="0.2.x" args=["cryptiles","0.2.x"]
12423 verbose parsed url { protocol: null,
12423 verbose parsed url slashes: null,
12423 verbose parsed url auth: null,
12423 verbose parsed url host: null,
12423 verbose parsed url port: null,
12423 verbose parsed url hostname: null,
12423 verbose parsed url hash: null,
12423 verbose parsed url search: null,
12423 verbose parsed url query: null,
12423 verbose parsed url pathname: '0.2.x',
12423 verbose parsed url path: '0.2.x',
12423 verbose parsed url href: '0.2.x' }
12424 verbose addNamed [ 'cryptiles', '0.2.x' ]
12425 verbose cache add [ 'sntp@0.2.x', null ]
12426 verbose cache add name=undefined spec="sntp@0.2.x" args=["sntp@0.2.x",null]
12427 verbose parsed url { protocol: null,
12427 verbose parsed url slashes: null,
12427 verbose parsed url auth: null,
12427 verbose parsed url host: null,
12427 verbose parsed url port: null,
12427 verbose parsed url hostname: null,
12427 verbose parsed url hash: null,
12427 verbose parsed url search: null,
12427 verbose parsed url query: null,
12427 verbose parsed url pathname: 'sntp@0.2.x',
12427 verbose parsed url path: 'sntp@0.2.x',
12427 verbose parsed url href: 'sntp@0.2.x' }
12428 verbose cache add name="sntp" spec="0.2.x" args=["sntp","0.2.x"]
12429 verbose parsed url { protocol: null,
12429 verbose parsed url slashes: null,
12429 verbose parsed url auth: null,
12429 verbose parsed url host: null,
12429 verbose parsed url port: null,
12429 verbose parsed url hostname: null,
12429 verbose parsed url hash: null,
12429 verbose parsed url search: null,
12429 verbose parsed url query: null,
12429 verbose parsed url pathname: '0.2.x',
12429 verbose parsed url path: '0.2.x',
12429 verbose parsed url href: '0.2.x' }
12430 verbose addNamed [ 'sntp', '0.2.x' ]
12431 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
12432 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
12433 silly lockFile 0dc3e23f-js-yaml-2-0-2 js-yaml@~2.0.2
12434 silly lockFile 0dc3e23f-js-yaml-2-0-2 js-yaml@~2.0.2
12435 silly resolved [ { author:
12435 silly resolved { name: 'Isaac Z. Schlueter',
12435 silly resolved email: 'i@izs.me',
12435 silly resolved url: 'http://blog.izs.me' },
12435 silly resolved name: 'which',
12435 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
12435 silly resolved version: '1.0.5',
12435 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
12435 silly resolved main: 'which.js',
12435 silly resolved bin: { which: './bin/which' },
12435 silly resolved engines: { node: '*' },
12435 silly resolved dependencies: {},
12435 silly resolved devDependencies: {},
12435 silly resolved readme: 'The "which" util from npm\'s guts.\n\nFinds the first instance of a specified executable in the PATH\nenvironment variable. Does not cache the results, so `hash -r` is not\nneeded when the PATH changes.\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved bugs: { url: 'https://github.com/isaacs/node-which/issues' },
12435 silly resolved homepage: 'https://github.com/isaacs/node-which',
12435 silly resolved _id: 'which@1.0.5',
12435 silly resolved _from: 'which@~1.0.5',
12435 silly resolved scripts: {} },
12435 silly resolved { name: 'findup-sync',
12435 silly resolved description: 'Find the first file matching a given pattern in the current directory or the nearest ancestor directory.',
12435 silly resolved version: '0.1.2',
12435 silly resolved homepage: 'https://github.com/cowboy/node-findup-sync',
12435 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
12435 silly resolved repository:
12435 silly resolved { type: 'git',
12435 silly resolved url: 'git://github.com/cowboy/node-findup-sync.git' },
12435 silly resolved bugs: { url: 'https://github.com/cowboy/node-findup-sync/issues' },
12435 silly resolved licenses: [ [Object] ],
12435 silly resolved main: 'lib/findup-sync',
12435 silly resolved engines: { node: '>= 0.6.0' },
12435 silly resolved scripts: { test: 'grunt nodeunit' },
12435 silly resolved dependencies: { glob: '~3.1.21', lodash: '~1.0.1' },
12435 silly resolved devDependencies:
12435 silly resolved { grunt: '~0.4.0',
12435 silly resolved 'grunt-contrib-jshint': '~0.2.0',
12435 silly resolved 'grunt-contrib-nodeunit': '~0.1.2' },
12435 silly resolved keywords: [ 'find', 'glob', 'file' ],
12435 silly resolved readme: '# findup-sync\n\nFind the first file matching a given pattern in the current directory or the nearest ancestor directory.\n\n## Getting Started\nInstall the module with: `npm install findup-sync`\n\n```js\nvar findup = require(\'findup-sync\');\n\n// Start looking in the CWD.\nvar filepath1 = findup(\'{a,b}*.txt\');\n\n// Start looking somewhere else, and ignore case (probably a good idea).\nvar filepath2 = findup(\'{a,b}*.txt\', {cwd: \'/some/path\', nocase: true});\n```\n\n## Usage\n\n```js\nfindup(patternOrPatterns [, minimatchOptions])\n```\n\n### patternOrPatterns\nType: `String` or `Array` \nDefault: none\n\nOne or more wildcard glob patterns. Or just filenames.\n\n### minimatchOptions\nType: `Object` \nDefault: `{}`\n\nOptions to be passed to [minimatch](https://github.com/isaacs/minimatch).\n\nNote that if you want to start in a different directory than the current working directory, specify a `cwd` property here.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2013-03-08 - v0.1.2 - Updated dependencies. Fixed a Node 0.9.x bug. Updated unit tests to work cross-platform. \n2012-11-15 - v0.1.1 - Now works without an options object. \n2012-11-01 - v0.1.0 - Initial release.\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved _id: 'findup-sync@0.1.2',
12435 silly resolved _from: 'findup-sync@~0.1.0' },
12435 silly resolved { name: 'coffee-script',
12435 silly resolved description: 'Unfancy JavaScript',
12435 silly resolved keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
12435 silly resolved author: { name: 'Jeremy Ashkenas' },
12435 silly resolved version: '1.3.3',
12435 silly resolved licenses: [ [Object] ],
12435 silly resolved engines: { node: '>=0.4.0' },
12435 silly resolved directories: { lib: './lib/coffee-script' },
12435 silly resolved main: './lib/coffee-script/coffee-script',
12435 silly resolved bin: { coffee: './bin/coffee', cake: './bin/cake' },
12435 silly resolved homepage: 'http://coffeescript.org',
12435 silly resolved bugs: { url: 'https://github.com/jashkenas/coffee-script/issues' },
12435 silly resolved repository:
12435 silly resolved { type: 'git',
12435 silly resolved url: 'git://github.com/jashkenas/coffee-script.git' },
12435 silly resolved devDependencies: { 'uglify-js': '>=1.0.0', jison: '>=0.2.0' },
12435 silly resolved readme: '\n {\n } } {\n { { } }\n } }{ {\n { }{ } } _____ __ __\n ( }{ }{ { ) / ____| / _|/ _|\n .- { { } { }} -. | | ___ | |_| |_ ___ ___\n ( ( } { } { } } ) | | / _ \\| _| _/ _ \\/ _ \\\n |`-..________ ..-\'| | |___| (_) | | | || __/ __/\n | | \\_____\\___/|_| |_| \\___|\\___|\n | ;--.\n | (__ \\ _____ _ _\n | | ) ) / ____| (_) | |\n | |/ / | (___ ___ _ __ _ _ __ | |_\n | ( / \\___ \\ / __| \'__| | \'_ \\| __|\n | |/ ____) | (__| | | | |_) | |_\n | | |_____/ \\___|_| |_| .__/ \\__|\n `-.._________..-\' | |\n |_|\n\n\n CoffeeScript is a little language that compiles into JavaScript.\n\n Install Node.js, and then the CoffeeScript compiler:\n sudo bin/cake install\n\n Or, if you have the Node Package Manager installed:\n npm install -g coffee-script\n (Leave off the -g if you don\'t wish to install globally.)\n\n Execute a script:\n coffee /path/to/script.coffee\n\n Compile a script:\n coffee -c /path/to/script.coffee\n\n For documentation, usage, and examples, see:\n http://coffeescript.org/\n\n To suggest a feature, report a bug, or general discussion:\n http://github.com/jashkenas/coffee-script/issues/\n\n If you\'d like to chat, drop by #coffeescript on Freenode IRC,\n or on webchat.freenode.net.\n\n The source repository:\n git://github.com/jashkenas/coffee-script.git\n\n All contributors are listed here:\n http://github.com/jashkenas/coffee-script/contributors\n',
12435 silly resolved readmeFilename: 'README',
12435 silly resolved _id: 'coffee-script@1.3.3',
12435 silly resolved _from: 'coffee-script@~1.3.3' },
12435 silly resolved { name: 'dateformat',
12435 silly resolved description: 'A node.js package for Steven Levithan\'s excellent dateFormat() function.',
12435 silly resolved maintainers: 'Felix Geisendörfer <felix@debuggable.com>',
12435 silly resolved homepage: 'https://github.com/felixge/node-dateformat',
12435 silly resolved author: { name: 'Steven Levithan' },
12435 silly resolved version: '1.0.2-1.2.3',
12435 silly resolved main: './lib/dateformat',
12435 silly resolved dependencies: {},
12435 silly resolved devDependencies: {},
12435 silly resolved engines: { node: '*' },
12435 silly resolved readme: '# node-dateformat\n\nA node.js package for Steven Levithan\'s excellent [dateFormat()][dateformat] function.\n\n## Modifications\n\n* Removed the `Date.prototype.format` method. Sorry folks, but extending native prototypes is for suckers.\n* Added a `module.exports = dateFormat;` statement at the bottom\n\n## Usage\n\nAs taken from Steven\'s post, modified to match the Modifications listed above:\n\n var dateFormat = require(\'dateformat\');\n var now = new Date();\n\n // Basic usage\n dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");\n // Saturday, June 9th, 2007, 5:46:21 PM\n\n // You can use one of several named masks\n dateFormat(now, "isoDateTime");\n // 2007-06-09T17:46:21\n\n // ...Or add your own\n dateFormat.masks.hammerTime = \'HH:MM! "Can\\\'t touch this!"\';\n dateFormat(now, "hammerTime");\n // 17:46! Can\'t touch this!\n\n // When using the standalone dateFormat function,\n // you can also provide the date as a string\n dateFormat("Jun 9 2007", "fullDate");\n // Saturday, June 9, 2007\n\n // Note that if you don\'t include the mask argument,\n // dateFormat.masks.default is used\n dateFormat(now);\n // Sat Jun 09 2007 17:46:21\n\n // And if you don\'t include the date argument,\n // the current date and time is used\n dateFormat();\n // Sat Jun 09 2007 17:46:22\n\n // You can also skip the date argument (as long as your mask doesn\'t\n // contain any numbers), in which case the current date/time is used\n dateFormat("longTime");\n // 5:46:22 PM EST\n\n // And finally, you can convert local time to UTC time. Simply pass in\n // true as an additional argument (no argument skipping allowed in this case):\n dateFormat(now, "longTime", true);\n // 10:46:21 PM UTC\n\n // ...Or add the prefix "UTC:" to your mask.\n dateFormat(now, "UTC:h:MM:ss TT Z");\n // 10:46:21 PM UTC\n\n // You can also get the ISO 8601 week of the year:\n dateFormat(now, "W");\n // 42\n## License\n\n(c) 2007-2009 Steven Levithan [stevenlevithan.com][stevenlevithan], MIT license.\n\n[dateformat]: http://blog.stevenlevithan.com/archives/date-time-format\n[stevenlevithan]: http://stevenlevithan.com/\n',
12435 silly resolved readmeFilename: 'Readme.md',
12435 silly resolved _id: 'dateformat@1.0.2-1.2.3',
12435 silly resolved _from: 'dateformat@1.0.2-1.2.3' },
12435 silly resolved { name: 'rimraf',
12435 silly resolved version: '2.0.3',
12435 silly resolved main: 'rimraf.js',
12435 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
12435 silly resolved author:
12435 silly resolved { name: 'Isaac Z. Schlueter',
12435 silly resolved email: 'i@izs.me',
12435 silly resolved url: 'http://blog.izs.me/' },
12435 silly resolved license:
12435 silly resolved { type: 'MIT',
12435 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
12435 silly resolved optionalDependencies: { 'graceful-fs': '~1.1' },
12435 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
12435 silly resolved scripts: { test: 'cd test && bash run.sh' },
12435 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
12435 silly resolved readme: 'A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
12435 silly resolved homepage: 'https://github.com/isaacs/rimraf',
12435 silly resolved dependencies: { 'graceful-fs': '~1.1' },
12435 silly resolved _id: 'rimraf@2.0.3',
12435 silly resolved _from: 'rimraf@~2.0.2' },
12435 silly resolved { name: 'colors',
12435 silly resolved description: 'get colors in your node.js console like what',
12435 silly resolved version: '0.6.2',
12435 silly resolved author: { name: 'Marak Squires' },
12435 silly resolved homepage: 'https://github.com/Marak/colors.js',
12435 silly resolved bugs: { url: 'https://github.com/Marak/colors.js/issues' },
12435 silly resolved keywords: [ 'ansi', 'terminal', 'colors' ],
12435 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
12435 silly resolved engines: { node: '>=0.1.90' },
12435 silly resolved main: 'colors',
12435 silly resolved readme: '# colors.js - get color and style in your node.js console ( and browser ) like what\n\n<img src="http://i.imgur.com/goJdO.png" border = "0"/>\n\n\n## Installation\n\n npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require(\'./colors\');\n\nconsole.log(\'hello\'.green); // outputs green text\nconsole.log(\'i like cake and pies\'.underline.red) // outputs red underlined text\nconsole.log(\'inverse the color\'.inverse); // inverses the color\nconsole.log(\'OMG Rainbows!\'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar colors = require(\'colors\');\n\ncolors.setTheme({\n silly: \'rainbow\',\n input: \'grey\',\n verbose: \'cyan\',\n prompt: \'grey\',\n info: \'green\',\n data: \'grey\',\n help: \'cyan\',\n warn: \'yellow\',\n debug: \'blue\',\n error: \'red\'\n});\n\n// outputs red text\nconsole.log("this is an error".error);\n\n// outputs yellow text\nconsole.log("this is a warning".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej Małecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n',
12435 silly resolved readmeFilename: 'ReadMe.md',
12435 silly resolved _id: 'colors@0.6.2',
12435 silly resolved _from: 'colors@~0.6.0-1' },
12435 silly resolved { name: 'async',
12435 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
12435 silly resolved main: './index',
12435 silly resolved author: { name: 'Caolan McMahon' },
12435 silly resolved version: '0.1.22',
12435 silly resolved repository: { type: 'git', url: 'http://github.com/caolan/async.git' },
12435 silly resolved bugs: { url: 'http://github.com/caolan/async/issues' },
12435 silly resolved licenses: [ [Object] ],
12435 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
12435 silly resolved readme: '# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser.\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, forEach…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n async.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n async.parallel([\n function(){ ... },\n function(){ ... }\n ], callback);\n\n async.series([\n function(){ ... },\n function(){ ... }\n ]);\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n\n## Download\n\nReleases are available for download from\n[GitHub](http://github.com/caolan/async/downloads).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed\n\n__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped\n\n\n## In the Browser\n\nSo far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n <script type="text/javascript" src="async.js"></script>\n <script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n </script>\n\n\n## Documentation\n\n### Collections\n\n* [forEach](#forEach)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [until](#until)\n* [waterfall](#waterfall)\n* [queue](#queue)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name="forEach" />\n### forEach(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the forEach function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n // assuming openFiles is an array of file names and saveFile is a function\n // to save the modified contents of that file:\n\n async.forEach(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n\n---------------------------------------\n\n<a name="forEachSeries" />\n### forEachSeries(arr, iterator, callback)\n\nThe same as forEach only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name="forEachLimit" />\n### forEachLimit(arr, limit, iterator, callback)\n\nThe same as forEach only the iterator is applied to batches of items in the\narray, in series. The next batch of iterators is only called once the current\none has completed processing.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - How many items should be in each batch.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n // Assume documents is an array of JSON objects and requestApi is a\n // function that interacts with a rate-limited REST api.\n\n async.forEachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n---------------------------------------\n\n<a name="map" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n async.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n---------------------------------------\n\n<a name="mapSeries" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n---------------------------------------\n\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as filter, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then its probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback which accepts an optional error as its first argument, and the state\n of the reduction as the second. If an error is passed to the callback, the\n reduction is stopped and the main callback is immediately called with the\n error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n async.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n }, function(err, result){\n // result is now equal to the last value of memo, which is 6\n });\n\n---------------------------------------\n\n<a name="reduceRight" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n async.detect([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // result now equals the first file in the list that exists\n });\n\n---------------------------------------\n\n<a name="detectSeries" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name="sortBy" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and a value to use as the sort criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n async.sortBy([\'file1\',\'file2\',\'file3\'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n }, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n });\n\n\n---------------------------------------\n\n<a name="some" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n async.some([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then at least one of the files exists\n });\n\n---------------------------------------\n\n<a name="every" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n async.every([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then every file exists\n });\n\n---------------------------------------\n\n<a name="concat" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n async.concat([\'dir1\',\'dir2\',\'dir3\'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n });\n\n---------------------------------------\n\n<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.series([\n function(callback){\n // do some stuff ...\n callback(null, \'one\');\n },\n function(callback){\n // do some more stuff ...\n callback(null, \'two\');\n },\n ],\n // optional callback\n function(err, results){\n // results is now equal to [\'one\', \'two\']\n });\n\n\n // an example using an object instead of an array\n async.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n },\n },\n function(err, results) {\n // results is now equal to: {one: 1, two: 2}\n });\n\n\n---------------------------------------\n\n<a name="parallel" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed a\n callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, \'one\');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, \'two\');\n }, 100);\n },\n ],\n // optional callback\n function(err, results){\n // the results array will equal [\'one\',\'two\'] even though\n // the second function had a shorter timeout.\n });\n\n\n // an example using an object instead of an array\n async.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n },\n },\n function(err, results) {\n // results is now equals to: {one: 1, two: 2}\n });\n\n\n---------------------------------------\n\n<a name="whilst" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback which must be called once it has completed with an optional\n error as the first argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n var count = 0;\n\n async.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n );\n\n\n---------------------------------------\n\n<a name="until" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n must call on completion.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task\'s callback.\n\n\n\n__Example__\n\n async.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n ], function (err, result) {\n // result now equals \'done\' \n });\n\n\n---------------------------------------\n\n<a name="queue" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task\'s callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n // create a queue object with concurrency 2\n\n var q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n }, 2);\n\n\n // assign a callback\n q.drain = function() {\n console.log(\'all items have been processed\');\n }\n\n // add some items to the queue\n\n q.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n });\n q.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n });\n\n // add some items to the queue (batch-wise)\n\n q.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\n });\n\n\n---------------------------------------\n\n<a name="auto" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The\n syntax is easier to understand by looking at the example.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. If all tasks complete\n successfully, it will receive an object containing their results.\n\n__Example__\n\n async.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: [\'get_data\', \'make_folder\', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: [\'write_file\', function(callback, results){\n // once the file is written let\'s email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n });\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n async.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n ],\n function(results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n email_link: function(callback){\n // once the file is written let\'s email a link to it...\n }\n ]);\n });\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. Its also possible to\n\'peek\' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n must call on completion.\n\n__Example__\n\n var iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n ]);\n\n node> var iterator2 = iterator();\n \'one\'\n node> var iterator3 = iterator2();\n \'two\'\n node> iterator3();\n \'three\'\n node> var nextfn = iterator2.next();\n node> nextfn();\n \'three\'\n\n\n---------------------------------------\n\n<a name="apply" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n // using apply\n\n async.parallel([\n async.apply(fs.writeFile, \'testfile1\', \'test1\'),\n async.apply(fs.writeFile, \'testfile2\', \'test2\'),\n ]);\n\n\n // the same process without using apply\n\n async.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n },\n ]);\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n node> var fn = async.apply(sys.puts, \'one\');\n node> fn(\'two\', \'three\');\n one\n two\n three\n\n---------------------------------------\n\n<a name="nextTick" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setTimeout(callback, 0),\nwhich means other higher priority events may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n var call_order = [];\n async.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two]\n });\n call_order.push(\'one\')\n\n\n## Utils\n\n<a name="memoize" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n var slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n };\n var fn = async.memoize(slow_fn);\n\n // fn can now be used as if it were slow_fn\n fn(\'some name\', function () {\n // callback\n });\n\n<a name="unmemoize" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name="log" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n var hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n };\n\n node> async.log(hello, \'world\');\n \'hello world\'\n\n\n---------------------------------------\n\n<a name="dir" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n var hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n };\n\n node> async.dir(hello, \'world\');\n {hello: \'world\'}\n\n\n---------------------------------------\n\n<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved homepage: 'https://github.com/caolan/async',
12435 silly resolved _id: 'async@0.1.22',
12435 silly resolved _from: 'async@~0.1.22' },
12435 silly resolved { name: 'iconv-lite',
12435 silly resolved description: 'Convert character encodings in pure javascript.',
12435 silly resolved version: '0.2.11',
12435 silly resolved license: 'MIT',
12435 silly resolved keywords: [ 'iconv', 'convert', 'charset' ],
12435 silly resolved author: { name: 'Alexander Shtuchkin', email: 'ashtuchkin@gmail.com' },
12435 silly resolved contributors:
12435 silly resolved [ [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object] ],
12435 silly resolved main: 'index.js',
12435 silly resolved homepage: 'https://github.com/ashtuchkin/iconv-lite',
12435 silly resolved repository:
12435 silly resolved { type: 'git',
12435 silly resolved url: 'git://github.com/ashtuchkin/iconv-lite.git' },
12435 silly resolved engines: { node: '>=0.4.0' },
12435 silly resolved scripts: { test: 'vows --spec' },
12435 silly resolved devDependencies: { vows: '', iconv: '>=1.1' },
12435 silly resolved readme: 'iconv-lite - pure javascript character encoding conversion\n======================================================================\n\n[![Build Status](https://secure.travis-ci.org/ashtuchkin/iconv-lite.png?branch=master)](http://travis-ci.org/ashtuchkin/iconv-lite)\n\n## Features\n\n* Pure javascript. Doesn\'t need native code compilation.\n* Easy API.\n* Works on Windows and in sandboxed environments like [Cloud9](http://c9.io).\n* Encoding is much faster than node-iconv (see below for performance comparison).\n\n## Usage\n\n var iconv = require(\'iconv-lite\');\n \n // Convert from an encoded buffer to string.\n str = iconv.decode(buf, \'win1251\');\n \n // Convert from string to an encoded buffer.\n buf = iconv.encode("Sample input string", \'win1251\');\n\n // Check if encoding is supported\n iconv.encodingExists("us-ascii")\n\n\n## Supported encodings\n\n* All node.js native encodings: \'utf8\', \'ucs2\', \'ascii\', \'binary\', \'base64\'\n* All widespread single byte encodings: Windows 125x family, ISO-8859 family, \n IBM/DOS codepages, Macintosh family, KOI8 family. \n Aliases like \'latin1\', \'us-ascii\' also supported.\n* Multibyte encodings: \'gbk\', \'gb2313\', \'Big5\', \'cp950\'.\n\nOthers are easy to add, see the source. Please, participate.\nMost encodings are generated from node-iconv. Thank you Ben Noordhuis and iconv authors!\n\nNot supported yet: EUC family, Shift_JIS.\n\n\n## Encoding/decoding speed\n\nComparison with node-iconv module (1000x256kb, on Ubuntu 12.04, Core i5/2.5 GHz, Node v0.8.7). \nNote: your results may vary, so please always check on your hardware.\n\n operation iconv@1.2.4 iconv-lite@0.2.4 \n ----------------------------------------------------------\n encode(\'win1251\') ~115 Mb/s ~230 Mb/s\n decode(\'win1251\') ~95 Mb/s ~130 Mb/s\n\n\n## Notes\n\nWhen decoding, a \'binary\'-encoded string can be used as a source buffer. \nUntranslatable characters are set to � or ?. No transliteration is currently supported, pull requests are welcome.\n\n## Testing\n\n git clone git@github.com:ashtuchkin/iconv-lite.git\n cd iconv-lite\n npm install\n npm test\n \n # To view performance:\n node test/performance.js\n\n## TODO\n\n* Support streaming character conversion, something like util.pipe(req, iconv.fromEncodingStream(\'latin1\')).\n* Add more encodings.\n* Add transliteration (best fit char).\n* Add tests and correct support of variable-byte encodings (currently work is delegated to node).\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved bugs: { url: 'https://github.com/ashtuchkin/iconv-lite/issues' },
12435 silly resolved _id: 'iconv-lite@0.2.11',
12435 silly resolved _from: 'iconv-lite@~0.2.5' },
12435 silly resolved { name: 'nopt',
12435 silly resolved version: '1.0.10',
12435 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
12435 silly resolved author:
12435 silly resolved { name: 'Isaac Z. Schlueter',
12435 silly resolved email: 'i@izs.me',
12435 silly resolved url: 'http://blog.izs.me/' },
12435 silly resolved main: 'lib/nopt.js',
12435 silly resolved scripts: { test: 'node lib/nopt.js' },
12435 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
12435 silly resolved bin: { nopt: './bin/nopt.js' },
12435 silly resolved license:
12435 silly resolved { type: 'MIT',
12435 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
12435 silly resolved dependencies: { abbrev: '1' },
12435 silly resolved readme: 'If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We\'ve all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don\'t write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won\'t end up with a\ngood one of those, but if you don\'t give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require("nopt")\n , Stream = require("stream").Stream\n , path = require("path")\n , knownOpts = { "foo" : [String, null]\n , "bar" : [Stream, Number]\n , "baz" : path\n , "bloo" : [ "big", "medium", "small" ]\n , "flag" : Boolean\n , "pick" : Boolean\n , "many" : [String, Array]\n }\n , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]\n , "b7" : ["--bar", "7"]\n , "m" : ["--bloo", "medium"]\n , "p" : ["--pick"]\n , "f" : ["--flag"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo "blerp" --no-flag\n{ "foo" : "blerp", "flag" : false }\n\n$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag\n{ bar: 7, foo: "Mr. Hand", flag: true }\n\n$ node my-program.js --foo "blerp" -f -----p\n{ foo: "blerp", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: "Mr. Foo", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: "Mr. Foo", argv: { remain: ["-fp"] } }\n\n$ node my-program.js --blatzk 1000 -fp # unknown opts are ok.\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --blatzk true -fp # but they need a value\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with "no-"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: "/Users/isaacs/b/a/z" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: ["1", "null", "foo"] }\n\n$ node my-program.js --many foo\n{ many: ["foo"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn\'t parse, it isn\'t accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the "Stream" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `"true"`, `"false"`, and `"null"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ "foolhardyelephants" : Boolean\n, "pileofmonkeys" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ "s" : ["--loglevel", "silent"]\n, "g" : "--global"\n, "f" : "--force"\n, "p" : "--parseable"\n, "l" : "--long"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat\'s usually not very useful to you. So they\'re sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you\'d like to slice off the start of\nthe list.\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
12435 silly resolved homepage: 'https://github.com/isaacs/nopt',
12435 silly resolved _id: 'nopt@1.0.10',
12435 silly resolved _from: 'nopt@~1.0.10' },
12435 silly resolved { name: 'hooker',
12435 silly resolved description: 'Monkey-patch (hook) functions for debugging and stuff.',
12435 silly resolved version: '0.2.3',
12435 silly resolved homepage: 'http://github.com/cowboy/javascript-hooker',
12435 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
12435 silly resolved repository:
12435 silly resolved { type: 'git',
12435 silly resolved url: 'git://github.com/cowboy/javascript-hooker.git' },
12435 silly resolved bugs: { url: 'https://github.com/cowboy/javascript-hooker/issues' },
12435 silly resolved licenses: [ [Object] ],
12435 silly resolved dependencies: {},
12435 silly resolved devDependencies: { grunt: '~0.2.1' },
12435 silly resolved keywords: [ 'patch', 'hook', 'function', 'debug', 'aop' ],
12435 silly resolved engines: { node: '*' },
12435 silly resolved main: 'lib/hooker',
12435 silly resolved scripts: { test: 'grunt test' },
12435 silly resolved readme: '# JavaScript Hooker\n\nMonkey-patch (hook) functions for debugging and stuff.\n\n## Getting Started\n\nThis code should work just fine in Node.js:\n\nFirst, install the module with: `npm install hooker`\n\n```javascript\nvar hooker = require(\'hooker\');\nhooker.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n```\n\nOr in the browser:\n\n```html\n<script src="dist/ba-hooker.min.js"></script>\n<script>\nhook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n</script>\n```\n\nIn the browser, you can attach Hooker\'s methods to any object.\n\n```html\n<script>\nthis.exports = Bocoup.utils;\n</script>\n<script src="dist/ba-hooker.min.js"></script>\n<script>\nBocoup.utils.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n</script>\n```\n\n## Documentation\n\n### hooker.hook\nMonkey-patch (hook) one or more methods of an object.\n#### Signature:\n`hooker.hook(object, [ props, ] [options | prehookFunction])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all enumerable methods of `object` will be hooked.\n#### `options`\n* `pre` - (Function) a pre-hook function to be executed before the original function. Arguments passed into the method will be passed into the pre-hook function as well.\n* `post` - (Function) a post-hook function to be executed after the original function. The original function\'s result is passed into the post-hook function as its first argument, followed by the method arguments.\n* `once` - (Boolean) if true, auto-unhook the function after the first execution.\n* `passName` - (Boolean) if true, pass the name of the method into the pre-hook function as its first arg (preceding all other arguments), and into the post-hook function as the second arg (after result but preceding all other arguments).\n\n#### Returns:\nAn array of hooked method names.\n\n### hooker.unhook\nUn-monkey-patch (unhook) one or more methods of an object.\n#### Signature:\n`hooker.unhook(object [, props ])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all methods of `object` will be unhooked.\n#### Returns:\nAn array of unhooked method names.\n\n### hooker.orig\nGet a reference to the original method from a hooked function.\n#### Signature:\n`hooker.orig(object, props)`\n\n### hooker.override\nWhen a pre- or post-hook returns the result of this function, the value\npassed will be used in place of the original function\'s return value. Any\npost-hook override value will take precedence over a pre-hook override value.\n#### Signature:\n`hooker.override(value)`\n\n### hooker.preempt\nWhen a pre-hook returns the result of this function, the value passed will\nbe used in place of the original function\'s return value, and the original\nfunction will NOT be executed.\n#### Signature:\n`hooker.preempt(value)`\n\n### hooker.filter\nWhen a pre-hook returns the result of this function, the context and\narguments passed will be applied into the original function.\n#### Signature:\n`hooker.filter(context, arguments)`\n\n\n## Examples\nSee the unit tests for more examples.\n\n```javascript\nvar hooker = require(\'hooker\');\n// Simple logging.\nhooker.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n\nhooker.unhook(Math, "max"); // (This is assumed between all further examples)\nMath.max(5, 6, 7) // 7\n\n// Returning hooker.override(value) overrides the original value.\nhooker.hook(Math, "max", function() {\n if (arguments.length === 0) {\n return hooker.override(9000);\n }\n});\nMath.max(5, 6, 7) // 7\nMath.max() // 9000\n\n// Auto-unhook after one execution.\nhooker.hook(Math, "max", {\n once: true,\n pre: function() {\n console.log("Init something here");\n }\n});\nMath.max(5, 6, 7) // logs: "Init something here", returns 7\nMath.max(5, 6, 7) // 7\n\n// Filter `this` and arguments through a pre-hook function.\nhooker.hook(Math, "max", {\n pre: function() {\n var args = [].map.call(arguments, function(num) {\n return num * 2;\n });\n return hooker.filter(this, args); // thisValue, arguments\n }\n});\nMath.max(5, 6, 7) // 14\n\n// Modify the original function\'s result with a post-hook function.\nhooker.hook(Math, "max", {\n post: function(result) {\n return hooker.override(result * 100);\n }\n});\nMath.max(5, 6, 7) // 700\n\n// Hook every Math method. Note: if Math\'s methods were enumerable, the second\n// argument could be omitted. Since they aren\'t, an array of properties to hook\n// must be explicitly passed. Non-method properties will be skipped.\n// See a more generic example here: http://bit.ly/vvJlrS\nhooker.hook(Math, Object.getOwnPropertyNames(Math), {\n passName: true,\n pre: function(name) {\n console.log("=> Math." + name, [].slice.call(arguments, 1));\n },\n post: function(result, name) {\n console.log("<= Math." + name, result);\n }\n});\n\nvar result = Math.max(5, 6, 7);\n// => Math.max [ 5, 6, 7 ]\n// <= Math.max 7\nresult // 7\n\nresult = Math.ceil(3.456);\n// => Math.ceil [ 3.456 ]\n// <= Math.ceil 4\nresult // 4\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt).\n\n_Also, please don\'t edit files in the "dist" subdirectory as they are generated via grunt. You\'ll find source code in the "lib" subdirectory!_\n\n## Release History\n2012/01/09 - v0.2.3 - First official release.\n\n## License\nCopyright (c) 2012 "Cowboy" Ben Alman \nLicensed under the MIT license. \n<http://benalman.com/about/license/>\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved _id: 'hooker@0.2.3',
12435 silly resolved _from: 'hooker@~0.2.3' },
12435 silly resolved { name: 'lodash',
12435 silly resolved version: '0.9.2',
12435 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
12435 silly resolved homepage: 'http://lodash.com',
12435 silly resolved license: 'MIT',
12435 silly resolved main: './lodash.js',
12435 silly resolved keywords:
12435 silly resolved [ 'browser',
12435 silly resolved 'client',
12435 silly resolved 'functional',
12435 silly resolved 'performance',
12435 silly resolved 'server',
12435 silly resolved 'speed',
12435 silly resolved 'util' ],
12435 silly resolved author:
12435 silly resolved { name: 'John-David Dalton',
12435 silly resolved email: 'john.david.dalton@gmail.com',
12435 silly resolved url: 'http://allyoucanleet.com/' },
12435 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
12435 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
12435 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
12435 silly resolved engines: [ 'node', 'rhino' ],
12435 silly resolved jam: { main: './lodash.js' },
12435 silly resolved readme: '# Lo-Dash v0.9.2\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n * [Development build](https://raw.github.com/lodash/lodash/0.9.2/lodash.js)\n * [Production build](https://raw.github.com/lodash/lodash/0.9.2/lodash.min.js)\n * [Underscore build](https://raw.github.com/lodash/lodash/0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore\n * CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/)\n * For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nCreate your own benchmarks at [jsPerf](http://jsperf.com), or [search](http://jsperf.com/search?q=lodash) for existing ones.\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Screencasts\n\nFor more information check out these screencasts over Lo-Dash:\n\n * [Introducing Lo-Dash](https://vimeo.com/44154599)\n * [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n * [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n * [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n * [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_.clone](http://lodash.com/docs#clone) supports *“deep”* cloning\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.lateBind](http://lodash.com/docs#lateBind) for late binding\n * [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding\n * [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments\n * [_.template](http://lodash.com/docs#template) supports [ES6 delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6) and utilizes [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier debugging\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~23, Firefox 1~16, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.14, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [npm](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n```\n\n**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Resolved Underscore.js issues\n\n * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)]\n * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)]\n * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)]\n * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)]\n * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)]\n * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)]\n\n## Release Notes\n\n### <sup>v0.9.2</sup>\n\n * Added `fromIndex` argument to `_.contains`\n * Added `moduleId` build option\n * Added Closure Compiler *“simple”* optimizations to the build process\n * Added support for strings in `_.max` and `_.min`\n * Added support for ES6 template delimiters to `_.template`\n * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs\n * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved _id: 'lodash@0.9.2',
12435 silly resolved _from: 'lodash@~0.9.0' },
12435 silly resolved { name: 'eventemitter2',
12435 silly resolved version: '0.4.13',
12435 silly resolved description: 'A Node.js event emitter implementation with namespaces, wildcards, TTL and browser support.',
12435 silly resolved keywords: [ 'event', 'events', 'emitter', 'eventemitter' ],
12435 silly resolved author: { name: 'hij1nx', email: 'paolo@async.ly' },
12435 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
12435 silly resolved license: 'MIT',
12435 silly resolved repository:
12435 silly resolved { type: 'git',
12435 silly resolved url: 'git://github.com/hij1nx/EventEmitter2.git' },
12435 silly resolved devDependencies: { nodeunit: '*', benchmark: '>= 0.2.2' },
12435 silly resolved main: './lib/eventemitter2.js',
12435 silly resolved scripts:
12435 silly resolved { test: 'nodeunit test/simple/ && nodeunit test/wildcardEvents/',
12435 silly resolved benchmark: 'node test/perf/benchmark.js' },
12435 silly resolved files: [ 'lib/eventemitter2.js', 'index.js' ],
12435 silly resolved readme: '# EventEmitter2\n\nEventEmitter2 is an implementation of the EventEmitter found in Node.js\n\n## Features\n\n - Namespaces/Wildcards.\n - Times To Listen (TTL), extends the `once` concept with `many`.\n - Browser environment compatibility.\n - Demonstrates good performance in benchmarks\n\n```\nEventEmitterHeatUp x 3,728,965 ops/sec \\302\\2610.68% (60 runs sampled)\nEventEmitter x 2,822,904 ops/sec \\302\\2610.74% (63 runs sampled)\nEventEmitter2 x 7,251,227 ops/sec \\302\\2610.55% (58 runs sampled)\nEventEmitter2 (wild) x 3,220,268 ops/sec \\302\\2610.44% (65 runs sampled)\nFastest is EventEmitter2\n```\n\n## Differences (Non breaking, compatible with existing EventEmitter)\n\n - The constructor takes a configuration object.\n \n```javascript\n var EventEmitter2 = require(\'eventemitter2\').EventEmitter2;\n var server = new EventEmitter2({\n wildcard: true, // should the event emitter use wildcards.\n delimiter: \'::\', // the delimiter used to segment namespaces, defaults to `.`.\n newListener: false, // if you want to emit the newListener event set to true.\n maxListeners: 20, // the max number of listeners that can be assigned to an event, defaults to 10.\n });\n```\n\n - Getting the actual event that fired.\n\n```javascript\n server.on(\'foo.*\', function(value1, value2) {\n console.log(this.event, value1, value2);\n });\n```\n\n - Fire an event N times and then remove it, an extension of the `once` concept.\n\n```javascript\n server.many(\'foo\', 4, function() {\n console.log(\'hello\');\n });\n```\n\n - Pass in a namespaced event as an array rather than a delimited string.\n\n```javascript\n server.many([\'foo\', \'bar\', \'bazz\'], function() {\n console.log(\'hello\');\n });\n```\n\n\n## API\n\nWhen an `EventEmitter` instance experiences an error, the typical action is\nto emit an `error` event. Error events are treated as a special case.\nIf there is no listener for it, then the default action is to print a stack\ntrace and exit the program.\n\nAll EventEmitters emit the event `newListener` when new listeners are\nadded.\n\n\n**Namespaces** with **Wildcards**\nTo use namespaces/wildcards, pass the `wildcard` option into the EventEmitter constructor.\nWhen namespaces/wildcards are enabled, events can either be strings (`foo.bar`) separated\nby a delimiter or arrays (`[\'foo\', \'bar\']`). The delimiter is also configurable as a \nconstructor option.\n\nAn event name passed to any event emitter method can contain a wild card (the `*` character).\nIf the event name is a string, a wildcard may appear as `foo.*`. If the event name is an array, \nthe wildcard may appear as `[\'foo\', \'*\']`.\n\nIf either of the above described events were passed to the `on` method, subsequent emits such \nas the following would be observed...\n\n```javascript\n emitter.emit(\'foo.bazz\');\n emitter.emit([\'foo\', \'bar\']);\n```\n\n\n#### emitter.addListener(event, listener)\n#### emitter.on(event, listener)\n\nAdds a listener to the end of the listeners array for the specified event.\n\n```javascript\n server.on(\'data\', function(value1, value2, value3 /* accepts any number of expected values... */) {\n console.log(\'The event was raised!\');\n });\n```\n\n```javascript\n server.on(\'data\', function(value) {\n console.log(\'The event was raised!\');\n });\n```\n\n#### emitter.onAny(listener)\n\nAdds a listener that will be fired when any event is emitted.\n\n```javascript\n server.onAny(function(value) {\n console.log(\'All events trigger this.\');\n });\n```\n\n#### emitter.offAny(listener)\n\nRemoves the listener that will be fired when any event is emitted.\n\n```javascript\n server.offAny(function(value) {\n console.log(\'The event was raised!\');\n });\n```\n\n#### emitter.once(event, listener)\n\nAdds a **one time** listener for the event. The listener is invoked only the first time the event is fired, after which it is removed.\n\n```javascript\n server.once(\'get\', function (value) {\n console.log(\'Ah, we have our first value!\');\n });\n```\n\n#### emitter.many(event, timesToListen, listener)\n\nAdds a listener that will execute **n times** for the event before being removed. The listener is invoked only the first time the event is fired, after which it is removed.\n\n```javascript\n server.many(\'get\', 4, function (value) {\n console.log(\'This event will be listened to exactly four times.\');\n });\n```\n\n\n#### emitter.removeListener(event, listener)\n#### emitter.off(event, listener)\n\nRemove a listener from the listener array for the specified event. **Caution**: changes array indices in the listener array behind the listener.\n\n```javascript\n var callback = function(value) {\n console.log(\'someone connected!\');\n };\n server.on(\'get\', callback);\n // ...\n server.removeListener(\'get\', callback);\n```\n\n\n#### emitter.removeAllListeners([event])\n\nRemoves all listeners, or those of the specified event.\n\n\n#### emitter.setMaxListeners(n)\n\nBy default EventEmitters will print a warning if more than 10 listeners are added to it. This is a useful default which helps finding memory leaks. Obviously not all Emitters should be limited to 10. This function allows that to be increased. Set to zero for unlimited.\n\n\n#### emitter.listeners(event)\n\nReturns an array of listeners for the specified event. This array can be manipulated, e.g. to remove listeners.\n\n```javascript\n server.on(\'get\', function(value) {\n console.log(\'someone connected!\');\n });\n console.log(console.log(server.listeners(\'get\')); // [ [Function] ]\n```\n\n#### emitter.listenersAny()\n\nReturns an array of listeners that are listening for any event that is specified. This array can be manipulated, e.g. to remove listeners.\n\n```javascript\n server.onAny(function(value) {\n console.log(\'someone connected!\');\n });\n console.log(console.log(server.listenersAny()[0]); // [ [Function] ] // someone connected!\n```\n\n#### emitter.emit(event, [arg1], [arg2], [...])\n\nExecute each of the listeners that may be listening for the specified event name in order with the list of arguments.\n\n## Test coverage\n\nThere is a test suite that tries to cover each use case, it can be found <a href="https://github.com/hij1nx/EventEmitter2/tree/master/test">here</a>.\n\n## Licence\n\n(The MIT License)\n\nCopyright (c) 2011 hij1nx <http://www.twitter.com/hij1nx>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \'Software\'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved bugs: { url: 'https://github.com/hij1nx/EventEmitter2/issues' },
12435 silly resolved homepage: 'https://github.com/hij1nx/EventEmitter2',
12435 silly resolved _id: 'eventemitter2@0.4.13',
12435 silly resolved _from: 'eventemitter2@~0.4.9' },
12435 silly resolved { author:
12435 silly resolved { name: 'Isaac Z. Schlueter',
12435 silly resolved email: 'i@izs.me',
12435 silly resolved url: 'http://blog.izs.me/' },
12435 silly resolved name: 'glob',
12435 silly resolved description: 'a little globber',
12435 silly resolved version: '3.1.21',
12435 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
12435 silly resolved main: 'glob.js',
12435 silly resolved engines: { node: '*' },
12435 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
12435 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
12435 silly resolved scripts: { test: 'tap test/*.js' },
12435 silly resolved license: 'BSD',
12435 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',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
12435 silly resolved homepage: 'https://github.com/isaacs/node-glob',
12435 silly resolved _id: 'glob@3.1.21',
12435 silly resolved _from: 'glob@~3.1.21' },
12435 silly resolved { author:
12435 silly resolved { name: 'Isaac Z. Schlueter',
12435 silly resolved email: 'i@izs.me',
12435 silly resolved url: 'http://blog.izs.me' },
12435 silly resolved name: 'minimatch',
12435 silly resolved description: 'a glob matcher in javascript',
12435 silly resolved version: '0.2.12',
12435 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
12435 silly resolved main: 'minimatch.js',
12435 silly resolved scripts: { test: 'tap test' },
12435 silly resolved engines: { node: '*' },
12435 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
12435 silly resolved devDependencies: { tap: '' },
12435 silly resolved license:
12435 silly resolved { type: 'MIT',
12435 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
12435 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',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
12435 silly resolved homepage: 'https://github.com/isaacs/minimatch',
12435 silly resolved _id: 'minimatch@0.2.12',
12435 silly resolved _from: 'minimatch@~0.2' },
12435 silly resolved { name: 'underscore.string',
12435 silly resolved version: '2.2.1',
12435 silly resolved description: 'String manipulation extensions for Underscore.js javascript library.',
12435 silly resolved homepage: 'http://epeli.github.com/underscore.string/',
12435 silly resolved contributors:
12435 silly resolved [ [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object],
12435 silly resolved [Object] ],
12435 silly resolved keywords: [ 'underscore', 'string' ],
12435 silly resolved main: './lib/underscore.string',
12435 silly resolved directories: { lib: './lib' },
12435 silly resolved engines: { node: '*' },
12435 silly resolved repository:
12435 silly resolved { type: 'git',
12435 silly resolved url: 'https://github.com/epeli/underscore.string.git' },
12435 silly resolved bugs: { url: 'https://github.com/epeli/underscore.string/issues' },
12435 silly resolved licenses: [ [Object] ],
12435 silly resolved readme: '# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(" epeli ").chain().trim().capitalize().value()\n=> "Epeli"\n```\n\n## Download ##\n\n * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require(\'underscore.string\');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _ = require(\'underscore\');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require(\'underscore.string\');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include(\'Underscore.string\', \'string\'); // => true\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize(\'epeli\')\n=> "Epeli"\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize("foo Bar")\n=> "Foo Bar"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop(\'whitespace\', 3)\n=> [\'whi\',\'tes\',\'pac\',\'e\']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(" foo bar ")\n=> \'foo bar\'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars(\'Hello\')\n=> [\'H\',\'e\',\'l\',\'l\',\'o\']\n```\n\n**includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes("foobar", "ob")\n=> true\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include("foobar", "ob")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_(\'Hello world\').count(\'l\')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_(\'<div>Blah blah blah</div>\').escapeHTML();\n=> \'&lt;div&gt;Blah blah blah&lt;/div&gt;\'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_(\'&lt;div&gt;Blah blah blah&lt;/div&gt;\').unescapeHTML();\n=> \'<div>Blah blah blah</div>\'\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_(\'Hello \').insert(6, \'world\')\n=> \'Hello world\'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_(\'\').isBlank(); // => true\n_(\'\\n\').isBlank(); // => true\n_(\' \').isBlank(); // => true\n_(\'a\').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(" ", "foo", "bar")\n=> "foo bar"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines("Hello\\nWorld")\n=> ["Hello", "World"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse("foobar")\n=> \'raboof\'\n```\n\n**splice** _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_(\'https://edtsech@bitbucket.org/edtsech/underscore.strings\').splice(30, 7, \'epeli\')\n=> \'https://edtsech@bitbucket.org/epeli/underscore.strings\'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_("image.gif").startsWith("image")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_("image.gif").endsWith("gif")\n=> true\n```\n\n**succ** _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_(\'a\').succ()\n=> \'b\'\n\n_(\'A\').succ()\n=> \'B\'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_(\'my name is epeli\').titleize()\n=> \'My Name Is Epeli\'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_(\'-moz-transform\').camelize()\n=> \'MozTransform\'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_(\'some_class_name\').classify()\n=> \'SomeClassName\'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_(\'MozTransform\').underscored()\n=> \'moz_transform\'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_(\'MozTransform\').dasherize()\n=> \'-moz-transform\'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix \'_id\'.\n\n```javascript\n_(\' capitalize dash-CamelCase_underscore trim \').humanize()\n=> \'Capitalize dash camel case underscore trim\'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(" foobar ")\n=> "foobar"\n\n_.trim("_-foobar-_", "_-")\n=> "foobar"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_(\'Hello world\').truncate(5)\n=> \'Hello...\'\n\n_(\'Hello\').truncate(10)\n=> \'Hello\'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_(\'Hello, world\').prune(5)\n=> \'Hello...\'\n\n_(\'Hello, world\').prune(8)\n=> \'Hello...\'\n\n_(\'Hello, world\').prune(5, \' (read a lot more)\')\n=> \'Hello, world\' (as adding "(read a lot more)" would be longer than the original string)\n\n_(\'Hello, cruel world\').prune(15)\n=> \'Hello, cruel...\'\n\n_(\'Hello\').prune(10)\n=> \'Hello\'\n```\n\n**words** _.words(str, delimiter=" ")\n\nSplit string by delimiter (String or RegExp), \' \' by default.\n\n```javascript\n_.words("I love you")\n=> ["I","love","you"]\n\n_.words("I_love_you", "_")\n=> ["I","love","you"]\n\n_.words("I-love-you", /-/)\n=> ["I","love","you"]\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf("%.1f", 1.17)\n"1.2"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`" "`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad("1", 8)\n-> " 1";\n\n_.pad("1", 8, \'0\')\n-> "00000001";\n\n_.pad("1", 8, \'0\', \'right\')\n-> "10000000";\n\n_.pad("1", 8, \'0\', \'both\')\n-> "00001000";\n\n_.pad("1", 8, \'bleepblorp\', \'both\')\n-> "bbbb1bbb";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, \'left\')`\n\n```javascript\n_.lpad("1", 8, \'0\')\n-> "00000001";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, \'right\')`\n\n```javascript\n_.rpad("1", 8, \'0\')\n-> "10000000";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, \'both\')`\n\n```javascript\n_.lrpad("1", 8, \'0\')\n-> "00001000";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber** _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can\'t be parsed to number.\n\n```javascript\n_(\'2.556\').toNumber()\n=> 3\n\n_(\'2.556\').toNumber(1)\n=> 2.6\n```\n\n**strRight** _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strRight(\'_\')\n=> "is_a_test_string";\n```\n\n**strRightBack** _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strRightBack(\'_\')\n=> "string";\n```\n\n**strLeft** _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strLeft(\'_\')\n=> "This";\n```\n\n**strLeftBack** _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strLeftBack(\'_\')\n=> "This_is_a_test";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_(\'a <a href="#">link</a>\').stripTags()\n=> \'a link\'\n\n_(\'a <a href="#">link</a><script>alert("hello world!")</script>\').stripTags()\n=> \'a linkalert("hello world!")\'\n```\n\n**toSentence** _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence([\'jQuery\', \'Mootools\', \'Prototype\'])\n=> \'jQuery, Mootools and Prototype\';\n\n_.toSentence([\'jQuery\', \'Mootools\', \'Prototype\'], \', \', \' unt \')\n=> \'jQuery, Mootools unt Prototype\';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat("foo", 3)\n=> \'foofoofoo\';\n\n_.repeat("foo", 3, "bar")\n=> \'foobarfoobarfoo\'\n```\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify("Un éléphant à l\'orée du bois")\n=> \'un-elephant-a-loree-du-bois\';\n```\n\n***Caution: this function is charset dependent***\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n## Changelog ##\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_(\'foobar\').include(\'bar\')` aren\'t available;\n* Chaining isn\'t available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n includeString: _.str.include,\n reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_(\'foobar\').chain().reverseString().includeString(\'rab\').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it\'s absolutely compatible)\n* Removed \'reverse\' function, because this function override underscore.js \'reverse\'\n\n## Contribute ##\n\n* Fork & pull request. Don\'t forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n\n* Esa-Matti Suuronen <esa-matti@suuronen.org> (<http://esa-matti.suuronen.org/>),\n* Edward Tsech <edtsech@gmail.com>,\n* Sasha Koss <kossnocorp@gmail.com> (<http://koss.nocorp.me/>),\n* Vladimir Dronnikov <dronnikov@gmail.com>,\n* Pete Kruckenberg (<https://github.com/kruckenb>),\n* Paul Chavard <paul@chavard.net> (<http://tchak.net>),\n* Ed Finkler <coj@funkatron.com> (<http://funkatron.com>)\n* Pavel Pravosud <rwz@duckroll.ru>\n* Anton Lindqvist <anton@qvister.se> (<http://qvister.se>)\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n',
12435 silly resolved readmeFilename: 'README.markdown',
12435 silly resolved _id: 'underscore.string@2.2.1',
12435 silly resolved _from: 'underscore.string@~2.2.0rc' },
12435 silly resolved { name: 'js-yaml',
12435 silly resolved version: '2.0.5',
12435 silly resolved description: 'YAML 1.2 parser and serializer',
12435 silly resolved keywords: [ 'yaml', 'parser', 'serializer', 'pyyaml' ],
12435 silly resolved homepage: 'https://github.com/nodeca/js-yaml',
12435 silly resolved author: { name: 'Dervus Grim', email: 'dervus@lavabit.com' },
12435 silly resolved contributors: [ [Object], [Object] ],
12435 silly resolved bugs: { url: 'https://github.com/nodeca/js-yaml/issues' },
12435 silly resolved license:
12435 silly resolved { type: 'MIT',
12435 silly resolved url: 'https://github.com/nodeca/js-yaml/blob/master/LICENSE' },
12435 silly resolved repository: { type: 'git', url: 'git://github.com/nodeca/js-yaml.git' },
12435 silly resolved main: './index.js',
12435 silly resolved bin: { 'js-yaml': 'bin/js-yaml.js' },
12435 silly resolved scripts: { test: 'make test' },
12435 silly resolved dependencies: { argparse: '~ 0.1.11', esprima: '~ 1.0.2' },
12435 silly resolved devDependencies: { mocha: '*' },
12435 silly resolved engines: { node: '>= 0.6.0' },
12435 silly resolved readme: 'JS-YAML - YAML 1.2 parser and serializer for JavaScript\n=======================================================\n\n[![Build Status](https://secure.travis-ci.org/nodeca/js-yaml.png)](http://travis-ci.org/nodeca/js-yaml)\n\n[Online Demo](http://nodeca.github.com/js-yaml/)\n\n\nThis is an implementation of [YAML](http://yaml.org/), a human friendly data\nserialization language. Started as [PyYAML](http://pyyaml.org/) port, it was\ncompletely rewritten from scratch. Now it\'s very fast, and supports 1.2 spec.\n\n\nBreaking changes in 1.x.x -> 2.0.x\n----------------------------------\n\nIf your have not used __custom__ tags or loader classes - no changes needed. Just\nupgrade library and enjoy high parse speed.\n\nIn other case, you should rewrite your tag constructors and custom loader\nclasses, to conform new schema-based API. See\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) and\n[wiki](https://github.com/nodeca/js-yaml/wiki) for details.\nNote, that parser internals were completely rewritten.\n\n\nInstallation\n------------\n\n### YAML module for node.js\n\n```\nnpm install js-yaml\n```\n\n\n### CLI executable\n\nIf you want to inspect your YAML files from CLI, install js-yaml globally:\n\n```\nnpm install js-yaml -g\n```\n\n#### Usage\n\n```\nusage: js-yaml [-h] [-v] [-c] [-j] [-t] file\n\nPositional arguments:\n file File with YAML document(s)\n\nOptional arguments:\n -h, --help Show this help message and exit.\n -v, --version Show program\'s version number and exit.\n -c, --compact Display errors in compact mode\n -j, --to-json Output a non-funky boring JSON\n -t, --trace Show stack trace on error\n```\n\n\n### Bundled YAML library for browsers\n\n``` html\n<script src="js-yaml.min.js"></script>\n<script type="text/javascript">\nvar doc = jsyaml.load(\'greeting: hello\\nname: world\');\n</script>\n```\n\nBrowser support was done mostly for online demo. If you find any errors - feel\nfree to send pull requests with fixes. Also note, that IE and other old browsers\nneeds [es5-shims](https://github.com/kriskowal/es5-shim) to operate.\n\n\nAPI\n---\n\nHere we cover the most \'useful\' methods. If you need advanced details (creating\nyour own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more\ninfo.\n\nIn node.js JS-YAML automatically registers handlers for `.yml` and `.yaml`\nfiles. You can load them just with `require`. That\'s mostly equivalent to\ncalling `load()` on fetched content of a file. Just with one string!\n\n``` javascript\nrequire(\'js-yaml\');\n\n// Get document, or throw exception on error\ntry {\n var doc = require(\'/home/ixti/example.yml\');\n console.log(doc);\n} catch (e) {\n console.log(e);\n}\n```\n\n\n### load (string [ , options ])\n\nParses `string` as single YAML document. Returns a JavaScript object or throws\n`YAMLException` on error.\n\nNOTE: This function **does not** understands multi-document sources, it throws\nexception on those.\n\noptions:\n\n- `filename` _(default: null)_ - string to be used as a file path in\n error/warning messages.\n- `strict` _(default - false)_ makes the loader to throw errors instead of\n warnings.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use.\n\n\n### loadAll (string, iterator [ , options ])\n\nSame as `load()`, but understands multi-document sources and apply `iterator` to\neach document.\n\n``` javascript\nvar yaml = require(\'js-yaml\');\n\nyaml.loadAll(data, function (doc) {\n console.log(doc);\n});\n```\n\n\n### safeLoad (string [ , options ])\n\nSame as `load()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### safeLoadAll (string, iterator [ , options ])\n\nSame as `loadAll()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### dump (object [ , options ])\n\nSerializes `object` as YAML document.\n\noptions:\n\n- `indent` _(default: 2)_ - indentation width to use (in spaces).\n- `flowLevel` (default: -1) - specifies level of nesting, when to switch from\n block to flow style for collections. -1 means block style everwhere\n- `styles` - "tag" => "style" map. Each tag may have own set of styles.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ specifies a schema to use.\n\nstyles:\n\n``` none\n!!null\n "canonical" => "~"\n\n!!int\n "binary" => "0b1", "0b101010", "0b1110001111010"\n "octal" => "01", "052", "016172"\n "decimal" => "1", "42", "7290"\n "hexadecimal" => "0x1", "0x2A", "0x1C7A"\n\n!!null, !!bool, !!float\n "lowercase" => "null", "true", "false", ".nan", \'.inf\'\n "uppercase" => "NULL", "TRUE", "FALSE", ".NAN", \'.INF\'\n "camelcase" => "Null", "True", "False", ".NaN", \'.Inf\'\n```\n\nBy default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`.\n\n\n### safeDump (object [ , options ])\n\nSame as `dump()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\nSupported YAML types\n--------------------\n\nThe list of standard YAML tags and corresponding JavaScipt types. See also\n[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and\n[YAML types repository](http://yaml.org/type/).\n\n```\n!!null \'\' # null\n!!bool \'yes\' # bool\n!!int \'3...\' # number\n!!float \'3.14...\' # number\n!!binary \'...base64...\' # buffer\n!!timestamp \'YYYY-...\' # date\n!!omap [ ... ] # array of key-value pairs\n!!pairs [ ... ] # array or array pairs\n!!set { ... } # array of objects with given keys and null values\n!!str \'...\' # string\n!!seq [ ... ] # array\n!!map { ... } # object\n```\n\n**JavaScript-specific tags**\n\n```\n!!js/regexp /pattern/gim # RegExp\n!!js/undefined \'\' # Undefined\n!!js/function \'function () {...}\' # Function\n```\n\n\n\n\n## Caveats\n\nNote, that you use arrays or objects as key in JS-YAML. JS do not allows objects\nor array as keys, and stringifies (by calling .toString method) them at the\nmoment of adding them.\n\n``` yaml\n---\n? [ foo, bar ]\n: - baz\n? { foo: bar }\n: - baz\n - baz\n```\n\n``` javascript\n{ "foo,bar": ["baz"], "[object Object]": ["baz", "baz"] }\n```\n\nAlso, reading of properties on implicit block mapping keys is not supported yet.\nSo, the following YAML document cannot be loaded.\n\n``` yaml\n&anchor foo:\n foo: bar\n *anchor: duplicate key\n baz: bat\n *anchor: duplicate key\n```\n\n## License\n\nView the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file\n(MIT).\n',
12435 silly resolved readmeFilename: 'README.md',
12435 silly resolved _id: 'js-yaml@2.0.5',
12435 silly resolved _from: 'js-yaml@~2.0.2' } ]
12436 info install which@1.0.5 into C:\Projects\trainingsservice\node_modules\grunt
12437 info install findup-sync@0.1.2 into C:\Projects\trainingsservice\node_modules\grunt
12438 info install coffee-script@1.3.3 into C:\Projects\trainingsservice\node_modules\grunt
12439 info install dateformat@1.0.2-1.2.3 into C:\Projects\trainingsservice\node_modules\grunt
12440 info install rimraf@2.0.3 into C:\Projects\trainingsservice\node_modules\grunt
12441 info install colors@0.6.2 into C:\Projects\trainingsservice\node_modules\grunt
12442 info install async@0.1.22 into C:\Projects\trainingsservice\node_modules\grunt
12443 info install iconv-lite@0.2.11 into C:\Projects\trainingsservice\node_modules\grunt
12444 info install nopt@1.0.10 into C:\Projects\trainingsservice\node_modules\grunt
12445 info install hooker@0.2.3 into C:\Projects\trainingsservice\node_modules\grunt
12446 info install lodash@0.9.2 into C:\Projects\trainingsservice\node_modules\grunt
12447 info install eventemitter2@0.4.13 into C:\Projects\trainingsservice\node_modules\grunt
12448 info install glob@3.1.21 into C:\Projects\trainingsservice\node_modules\grunt
12449 info install minimatch@0.2.12 into C:\Projects\trainingsservice\node_modules\grunt
12450 info install underscore.string@2.2.1 into C:\Projects\trainingsservice\node_modules\grunt
12451 info install js-yaml@2.0.5 into C:\Projects\trainingsservice\node_modules\grunt
12452 info installOne which@1.0.5
12453 info installOne findup-sync@0.1.2
12454 info installOne coffee-script@1.3.3
12455 info installOne dateformat@1.0.2-1.2.3
12456 info installOne rimraf@2.0.3
12457 info installOne colors@0.6.2
12458 info installOne async@0.1.22
12459 info installOne iconv-lite@0.2.11
12460 info installOne nopt@1.0.10
12461 info installOne hooker@0.2.3
12462 info installOne lodash@0.9.2
12463 info installOne eventemitter2@0.4.13
12464 info installOne glob@3.1.21
12465 info installOne minimatch@0.2.12
12466 info installOne underscore.string@2.2.1
12467 info installOne js-yaml@2.0.5
12468 http 304 https://registry.npmjs.org/connect
12469 silly registry.get cb [ 304,
12469 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12469 silly registry.get etag: '"BU2U1KWMK7SFFORUFGZCUB2W"',
12469 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12469 silly registry.get 'content-length': '0' } ]
12470 verbose etag connect from cache
12471 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\which unbuild
12472 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\findup-sync unbuild
12473 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\coffee-script unbuild
12474 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\dateformat unbuild
12475 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\rimraf unbuild
12476 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\colors unbuild
12477 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\async unbuild
12478 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\iconv-lite unbuild
12479 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\nopt unbuild
12480 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\hooker unbuild
12481 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\lodash unbuild
12482 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\eventemitter2 unbuild
12483 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\glob unbuild
12484 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\minimatch unbuild
12485 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\underscore.string unbuild
12486 info C:\Projects\trainingsservice\node_modules\grunt\node_modules\js-yaml unbuild
12487 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\which\1.0.5\package.tgz
12488 silly lockFile b06e4b6e-modules-grunt-node-modules-which tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\which
12489 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\which C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b06e4b6e-modules-grunt-node-modules-which.lock
12490 silly lockFile 99bdce37-pm-cache-which-1-0-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\which\1.0.5\package.tgz
12491 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\which\1.0.5\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\99bdce37-pm-cache-which-1-0-5-package-tgz.lock
12492 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\findup-sync\0.1.2\package.tgz
12493 silly lockFile 5b65e284-s-grunt-node-modules-findup-sync tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\findup-sync
12494 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\findup-sync C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5b65e284-s-grunt-node-modules-findup-sync.lock
12495 silly lockFile ab8d4e80-he-findup-sync-0-1-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\findup-sync\0.1.2\package.tgz
12496 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\findup-sync\0.1.2\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ab8d4e80-he-findup-sync-0-1-2-package-tgz.lock
12497 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.3.3\package.tgz
12498 silly lockFile 51842025-grunt-node-modules-coffee-script tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\coffee-script
12499 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\coffee-script C:\Users\lukasz.zak\AppData\Roaming\npm-cache\51842025-grunt-node-modules-coffee-script.lock
12500 silly lockFile f73211f5--coffee-script-1-3-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.3.3\package.tgz
12501 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.3.3\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f73211f5--coffee-script-1-3-3-package-tgz.lock
12502 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dateformat\1.0.2-1.2.3\package.tgz
12503 silly lockFile 794f29be-es-grunt-node-modules-dateformat tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\dateformat
12504 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\dateformat C:\Users\lukasz.zak\AppData\Roaming\npm-cache\794f29be-es-grunt-node-modules-dateformat.lock
12505 silly lockFile 5c6bf9e0-teformat-1-0-2-1-2-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dateformat\1.0.2-1.2.3\package.tgz
12506 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dateformat\1.0.2-1.2.3\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5c6bf9e0-teformat-1-0-2-1-2-3-package-tgz.lock
12507 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\rimraf\2.0.3\package.tgz
12508 silly lockFile a1506c72-odules-grunt-node-modules-rimraf tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\rimraf
12509 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\rimraf C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a1506c72-odules-grunt-node-modules-rimraf.lock
12510 silly lockFile c378ab51-m-cache-rimraf-2-0-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\rimraf\2.0.3\package.tgz
12511 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\rimraf\2.0.3\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c378ab51-m-cache-rimraf-2-0-3-package-tgz.lock
12512 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\colors\0.6.2\package.tgz
12513 silly lockFile 903a3064-odules-grunt-node-modules-colors tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\colors
12514 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\colors C:\Users\lukasz.zak\AppData\Roaming\npm-cache\903a3064-odules-grunt-node-modules-colors.lock
12515 silly lockFile eb9dcd36-m-cache-colors-0-6-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\colors\0.6.2\package.tgz
12516 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\colors\0.6.2\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\eb9dcd36-m-cache-colors-0-6-2-package-tgz.lock
12517 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\async\0.1.22\package.tgz
12518 silly lockFile c89649e0-modules-grunt-node-modules-async tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\async
12519 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\async C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c89649e0-modules-grunt-node-modules-async.lock
12520 silly lockFile 1fb36f2b-m-cache-async-0-1-22-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\async\0.1.22\package.tgz
12521 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\async\0.1.22\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\1fb36f2b-m-cache-async-0-1-22-package-tgz.lock
12522 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\iconv-lite\0.2.11\package.tgz
12523 silly lockFile a0435640-es-grunt-node-modules-iconv-lite tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\iconv-lite
12524 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\iconv-lite C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a0435640-es-grunt-node-modules-iconv-lite.lock
12525 silly lockFile bc4e8e4e-he-iconv-lite-0-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\iconv-lite\0.2.11\package.tgz
12526 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\iconv-lite\0.2.11\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\bc4e8e4e-he-iconv-lite-0-2-11-package-tgz.lock
12527 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\nopt\1.0.10\package.tgz
12528 silly lockFile b226cd28--modules-grunt-node-modules-nopt tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\nopt
12529 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\nopt C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b226cd28--modules-grunt-node-modules-nopt.lock
12530 silly lockFile 34bb1d10-pm-cache-nopt-1-0-10-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\nopt\1.0.10\package.tgz
12531 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\nopt\1.0.10\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\34bb1d10-pm-cache-nopt-1-0-10-package-tgz.lock
12532 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hooker\0.2.3\package.tgz
12533 silly lockFile 4b7888bf-odules-grunt-node-modules-hooker tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\hooker
12534 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\hooker C:\Users\lukasz.zak\AppData\Roaming\npm-cache\4b7888bf-odules-grunt-node-modules-hooker.lock
12535 silly lockFile f591f0ad-m-cache-hooker-0-2-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hooker\0.2.3\package.tgz
12536 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\hooker\0.2.3\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f591f0ad-m-cache-hooker-0-2-3-package-tgz.lock
12537 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\0.9.2\package.tgz
12538 silly lockFile 1132f1b9-odules-grunt-node-modules-lodash tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\lodash
12539 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\lodash C:\Users\lukasz.zak\AppData\Roaming\npm-cache\1132f1b9-odules-grunt-node-modules-lodash.lock
12540 silly lockFile 64f86e41-m-cache-lodash-0-9-2-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\0.9.2\package.tgz
12541 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\0.9.2\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\64f86e41-m-cache-lodash-0-9-2-package-tgz.lock
12542 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\eventemitter2\0.4.13\package.tgz
12543 silly lockFile 1f1be1c8-grunt-node-modules-eventemitter2 tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\eventemitter2
12544 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\eventemitter2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\1f1be1c8-grunt-node-modules-eventemitter2.lock
12545 silly lockFile 3da04945-eventemitter2-0-4-13-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\eventemitter2\0.4.13\package.tgz
12546 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\eventemitter2\0.4.13\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\3da04945-eventemitter2-0-4-13-package-tgz.lock
12547 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12548 silly lockFile e259f6f7--modules-grunt-node-modules-glob tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\glob
12549 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\glob C:\Users\lukasz.zak\AppData\Roaming\npm-cache\e259f6f7--modules-grunt-node-modules-glob.lock
12550 silly lockFile 53323008-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12551 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\53323008-pm-cache-glob-3-1-21-package-tgz.lock
12552 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
12553 silly lockFile f678cab3-les-grunt-node-modules-minimatch tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\minimatch
12554 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\minimatch C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f678cab3-les-grunt-node-modules-minimatch.lock
12555 silly lockFile 172eecd9-che-minimatch-0-2-12-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
12556 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\172eecd9-che-minimatch-0-2-12-package-tgz.lock
12557 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\underscore.string\2.2.1\package.tgz
12558 silly lockFile 192c5abd-t-node-modules-underscore-string tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\underscore.string
12559 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\underscore.string C:\Users\lukasz.zak\AppData\Roaming\npm-cache\192c5abd-t-node-modules-underscore-string.lock
12560 silly lockFile 587a3faf-erscore-string-2-2-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\underscore.string\2.2.1\package.tgz
12561 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\underscore.string\2.2.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\587a3faf-erscore-string-2-2-1-package-tgz.lock
12562 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\js-yaml\2.0.5\package.tgz
12563 silly lockFile 82c39038-dules-grunt-node-modules-js-yaml tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\js-yaml
12564 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\js-yaml C:\Users\lukasz.zak\AppData\Roaming\npm-cache\82c39038-dules-grunt-node-modules-js-yaml.lock
12565 silly lockFile 51b72fc0--cache-js-yaml-2-0-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\js-yaml\2.0.5\package.tgz
12566 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\js-yaml\2.0.5\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\51b72fc0--cache-js-yaml-2-0-5-package-tgz.lock
12567 silly gunzTarPerm modes [ '755', '644' ]
12568 silly gunzTarPerm modes [ '755', '644' ]
12569 silly gunzTarPerm modes [ '755', '644' ]
12570 silly gunzTarPerm modes [ '755', '644' ]
12571 silly gunzTarPerm modes [ '755', '644' ]
12572 silly gunzTarPerm modes [ '755', '644' ]
12573 silly gunzTarPerm modes [ '755', '644' ]
12574 silly gunzTarPerm modes [ '755', '644' ]
12575 silly gunzTarPerm modes [ '755', '644' ]
12576 silly gunzTarPerm modes [ '755', '644' ]
12577 silly gunzTarPerm modes [ '755', '644' ]
12578 silly gunzTarPerm modes [ '755', '644' ]
12579 silly gunzTarPerm modes [ '755', '644' ]
12580 silly gunzTarPerm modes [ '755', '644' ]
12581 silly gunzTarPerm modes [ '755', '644' ]
12582 silly gunzTarPerm modes [ '755', '644' ]
12583 silly gunzTarPerm extractEntry package.json
12584 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12585 silly addNameRange number 2 { name: 'connect', range: '>=2.8.4-0 <2.9.0-0', hasData: true }
12586 silly addNameRange versions [ 'connect',
12586 silly addNameRange [ '0.0.1',
12586 silly addNameRange '0.0.2',
12586 silly addNameRange '0.0.3',
12586 silly addNameRange '0.0.4',
12586 silly addNameRange '0.0.5',
12586 silly addNameRange '0.0.6',
12586 silly addNameRange '0.1.0',
12586 silly addNameRange '0.2.0',
12586 silly addNameRange '0.2.1',
12586 silly addNameRange '0.2.2',
12586 silly addNameRange '0.2.3',
12586 silly addNameRange '0.2.4',
12586 silly addNameRange '0.2.5',
12586 silly addNameRange '0.2.6',
12586 silly addNameRange '0.2.7',
12586 silly addNameRange '0.3.0',
12586 silly addNameRange '0.4.0',
12586 silly addNameRange '0.5.0',
12586 silly addNameRange '0.5.1',
12586 silly addNameRange '0.5.2',
12586 silly addNameRange '0.5.3',
12586 silly addNameRange '0.5.4',
12586 silly addNameRange '0.5.5',
12586 silly addNameRange '0.5.6',
12586 silly addNameRange '0.5.7',
12586 silly addNameRange '0.5.8',
12586 silly addNameRange '0.5.9',
12586 silly addNameRange '0.5.10',
12586 silly addNameRange '1.0.0',
12586 silly addNameRange '1.0.1',
12586 silly addNameRange '1.0.2',
12586 silly addNameRange '1.0.3',
12586 silly addNameRange '1.0.4',
12586 silly addNameRange '1.0.5',
12586 silly addNameRange '1.0.6',
12586 silly addNameRange '1.1.0',
12586 silly addNameRange '1.1.1',
12586 silly addNameRange '1.1.2',
12586 silly addNameRange '1.1.3',
12586 silly addNameRange '1.1.4',
12586 silly addNameRange '1.1.5',
12586 silly addNameRange '1.2.0',
12586 silly addNameRange '1.2.1',
12586 silly addNameRange '1.2.2',
12586 silly addNameRange '1.2.3',
12586 silly addNameRange '1.3.0',
12586 silly addNameRange '1.4.0',
12586 silly addNameRange '1.4.1',
12586 silly addNameRange '1.4.2',
12586 silly addNameRange '1.4.3',
12586 silly addNameRange '1.4.4',
12586 silly addNameRange '1.4.5',
12586 silly addNameRange '1.4.6',
12586 silly addNameRange '1.5.0',
12586 silly addNameRange '1.5.1',
12586 silly addNameRange '1.5.2',
12586 silly addNameRange '1.6.0',
12586 silly addNameRange '1.6.1',
12586 silly addNameRange '1.6.2',
12586 silly addNameRange '1.6.3',
12586 silly addNameRange '1.6.4',
12586 silly addNameRange '1.7.0',
12586 silly addNameRange '1.7.1',
12586 silly addNameRange '1.7.2',
12586 silly addNameRange '1.7.3',
12586 silly addNameRange '1.8.0',
12586 silly addNameRange '1.8.1',
12586 silly addNameRange '1.8.2',
12586 silly addNameRange '1.8.3',
12586 silly addNameRange '1.8.4',
12586 silly addNameRange '1.8.5',
12586 silly addNameRange '2.0.0',
12586 silly addNameRange '2.0.1',
12586 silly addNameRange '2.0.2',
12586 silly addNameRange '2.0.3',
12586 silly addNameRange '1.8.6',
12586 silly addNameRange '2.1.0',
12586 silly addNameRange '2.1.1',
12586 silly addNameRange '2.1.2',
12586 silly addNameRange '1.8.7',
12586 silly addNameRange '2.1.3',
12586 silly addNameRange '2.2.0',
12586 silly addNameRange '2.2.1',
12586 silly addNameRange '2.2.2',
12586 silly addNameRange '2.3.0',
12586 silly addNameRange '2.3.1',
12586 silly addNameRange '2.3.2',
12586 silly addNameRange '2.3.3',
12586 silly addNameRange '1.9.0',
12586 silly addNameRange '1.9.1',
12586 silly addNameRange '2.3.4',
12586 silly addNameRange '2.3.5',
12586 silly addNameRange '2.3.6',
12586 silly addNameRange '2.3.7',
12586 silly addNameRange '1.9.2',
12586 silly addNameRange '2.3.8',
12586 silly addNameRange '2.3.9',
12586 silly addNameRange '2.4.0',
12586 silly addNameRange '2.4.1',
12586 silly addNameRange '2.4.2',
12586 silly addNameRange '2.4.3',
12586 silly addNameRange '2.4.4',
12586 silly addNameRange '2.4.5',
12586 silly addNameRange '2.4.6',
12586 silly addNameRange '2.5.0',
12586 silly addNameRange '2.6.0',
12586 silly addNameRange '2.6.1',
12586 silly addNameRange '2.6.2',
12586 silly addNameRange '2.7.0',
12586 silly addNameRange '2.7.1',
12586 silly addNameRange '2.7.2',
12586 silly addNameRange '2.7.3',
12586 silly addNameRange '2.7.4',
12586 silly addNameRange '2.7.5',
12586 silly addNameRange '2.7.6',
12586 silly addNameRange '2.7.7',
12586 silly addNameRange '2.7.8',
12586 silly addNameRange '2.7.9',
12586 silly addNameRange '2.7.10',
12586 silly addNameRange '2.7.11',
12586 silly addNameRange '2.8.0',
12586 silly addNameRange '2.8.1',
12586 silly addNameRange '2.8.2',
12586 silly addNameRange '2.8.3',
12586 silly addNameRange '2.8.4',
12586 silly addNameRange '2.8.5',
12586 silly addNameRange '2.8.6',
12586 silly addNameRange '2.8.7',
12586 silly addNameRange '2.8.8',
12586 silly addNameRange '2.9.0',
12586 silly addNameRange '2.9.1',
12586 silly addNameRange '2.9.2',
12586 silly addNameRange '2.10.0',
12586 silly addNameRange '2.10.1',
12586 silly addNameRange '2.11.0' ] ]
12587 verbose addNamed [ 'connect', '2.8.8' ]
12588 verbose addNamed [ '2.8.8', '2.8.8' ]
12589 silly lockFile 4d29bcdb-connect-2-8-8 connect@2.8.8
12590 verbose lock connect@2.8.8 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\4d29bcdb-connect-2-8-8.lock
12591 silly gunzTarPerm extractEntry package.json
12592 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12593 silly gunzTarPerm extractEntry package.json
12594 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12595 silly gunzTarPerm extractEntry package.json
12596 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12597 silly gunzTarPerm extractEntry package.json
12598 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12599 silly gunzTarPerm extractEntry package.json
12600 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12601 silly gunzTarPerm extractEntry package.json
12602 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12603 silly gunzTarPerm extractEntry package.json
12604 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12605 silly gunzTarPerm extractEntry package.json
12606 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12607 silly gunzTarPerm extractEntry package.json
12608 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12609 silly gunzTarPerm extractEntry package.json
12610 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12611 silly gunzTarPerm extractEntry package.json
12612 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12613 silly gunzTarPerm extractEntry package.json
12614 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12615 silly gunzTarPerm extractEntry package.json
12616 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12617 silly gunzTarPerm extractEntry package.json
12618 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12619 silly gunzTarPerm extractEntry package.json
12620 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12621 silly gunzTarPerm extractEntry .npmignore
12622 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12623 silly gunzTarPerm extractEntry README.md
12624 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12625 silly gunzTarPerm extractEntry README.md
12626 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12627 silly gunzTarPerm extractEntry LICENSE
12628 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12629 silly gunzTarPerm extractEntry README.md
12630 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12631 silly gunzTarPerm extractEntry LICENSE
12632 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12633 silly gunzTarPerm extractEntry .npmignore
12634 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12635 silly gunzTarPerm extractEntry README
12636 silly gunzTarPerm modified mode [ 'README', 438, 420 ]
12637 silly gunzTarPerm extractEntry lib/dateformat.js
12638 silly gunzTarPerm modified mode [ 'lib/dateformat.js', 438, 420 ]
12639 silly gunzTarPerm extractEntry Readme.md
12640 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
12641 silly gunzTarPerm extractEntry colors.js
12642 silly gunzTarPerm modified mode [ 'colors.js', 438, 420 ]
12643 silly gunzTarPerm extractEntry example.js
12644 silly gunzTarPerm modified mode [ 'example.js', 438, 420 ]
12645 silly gunzTarPerm extractEntry README.md
12646 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12647 silly gunzTarPerm extractEntry lodash.js
12648 silly gunzTarPerm modified mode [ 'lodash.js', 438, 420 ]
12649 silly gunzTarPerm extractEntry .npmignore
12650 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12651 silly gunzTarPerm extractEntry README.md
12652 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12653 silly gunzTarPerm extractEntry .npmignore
12654 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12655 silly gunzTarPerm extractEntry README.md
12656 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12657 silly gunzTarPerm extractEntry README.md
12658 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12659 silly gunzTarPerm extractEntry index.js
12660 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
12661 silly gunzTarPerm extractEntry README.md
12662 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12663 silly gunzTarPerm extractEntry child.js
12664 silly gunzTarPerm modified mode [ 'child.js', 438, 420 ]
12665 silly gunzTarPerm extractEntry .npmignore
12666 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12667 silly gunzTarPerm extractEntry README.md
12668 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12669 silly gunzTarPerm extractEntry .npmignore
12670 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
12671 silly gunzTarPerm extractEntry README.md
12672 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12673 silly gunzTarPerm extractEntry README.md
12674 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12675 silly gunzTarPerm extractEntry LICENSE
12676 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12677 silly gunzTarPerm extractEntry .travis.yml
12678 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
12679 silly gunzTarPerm extractEntry dist/underscore.string.min.js
12680 silly gunzTarPerm modified mode [ 'dist/underscore.string.min.js', 438, 420 ]
12681 silly gunzTarPerm extractEntry README.md
12682 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12683 silly gunzTarPerm extractEntry LICENSE
12684 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12685 silly gunzTarPerm extractEntry which.js
12686 silly gunzTarPerm modified mode [ 'which.js', 438, 420 ]
12687 silly gunzTarPerm extractEntry bin/which
12688 silly gunzTarPerm modified mode [ 'bin/which', 438, 420 ]
12689 silly gunzTarPerm extractEntry Gruntfile.js
12690 silly gunzTarPerm modified mode [ 'Gruntfile.js', 438, 420 ]
12691 silly gunzTarPerm extractEntry .jshintrc
12692 silly gunzTarPerm modified mode [ '.jshintrc', 438, 420 ]
12693 silly gunzTarPerm extractEntry test/test_weekofyear.js
12694 silly gunzTarPerm modified mode [ 'test/test_weekofyear.js', 438, 420 ]
12695 silly gunzTarPerm extractEntry test/test_weekofyear.sh
12696 silly gunzTarPerm modified mode [ 'test/test_weekofyear.sh', 438, 420 ]
12697 silly gunzTarPerm extractEntry rimraf.js
12698 silly gunzTarPerm modified mode [ 'rimraf.js', 438, 420 ]
12699 silly gunzTarPerm extractEntry AUTHORS
12700 silly gunzTarPerm modified mode [ 'AUTHORS', 438, 420 ]
12701 silly gunzTarPerm extractEntry test.js
12702 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
12703 silly gunzTarPerm extractEntry example.html
12704 silly gunzTarPerm modified mode [ 'example.html', 438, 420 ]
12705 silly gunzTarPerm extractEntry MIT-LICENSE.txt
12706 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
12707 silly gunzTarPerm extractEntry ReadMe.md
12708 silly gunzTarPerm modified mode [ 'ReadMe.md', 438, 420 ]
12709 silly gunzTarPerm extractEntry themes/winston-dark.js
12710 silly gunzTarPerm modified mode [ 'themes/winston-dark.js', 438, 420 ]
12711 silly gunzTarPerm extractEntry themes/winston-light.js
12712 silly gunzTarPerm modified mode [ 'themes/winston-light.js', 438, 420 ]
12713 silly gunzTarPerm extractEntry LICENSE
12714 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12715 silly gunzTarPerm extractEntry bin/nopt.js
12716 silly gunzTarPerm modified mode [ 'bin/nopt.js', 438, 420 ]
12717 silly gunzTarPerm extractEntry LICENSE
12718 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12719 silly gunzTarPerm extractEntry glob.js
12720 silly gunzTarPerm modified mode [ 'glob.js', 438, 420 ]
12721 http 304 https://registry.npmjs.org/has-color
12722 silly registry.get cb [ 304,
12722 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12722 silly registry.get etag: '"EEGF3RE8RIHU59AVI8LK4YT86"',
12722 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12722 silly registry.get 'content-length': '0' } ]
12723 verbose etag has-color from cache
12724 silly gunzTarPerm extractEntry LICENSE
12725 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12726 silly gunzTarPerm extractEntry LICENSE
12727 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12728 silly gunzTarPerm extractEntry bin/cake
12729 silly gunzTarPerm modified mode [ 'bin/cake', 438, 420 ]
12730 silly gunzTarPerm extractEntry grunt.js
12731 silly gunzTarPerm modified mode [ 'grunt.js', 438, 420 ]
12732 silly gunzTarPerm extractEntry parent.js
12733 silly gunzTarPerm modified mode [ 'parent.js', 438, 420 ]
12734 http 304 https://registry.npmjs.org/ansi-styles
12735 silly registry.get cb [ 304,
12735 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12735 silly registry.get etag: '"DV53A372YNM7ZJC1LX7A2UN7N"',
12735 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12735 silly registry.get 'content-length': '0' } ]
12736 verbose etag ansi-styles from cache
12737 silly gunzTarPerm extractEntry minimatch.js
12738 silly gunzTarPerm modified mode [ 'minimatch.js', 438, 420 ]
12739 silly gunzTarPerm extractEntry test/basic.js
12740 silly gunzTarPerm modified mode [ 'test/basic.js', 438, 420 ]
12741 silly gunzTarPerm extractEntry test/brace-expand.js
12742 silly gunzTarPerm modified mode [ 'test/brace-expand.js', 438, 420 ]
12743 silly gunzTarPerm extractEntry test/caching.js
12744 silly gunzTarPerm modified mode [ 'test/caching.js', 438, 420 ]
12745 silly gunzTarPerm extractEntry test/defaults.js
12746 silly gunzTarPerm modified mode [ 'test/defaults.js', 438, 420 ]
12747 silly gunzTarPerm extractEntry lib/eventemitter2.js
12748 silly gunzTarPerm modified mode [ 'lib/eventemitter2.js', 438, 420 ]
12749 silly lockFile 4d29bcdb-connect-2-8-8 connect@2.8.8
12750 silly lockFile 4d29bcdb-connect-2-8-8 connect@2.8.8
12751 silly gunzTarPerm extractEntry LICENSE
12752 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12753 silly gunzTarPerm extractEntry index.js
12754 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
12755 silly gunzTarPerm extractEntry lodash.min.js
12756 silly gunzTarPerm modified mode [ 'lodash.min.js', 438, 420 ]
12757 silly gunzTarPerm extractEntry Gemfile
12758 silly gunzTarPerm modified mode [ 'Gemfile', 438, 420 ]
12759 silly gunzTarPerm extractEntry Gemfile.lock
12760 silly gunzTarPerm modified mode [ 'Gemfile.lock', 438, 420 ]
12761 silly lockFile 8fa706a3-connect-2-8-4 connect@~2.8.4
12762 silly lockFile 8fa706a3-connect-2-8-4 connect@~2.8.4
12763 silly gunzTarPerm extractEntry index.js
12764 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
12765 silly gunzTarPerm extractEntry bin/js-yaml.js
12766 silly gunzTarPerm modified mode [ 'bin/js-yaml.js', 438, 420 ]
12767 silly resolved [ { name: 'di',
12767 silly resolved version: '0.0.1',
12767 silly resolved description: 'Dependency Injection for Node.js. Heavily inspired by AngularJS.',
12767 silly resolved main: 'lib/index.js',
12767 silly resolved scripts: { test: 'mocha --compilers coffee:coffee-script test/*' },
12767 silly resolved repository: { type: 'git', url: 'git://github.com/vojtajina/node-di.git' },
12767 silly resolved keywords: [ 'di', 'dependency', 'injection', 'injector' ],
12767 silly resolved devDependencies:
12767 silly resolved { grunt: '~0.4.0rc5',
12767 silly resolved 'grunt-simple-mocha': '~0.3.2',
12767 silly resolved 'grunt-contrib-jshint': '~0.1.1rc5',
12767 silly resolved mocha: '1.8.1',
12767 silly resolved chai: '1.4.2',
12767 silly resolved 'coffee-script': '1.4.0' },
12767 silly resolved author: { name: 'Vojta Jina', email: 'vojta.jina@gmail.com' },
12767 silly resolved license: 'MIT',
12767 silly resolved readme: '# Dependency Injection for Node.js\n\nHeavily influenced by [AngularJS] and its implementation of dependency injection.\nInspired by [Guice] and [Pico Container].\n\n[AngularJS]: http://angularjs.org/\n[Pico Container]: http://picocontainer.codehaus.org/\n[Guice]: http://code.google.com/p/google-guice/\n\n<!--\nDifferences compare to Angular:\n- service -> type\n- no config/runtime phase\n- no providers (configuration happens by registering config)\n- no $provide\n- no global module register\n- no array annotations (but annotate helper)\n- no decorators\n- no child injectors (yet)\n- comment annotation (TBD)\n- node module injection (TBD)\n-->\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/vojtajina/node-di/issues' },
12767 silly resolved homepage: 'https://github.com/vojtajina/node-di',
12767 silly resolved _id: 'di@0.0.1',
12767 silly resolved _from: 'di@~0.0.1' },
12767 silly resolved { name: 'socket.io',
12767 silly resolved version: '0.9.16',
12767 silly resolved description: 'Real-time apps made cross-browser & easy with a WebSocket-like API',
12767 silly resolved homepage: 'http://socket.io',
12767 silly resolved keywords: [ 'websocket', 'socket', 'realtime', 'socket.io', 'comet', 'ajax' ],
12767 silly resolved author: { name: 'Guillermo Rauch', email: 'guillermo@learnboost.com' },
12767 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
12767 silly resolved repository:
12767 silly resolved { type: 'git',
12767 silly resolved url: 'https://github.com/LearnBoost/socket.io.git' },
12767 silly resolved dependencies:
12767 silly resolved { 'socket.io-client': '0.9.16',
12767 silly resolved policyfile: '0.0.4',
12767 silly resolved base64id: '0.1.0',
12767 silly resolved redis: '0.7.3' },
12767 silly resolved devDependencies:
12767 silly resolved { expresso: '0.9.2',
12767 silly resolved should: '*',
12767 silly resolved benchmark: '0.2.2',
12767 silly resolved microtime: '0.1.3-1',
12767 silly resolved colors: '0.5.1' },
12767 silly resolved optionalDependencies: { redis: '0.7.3' },
12767 silly resolved main: 'index',
12767 silly resolved engines: { node: '>= 0.4.0' },
12767 silly resolved scripts: { test: 'make test' },
12767 silly resolved readme: '# Socket.IO\n\nSocket.IO is a Node.JS project that makes WebSockets and realtime possible in\nall browsers. It also enhances WebSockets by providing built-in multiplexing,\nhorizontal scalability, automatic JSON encoding/decoding, and more.\n\n## How to Install\n\n```bash\nnpm install socket.io\n```\n\n## How to use\n\nFirst, require `socket.io`:\n\n```js\nvar io = require(\'socket.io\');\n```\n\nNext, attach it to a HTTP/HTTPS server. If you\'re using the fantastic `express`\nweb framework:\n\n#### Express 3.x\n\n```js\nvar app = express()\n , server = require(\'http\').createServer(app)\n , io = io.listen(server);\n\nserver.listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.emit(\'news\', { hello: \'world\' });\n socket.on(\'my other event\', function (data) {\n console.log(data);\n });\n});\n```\n\n#### Express 2.x\n\n```js\nvar app = express.createServer()\n , io = io.listen(app);\n\napp.listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.emit(\'news\', { hello: \'world\' });\n socket.on(\'my other event\', function (data) {\n console.log(data);\n });\n});\n```\n\nFinally, load it from the client side code:\n\n```html\n<script src="/socket.io/socket.io.js"></script>\n<script>\n var socket = io.connect(\'http://localhost\');\n socket.on(\'news\', function (data) {\n console.log(data);\n socket.emit(\'my other event\', { my: \'data\' });\n });\n</script>\n```\n\nFor more thorough examples, look at the `examples/` directory.\n\n## Short recipes\n\n### Sending and receiving events.\n\nSocket.IO allows you to emit and receive custom events.\nBesides `connect`, `message` and `disconnect`, you can emit custom events:\n\n```js\n// note, io.listen(<port>) will create a http server for you\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n io.sockets.emit(\'this\', { will: \'be received by everyone\' });\n\n socket.on(\'private message\', function (from, msg) {\n console.log(\'I received a private message by \', from, \' saying \', msg);\n });\n\n socket.on(\'disconnect\', function () {\n io.sockets.emit(\'user disconnected\');\n });\n});\n```\n\n### Storing data associated to a client\n\nSometimes it\'s necessary to store data associated with a client that\'s\nnecessary for the duration of the session.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.on(\'set nickname\', function (name) {\n socket.set(\'nickname\', name, function () { socket.emit(\'ready\'); });\n });\n\n socket.on(\'msg\', function () {\n socket.get(\'nickname\', function (err, name) {\n console.log(\'Chat message by \', name);\n });\n });\n});\n```\n\n#### Client side\n\n```html\n<script>\n var socket = io.connect(\'http://localhost\');\n\n socket.on(\'connect\', function () {\n socket.emit(\'set nickname\', prompt(\'What is your nickname?\'));\n socket.on(\'ready\', function () {\n console.log(\'Connected !\');\n socket.emit(\'msg\', prompt(\'What is your message?\'));\n });\n });\n</script>\n```\n\n### Restricting yourself to a namespace\n\nIf you have control over all the messages and events emitted for a particular\napplication, using the default `/` namespace works.\n\nIf you want to leverage 3rd-party code, or produce code to share with others,\nsocket.io provides a way of namespacing a `socket`.\n\nThis has the benefit of `multiplexing` a single connection. Instead of\nsocket.io using two `WebSocket` connections, it\'ll use one.\n\nThe following example defines a socket that listens on \'/chat\' and one for\n\'/news\':\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nvar chat = io\n .of(\'/chat\')\n .on(\'connection\', function (socket) {\n socket.emit(\'a message\', { that: \'only\', \'/chat\': \'will get\' });\n chat.emit(\'a message\', { everyone: \'in\', \'/chat\': \'will get\' });\n });\n\nvar news = io\n .of(\'/news\');\n .on(\'connection\', function (socket) {\n socket.emit(\'item\', { news: \'item\' });\n });\n```\n\n#### Client side:\n\n```html\n<script>\n var chat = io.connect(\'http://localhost/chat\')\n , news = io.connect(\'http://localhost/news\');\n\n chat.on(\'connect\', function () {\n chat.emit(\'hi!\');\n });\n\n news.on(\'news\', function () {\n news.emit(\'woot\');\n });\n</script>\n```\n\n### Sending volatile messages.\n\nSometimes certain messages can be dropped. Let\'s say you have an app that\nshows realtime tweets for the keyword `bieber`. \n\nIf a certain client is not ready to receive messages (because of network slowness\nor other issues, or because he\'s connected through long polling and is in the\nmiddle of a request-response cycle), if he doesn\'t receive ALL the tweets related\nto bieber your application won\'t suffer.\n\nIn that case, you might want to send those messages as volatile messages.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n var tweets = setInterval(function () {\n getBieberTweet(function (tweet) {\n socket.volatile.emit(\'bieber tweet\', tweet);\n });\n }, 100);\n\n socket.on(\'disconnect\', function () {\n clearInterval(tweets);\n });\n});\n```\n\n#### Client side\n\nIn the client side, messages are received the same way whether they\'re volatile\nor not.\n\n### Getting acknowledgements\n\nSometimes, you might want to get a callback when the client confirmed the message\nreception.\n\nTo do this, simply pass a function as the last parameter of `.send` or `.emit`.\nWhat\'s more, when you use `.emit`, the acknowledgement is done by you, which\nmeans you can also pass data along:\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.on(\'ferret\', function (name, fn) {\n fn(\'woot\');\n });\n});\n```\n\n#### Client side\n\n```html\n<script>\n var socket = io.connect(); // TIP: .connect with no args does auto-discovery\n socket.on(\'connect\', function () { // TIP: you can avoid listening on `connect` and listen on events directly too!\n socket.emit(\'ferret\', \'tobi\', function (data) {\n console.log(data); // data will be \'woot\'\n });\n });\n</script>\n```\n\n### Broadcasting messages\n\nTo broadcast, simply add a `broadcast` flag to `emit` and `send` method calls.\nBroadcasting means sending a message to everyone else except for the socket\nthat starts it.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.broadcast.emit(\'user connected\');\n socket.broadcast.json.send({ a: \'message\' });\n});\n```\n\n### Rooms\n\nSometimes you want to put certain sockets in the same room, so that it\'s easy\nto broadcast to all of them together.\n\nThink of this as built-in channels for sockets. Sockets `join` and `leave`\nrooms in each socket.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.join(\'justin bieber fans\');\n socket.broadcast.to(\'justin bieber fans\').emit(\'new fan\');\n io.sockets.in(\'rammstein fans\').emit(\'new non-fan\');\n});\n```\n\n### Using it just as a cross-browser WebSocket\n\nIf you just want the WebSocket semantics, you can do that too.\nSimply leverage `send` and listen on the `message` event:\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.on(\'message\', function () { });\n socket.on(\'disconnect\', function () { });\n});\n```\n\n#### Client side\n\n```html\n<script>\n var socket = io.connect(\'http://localhost/\');\n socket.on(\'connect\', function () {\n socket.send(\'hi\');\n\n socket.on(\'message\', function (msg) {\n // my msg\n });\n });\n</script>\n```\n\n### Changing configuration\n\nConfiguration in socket.io is TJ-style:\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.configure(function () {\n io.set(\'transports\', [\'websocket\', \'flashsocket\', \'xhr-polling\']);\n});\n\nio.configure(\'development\', function () {\n io.set(\'transports\', [\'websocket\', \'xhr-polling\']);\n io.enable(\'log\');\n});\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 Guillermo Rauch &lt;guillermo@learnboost.com&gt;\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 NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
12767 silly resolved readmeFilename: 'Readme.md',
12767 silly resolved bugs: { url: 'https://github.com/LearnBoost/socket.io/issues' },
12767 silly resolved _id: 'socket.io@0.9.16',
12767 silly resolved _from: 'socket.io@~0.9.13' },
12767 silly resolved { name: 'coffee-script',
12767 silly resolved description: 'Unfancy JavaScript',
12767 silly resolved keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
12767 silly resolved author: { name: 'Jeremy Ashkenas' },
12767 silly resolved version: '1.6.3',
12767 silly resolved licenses: [ [Object] ],
12767 silly resolved engines: { node: '>=0.8.0' },
12767 silly resolved directories: { lib: './lib/coffee-script' },
12767 silly resolved main: './lib/coffee-script/coffee-script',
12767 silly resolved bin: { coffee: './bin/coffee', cake: './bin/cake' },
12767 silly resolved scripts: { test: 'node ./bin/cake test' },
12767 silly resolved homepage: 'http://coffeescript.org',
12767 silly resolved bugs: { url: 'https://github.com/jashkenas/coffee-script/issues' },
12767 silly resolved repository:
12767 silly resolved { type: 'git',
12767 silly resolved url: 'git://github.com/jashkenas/coffee-script.git' },
12767 silly resolved devDependencies: { 'uglify-js': '~2.2', jison: '>=0.2.0' },
12767 silly resolved readme: '\n {\n } } {\n { { } }\n } }{ {\n { }{ } } _____ __ __\n ( }{ }{ { ) / ____| / _|/ _|\n .- { { } { }} -. | | ___ | |_| |_ ___ ___\n ( ( } { } { } } ) | | / _ \\| _| _/ _ \\/ _ \\\n |`-..________ ..-\'| | |___| (_) | | | || __/ __/\n | | \\_____\\___/|_| |_| \\___|\\___|\n | ;--.\n | (__ \\ _____ _ _\n | | ) ) / ____| (_) | |\n | |/ / | (___ ___ _ __ _ _ __ | |_\n | ( / \\___ \\ / __| \'__| | \'_ \\| __|\n | |/ ____) | (__| | | | |_) | |_\n | | |_____/ \\___|_| |_| .__/ \\__|\n `-.._________..-\' | |\n |_|\n\n\n CoffeeScript is a little language that compiles into JavaScript.\n\n Install Node.js, and then the CoffeeScript compiler:\n sudo bin/cake install\n\n Or, if you have the Node Package Manager installed:\n npm install -g coffee-script\n (Leave off the -g if you don\'t wish to install globally.)\n\n Execute a script:\n coffee /path/to/script.coffee\n\n Compile a script:\n coffee -c /path/to/script.coffee\n\n For documentation, usage, and examples, see:\n http://coffeescript.org/\n\n To suggest a feature, report a bug, or general discussion:\n http://github.com/jashkenas/coffee-script/issues/\n\n If you\'d like to chat, drop by #coffeescript on Freenode IRC,\n or on webchat.freenode.net.\n\n The source repository:\n git://github.com/jashkenas/coffee-script.git\n\n All contributors are listed here:\n http://github.com/jashkenas/coffee-script/contributors\n',
12767 silly resolved readmeFilename: 'README',
12767 silly resolved _id: 'coffee-script@1.6.3',
12767 silly resolved _from: 'coffee-script@~1.6' },
12767 silly resolved { name: 'rimraf',
12767 silly resolved version: '2.1.4',
12767 silly resolved main: 'rimraf.js',
12767 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
12767 silly resolved author:
12767 silly resolved { name: 'Isaac Z. Schlueter',
12767 silly resolved email: 'i@izs.me',
12767 silly resolved url: 'http://blog.izs.me/' },
12767 silly resolved license:
12767 silly resolved { type: 'MIT',
12767 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
12767 silly resolved optionalDependencies: { 'graceful-fs': '~1' },
12767 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
12767 silly resolved scripts: { test: 'cd test && bash run.sh' },
12767 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
12767 silly resolved readme: 'A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
12767 silly resolved homepage: 'https://github.com/isaacs/rimraf',
12767 silly resolved dependencies: { 'graceful-fs': '~1' },
12767 silly resolved _id: 'rimraf@2.1.4',
12767 silly resolved _from: 'rimraf@~2.1' },
12767 silly resolved { name: 'optimist',
12767 silly resolved version: '0.3.7',
12767 silly resolved description: 'Light-weight option parsing with an argv hash. No optstrings attached.',
12767 silly resolved main: './index.js',
12767 silly resolved dependencies: { wordwrap: '~0.0.2' },
12767 silly resolved devDependencies: { hashish: '~0.0.4', tap: '~0.4.0' },
12767 silly resolved scripts: { test: 'tap ./test/*.js' },
12767 silly resolved repository:
12767 silly resolved { type: 'git',
12767 silly resolved url: 'http://github.com/substack/node-optimist.git' },
12767 silly resolved keywords:
12767 silly resolved [ 'argument',
12767 silly resolved 'args',
12767 silly resolved 'option',
12767 silly resolved 'parser',
12767 silly resolved 'parsing',
12767 silly resolved 'cli',
12767 silly resolved 'command' ],
12767 silly resolved author:
12767 silly resolved { name: 'James Halliday',
12767 silly resolved email: 'mail@substack.net',
12767 silly resolved url: 'http://substack.net' },
12767 silly resolved license: 'MIT/X11',
12767 silly resolved engine: { node: '>=0.4' },
12767 silly resolved readme: 'optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn\'t have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log(\'Buy more riffiwobbles\');\n}\nelse {\n console.log(\'Sell the xupptumblers\');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one\'s optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There\'s more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require(\'util\');\nvar argv = require(\'optimist\').argv;\n\nif (argv.s) {\n util.print(argv.fr ? \'Le chat dit: \' : \'The cat says: \');\n}\nconsole.log(\n (argv.fr ? \'miaou\' : \'meow\') + (argv.p ? \'.\' : \'\')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ \'moo\' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ \'foo\', \'bar\', \'baz\' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Usage: $0 -x [num] -y [num]\')\n .demand([\'x\',\'y\'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default(\'x\', 10)\n .default(\'y\', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean(\'v\')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ \'bar\', \'baz\', \'foo\' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean([\'x\',\'y\',\'z\'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ \'one\', \'two\', \'three\' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Count the lines in a file.\\nUsage: $0\')\n .demand(\'f\')\n .alias(\'f\', \'file\')\n .describe(\'f\', \'Load a file\')\n .argv\n;\n\nvar fs = require(\'fs\');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on(\'data\', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on(\'end\', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire(\'optimist\').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire(\'optimist\')([ \'-x\', \'1\', \'-y\', \'2\' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire(\'optimist\').parse([ \'-x\', \'1\', \'-y\', \'2\' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn\'t\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require(\'optimist\')\n .options(\'f\', {\n alias : \'file\',\n default : \'/etc/passwd\',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require(\'optimist\')\n .alias(\'f\', \'file\')\n .default(\'f\', \'/etc/passwd\')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won\'t get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ \'-c\', \'3\', \'-d\', \'4\' ],\n \'$0\': \'node ./examples/reflect.js\',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl\'s\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n',
12767 silly resolved readmeFilename: 'readme.markdown',
12767 silly resolved bugs: { url: 'https://github.com/substack/node-optimist/issues' },
12767 silly resolved homepage: 'https://github.com/substack/node-optimist',
12767 silly resolved _id: 'optimist@0.3.7',
12767 silly resolved _from: 'optimist@~0.3.5' },
12767 silly resolved { author:
12767 silly resolved { name: 'Robert Kieffer',
12767 silly resolved email: 'robert@broofa.com',
12767 silly resolved url: 'http://github.com/broofa' },
12767 silly resolved contributors: [ [Object] ],
12767 silly resolved dependencies: {},
12767 silly resolved description: 'A comprehensive library for mime-type mapping',
12767 silly resolved devDependencies: {},
12767 silly resolved keywords: [ 'util', 'mime' ],
12767 silly resolved main: 'mime.js',
12767 silly resolved name: 'mime',
12767 silly resolved repository: { url: 'https://github.com/broofa/node-mime', type: 'git' },
12767 silly resolved version: '1.2.11',
12767 silly resolved readme: '# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last \'/\' or \'.\'). E.g.\n\n var mime = require(\'mime\');\n\n mime.lookup(\'/path/to/file.txt\'); // => \'text/plain\'\n mime.lookup(\'file.txt\'); // => \'text/plain\'\n mime.lookup(\'.TXT\'); // => \'text/plain\'\n mime.lookup(\'htm\'); // => \'text/html\'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n mime.extension(\'text/html\'); // => \'html\'\n mime.extension(\'application/octet-stream\'); // => \'bin\'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n mime.charsets.lookup(\'text/plain\'); // => \'UTF-8\'\n\n(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n mime.define({\n \'text/x-some-format\': [\'x-sf\', \'x-sft\', \'x-sfml\'],\n \'application/x-my-type\': [\'x-mt\', \'x-mtt\'],\n // etc ...\n });\n\n mime.lookup(\'x-sft\'); // => \'text/x-some-format\'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n mime.extension(\'text/x-some-format\'); // => \'x-sf\'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache ".types" format file\n\n mime.load(\'./my_project.types\');\n\nThe .types file format is simple - See the `types` dir for examples.\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/broofa/node-mime/issues' },
12767 silly resolved homepage: 'https://github.com/broofa/node-mime',
12767 silly resolved _id: 'mime@1.2.11',
12767 silly resolved _from: 'mime@~1.2',
12767 silly resolved scripts: {} },
12767 silly resolved { name: 'colors',
12767 silly resolved description: 'get colors in your node.js console like what',
12767 silly resolved version: '0.6.0-1',
12767 silly resolved author: { name: 'Marak Squires' },
12767 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
12767 silly resolved engines: { node: '>=0.1.90' },
12767 silly resolved main: 'colors',
12767 silly resolved readme: '# colors.js - get color and style in your node.js console ( and browser ) like what\n\n<img src="http://i.imgur.com/goJdO.png" border = "0"/>\n\n\n## Installation\n\n npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require(\'./colors\');\n\nconsole.log(\'hello\'.green); // outputs green text\nconsole.log(\'i like cake and pies\'.underline.red) // outputs red underlined text\nconsole.log(\'inverse the color\'.inverse); // inverses the color\nconsole.log(\'OMG Rainbows!\'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar require(\'colors\');\n\ncolors.setTheme({\n silly: \'rainbow\',\n input: \'grey\',\n verbose: \'cyan\',\n prompt: \'grey\',\n info: \'green\',\n data: \'grey\',\n help: \'cyan\',\n warn: \'yellow\',\n debug: \'blue\',\n error: \'red\'\n});\n\n// outputs red text\nconsole.log("this is an error".error);\n\n// outputs yellow text\nconsole.log("this is a warning".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej Małecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n',
12767 silly resolved readmeFilename: 'ReadMe.md',
12767 silly resolved bugs: { url: 'https://github.com/Marak/colors.js/issues' },
12767 silly resolved homepage: 'https://github.com/Marak/colors.js',
12767 silly resolved _id: 'colors@0.6.0-1',
12767 silly resolved _from: 'colors@0.6.0-1' },
12767 silly resolved { name: 'chokidar',
12767 silly resolved description: 'A neat wrapper around node.js fs.watch / fs.watchFile.',
12767 silly resolved version: '0.7.1',
12767 silly resolved keywords: [ 'fs', 'watch', 'watchFile', 'watcher', 'file' ],
12767 silly resolved homepage: 'https://github.com/paulmillr/chokidar',
12767 silly resolved author: { name: 'Paul Miller', url: 'http://paulmillr.com' },
12767 silly resolved repository:
12767 silly resolved { type: 'git',
12767 silly resolved url: 'https://github.com/paulmillr/chokidar.git' },
12767 silly resolved bugs: { url: 'http://github.com/paulmillr/chokidar/issues' },
12767 silly resolved licenses: [ [Object] ],
12767 silly resolved main: './lib/index',
12767 silly resolved scripts:
12767 silly resolved { prepublish: 'node setup.js prepublish',
12767 silly resolved postpublish: 'node setup.js postpublish',
12767 silly resolved test: 'node setup.js test',
12767 silly resolved postinstall: 'node setup.js postinstall' },
12767 silly resolved dependencies: {},
12767 silly resolved devDependencies:
12767 silly resolved { mocha: '~1.7.3',
12767 silly resolved chai: '~1.4.0',
12767 silly resolved sinon: '~1.5.2',
12767 silly resolved 'sinon-chai': '2.2.0',
12767 silly resolved 'coffee-script': '~1.6.0' },
12767 silly resolved readme: '# Chokidar\nA neat wrapper around node.js fs.watch / fs.watchFile.\n\n[![NPM](https://nodei.co/npm-dl/chokidar.png)](https://nodei.co/npm/chokidar/)\n\n## Why?\nNode.js `fs.watch`:\n\n* Doesn\'t report filenames on mac.\n* Doesn\'t report events at all when using editors like TextMate2 on mac.\n* Sometimes reports events twice.\n* Has only one non-useful event: `rename`.\n* Has [a lot of other issues](https://github.com/joyent/node/search?q=fs.watch&type=Issues)\n\nNode.js `fs.watchFile`:\n\n* Almost as shitty in event tracking.\n\nChokidar resolves these problems.\n\nIt is used in\n[brunch](http://brunch.io),\n[socketstream](http://www.socketstream.org),\nand [karma](http://karma-runner.github.io)\nand has proven itself in production environments.\n\n## Getting started\nInstall chokidar via node.js package manager:\n\n npm install chokidar\n\nThen just require the package in your code:\n\n```javascript\nvar chokidar = require(\'chokidar\');\n\nvar watcher = chokidar.watch(\'file or dir\', {ignored: /^\\./, persistent: true});\n\nwatcher\n .on(\'add\', function(path) {console.log(\'File\', path, \'has been added\');})\n .on(\'change\', function(path) {console.log(\'File\', path, \'has been changed\');})\n .on(\'unlink\', function(path) {console.log(\'File\', path, \'has been removed\');})\n .on(\'error\', function(error) {console.error(\'Error happened\', error);})\n\n// \'add\' and \'change\' events also receive stat() results as second argument.\n// http://nodejs.org/api/fs.html#fs_class_fs_stats\nwatcher.on(\'change\', function(path, stats) {\n console.log(\'File\', path, \'changed size to\', stats.size);\n});\n\nwatcher.add(\'new-file\');\nwatcher.add([\'new-file-2\', \'new-file-3\']);\n\n// Only needed if watching is persistent.\nwatcher.close();\n```\n\n## API\n* `chokidar.watch(paths, options)`: takes paths to be watched and options:\n * `options.ignored` (regexp or function) files to be ignored.\n This function or regexp is tested against the **whole path**,\n not just filename. If it is a function with two arguments, it gets called\n twice per path - once with a single argument (the path), second time with\n two arguments (the path and the [`fs.Stats`](http://nodejs.org/api/fs.html#fs_class_fs_stats)\n object of that path).\n * `options.persistent` (default: `false`). Indicates whether the process\n should continue to run as long as files are being watched.\n * `options.ignorePermissionErrors` (default: `false`). Indicates\n whether to watch files that don\'t have read permissions.\n * `options.ignoreInitial` (default: `false`). Indicates whether chokidar\n should ignore the initial `add` events or not.\n * `options.interval` (default: `100`). Interval of file system polling.\n * `options.binaryInterval` (default: `300`). Interval of file system \n polling for binary files (see extensions in src/is-binary).\n * `options.usePolling` (default: `true`). Whether to use fs.watchFile \n (backed by polling), or fs.watch. If polling leads to high CPU utilization, \n consider setting this to `false`.\n\n`chokidar.watch()` produces an instance of `FSWatcher`. Methods of `FSWatcher`:\n\n* `.add(file / files)`: Add directories / files for tracking.\nTakes an array of strings (file paths) or just one path.\n* `.on(event, callback)`: Listen for an FS event.\nAvailable events: `add`, `change`, `unlink`, `error`.\nAdditionally `all` is available which gets emitted for every `add`, `change` and `unlink`.\n* `.close()`: Removes all listeners from watched files.\n\n## License\nThe MIT license.\n\nCopyright (c) 2013 Paul Miller (http://paulmillr.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the "Software"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved _id: 'chokidar@0.7.1',
12767 silly resolved _from: 'chokidar@~0.7.0' },
12767 silly resolved { name: 'lodash',
12767 silly resolved version: '1.1.1',
12767 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
12767 silly resolved homepage: 'http://lodash.com',
12767 silly resolved license: 'MIT',
12767 silly resolved main: './dist/lodash.js',
12767 silly resolved keywords:
12767 silly resolved [ 'browser',
12767 silly resolved 'client',
12767 silly resolved 'functional',
12767 silly resolved 'performance',
12767 silly resolved 'server',
12767 silly resolved 'speed',
12767 silly resolved 'util' ],
12767 silly resolved author:
12767 silly resolved { name: 'John-David Dalton',
12767 silly resolved email: 'john.david.dalton@gmail.com',
12767 silly resolved url: 'http://allyoucanleet.com/' },
12767 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
12767 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
12767 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
12767 silly resolved engines: [ 'node', 'rhino' ],
12767 silly resolved jam: { main: './dist/lodash.compat.js' },
12767 silly resolved readme: '# Lo-Dash v1.1.1\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.js) and\n[Production](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.min.js)\n\n* Lo-Dash compatibility builds (for legacy and modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.1.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):<br>\n[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.js),\n[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.min.js),<br>\n[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.compat.js),\n[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.compat.min.js),<br>\n[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.underscore.js), and\n[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.underscore.min.js)\n\n* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Resources\n\nFor more information check out these articles, screencasts, and other videos over Lo-Dash:\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n\n * Videos\n - [Introducing Lo-Dash](https://vimeo.com/44154599)\n - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.createCallback](http://lodash.com/docs#createCallback) to customize how callback arguments are handled and support callback shorthands in mixins\n * [_.findIndex](http://lodash.com/docs#findIndex) and [_.findKey](http://lodash.com/docs#findKey) for finding indexes and keys of collections\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.parseInt](http://lodash.com/docs#parseInt) for consistent cross-environment behavior\n * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding\n * [_.runInContext](http://lodash.com/docs#runInContext) for easier mocking and extended environment support\n * [_.support](http://lodash.com/docs#support) to flag environment features\n * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick),\n [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~25, Firefox 2~19, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.10.1, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS ≥ v0.8.0](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n\n// or as a drop-in replacement for Underscore\nvar _ = require(\'lodash/dist/lodash.underscore\');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS ≤ v0.7.0](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### <sup>v1.1.1</sup>\n\n * Ensured the `underscore` build version of `_.forEach` accepts a `thisArg` argument\n * Updated vendor/tar to work with Node v0.10.x\n\n### <sup>v1.1.0</sup>\n\n * Added `rhino -require` support\n * Added `_.createCallback`, `_findIndex`, `_.findKey`, `_.parseInt`, `_.runInContext`, and `_.support`\n * Added support for `callback` and `thisArg` arguments to `_.flatten`\n * Added CommonJS/Node support to precompiled templates\n * Ensured the `exports` object is not a DOM element\n * Ensured `_.isPlainObject` returns `false` for objects without a `[[Class]]` of “Object”\n * Made `_.cloneDeep`’s `callback` support more closely follow its documentation\n * Made the template precompiler create nonexistent directories of `--output` paths\n * Made `_.object` an alias of `_.zipObject`\n * Optimized method chaining, object iteration, `_.find`, and `_.pluck` (an average of 18% overall better performance)\n * Updated `backbone` build Lo-Dash method dependencies\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5+ precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved _id: 'lodash@1.1.1',
12767 silly resolved _from: 'lodash@~1.1' },
12767 silly resolved { name: 'http-proxy',
12767 silly resolved version: '0.10.3',
12767 silly resolved description: 'A full-featured http reverse proxy for node.js',
12767 silly resolved author: { name: 'Nodejitsu Inc.', email: 'info@nodejitsu.com' },
12767 silly resolved maintainers: [ [Object], [Object] ],
12767 silly resolved repository:
12767 silly resolved { type: 'git',
12767 silly resolved url: 'http://github.com/nodejitsu/node-http-proxy.git' },
12767 silly resolved keywords: [ 'reverse', 'proxy', 'http' ],
12767 silly resolved dependencies:
12767 silly resolved { colors: '0.x.x',
12767 silly resolved optimist: '0.3.x',
12767 silly resolved pkginfo: '0.2.x',
12767 silly resolved utile: '~0.1.7' },
12767 silly resolved devDependencies:
12767 silly resolved { request: '2.14.x',
12767 silly resolved vows: '0.7.x',
12767 silly resolved async: '0.2.x',
12767 silly resolved 'socket.io': '0.9.11',
12767 silly resolved 'socket.io-client': '0.9.11',
12767 silly resolved ws: '0.4.23' },
12767 silly resolved main: './lib/node-http-proxy',
12767 silly resolved bin: { 'node-http-proxy': './bin/node-http-proxy' },
12767 silly resolved scripts:
12767 silly resolved { test: 'npm run-script test-http && npm run-script test-https && npm run-script test-core',
12767 silly resolved 'test-http': 'vows --spec && vows --spec --target=https',
12767 silly resolved 'test-https': 'vows --spec --proxy=https && vows --spec --proxy=https --target=https',
12767 silly resolved 'test-core': 'test/core/run' },
12767 silly resolved engines: { node: '>= 0.6.6' },
12767 silly resolved readme: '# node-http-proxy [![Build Status](https://secure.travis-ci.org/nodejitsu/node-http-proxy.png)](http://travis-ci.org/nodejitsu/node-http-proxy)\n\n<img src="http://i.imgur.com/8fTt9.png" />\n\n## Battle-hardened node.js http proxy\n\n### Features\n\n* Reverse proxies incoming http.ServerRequest streams\n* Can be used as a CommonJS module in node.js\n* Uses event buffering to support application latency in proxied requests\n* Reverse or Forward Proxy based on simple JSON-based configuration\n* Supports [WebSockets][1]\n* Supports [HTTPS][2]\n* Minimal request overhead and latency\n* Full suite of functional tests\n* Battled-hardened through __production usage__ @ [nodejitsu.com][0]\n* Written entirely in Javascript\n* Easy to use API\n\n### When to use node-http-proxy\n\nLet\'s suppose you were running multiple http application servers, but you only wanted to expose one machine to the internet. You could setup node-http-proxy on that one machine and then reverse-proxy the incoming http requests to locally running services which were not exposed to the outside network. \n\n### Installing npm (node package manager)\n\n```\ncurl https://npmjs.org/install.sh | sh\n```\n\n### Installing node-http-proxy\n\n```\nnpm install http-proxy\n```\n\n## Using node-http-proxy\n\nThere are several ways to use node-http-proxy; the library is designed to be flexible so that it can be used by itself, or in conjunction with other node.js libraries / tools:\n\n1. Standalone HTTP Proxy server\n2. Inside of another HTTP server (like Connect)\n3. In conjunction with a Proxy Routing Table\n4. As a forward-proxy with a reverse proxy \n5. From the command-line as a long running process\n6. customized with 3rd party middleware.\n\nIn each of these scenarios node-http-proxy can handle any of these types of requests:\n\n1. HTTP Requests (http://)\n2. HTTPS Requests (https://)\n3. WebSocket Requests (ws://)\n4. Secure WebSocket Requests (wss://)\n\nSee the [examples][3] for more working sample code.\n\n### Setup a basic stand-alone proxy server\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n//\n// Create your proxy server\n//\nhttpProxy.createServer(9000, \'localhost\').listen(8000);\n\n//\n// Create your target server\n//\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied!\' + \'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000);\n```\n\n### Setup a stand-alone proxy server with custom server logic\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n \n//\n// Create a proxy server with custom application logic\n//\nhttpProxy.createServer(function (req, res, proxy) {\n //\n // Put your custom server logic here\n //\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000\n });\n}).listen(8000);\n\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied: \' + req.url +\'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000);\n```\n\n### Setup a stand-alone proxy server with latency (e.g. IO, etc)\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n\n//\n// Create a proxy server with custom application logic\n//\nhttpProxy.createServer(function (req, res, proxy) {\n //\n // Buffer the request so that `data` and `end` events\n // are not lost during async operation(s).\n //\n var buffer = httpProxy.buffer(req);\n \n //\n // Wait for two seconds then respond: this simulates\n // performing async actions before proxying a request\n //\n setTimeout(function () {\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000, \n buffer: buffer\n }); \n }, 2000);\n}).listen(8000);\n\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied: \' + req.url +\'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000);\n```\n\n### Proxy requests within another http server\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n \n//\n// Create a new instance of HttProxy to use in your server\n//\nvar proxy = new httpProxy.RoutingProxy();\n\n//\n// Create a regular http server and proxy its handler\n//\nhttp.createServer(function (req, res) {\n //\n // Put your custom server logic here, then proxy\n //\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000\n });\n}).listen(8001);\n\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied: \' + req.url +\'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000); \n```\n\n### Proxy requests using a ProxyTable\nA Proxy Table is a simple lookup table that maps incoming requests to proxy target locations. Take a look at an example of the options you need to pass to httpProxy.createServer:\n\n``` js\nvar options = {\n router: {\n \'foo.com/baz\': \'127.0.0.1:8001\',\n \'foo.com/buz\': \'127.0.0.1:8002\',\n \'bar.com/buz\': \'127.0.0.1:8003\'\n }\n};\n```\n\nThe above route table will take incoming requests to \'foo.com/baz\' and forward them to \'127.0.0.1:8001\'. Likewise it will take incoming requests to \'foo.com/buz\' and forward them to \'127.0.0.1:8002\'. The routes themselves are later converted to regular expressions to enable more complex matching functionality. We can create a proxy server with these options by using the following code:\n\n``` js\nvar proxyServer = httpProxy.createServer(options);\nproxyServer.listen(80);\n```\n\n### Proxy requests using a \'Hostname Only\' ProxyTable\nAs mentioned in the previous section, all routes passes to the ProxyTable are by default converted to regular expressions that are evaluated at proxy-time. This is good for complex URL rewriting of proxy requests, but less efficient when one simply wants to do pure hostname routing based on the HTTP \'Host\' header. If you are only concerned with hostname routing, you change the lookup used by the internal ProxyTable:\n\n``` js\nvar options = {\n hostnameOnly: true,\n router: {\n \'foo.com\': \'127.0.0.1:8001\',\n \'bar.com\': \'127.0.0.1:8002\'\n }\n}\n```\n\nNotice here that I have not included paths on the individual domains because this is not possible when using only the HTTP \'Host\' header. Care to learn more? See [RFC2616: HTTP/1.1, Section 14.23, "Host"][4].\n\n### Proxy requests using a \'Pathname Only\' ProxyTable\n\nIf you dont care about forwarding to different hosts, you can redirect based on the request path.\n\n``` js\nvar options = {\n pathnameOnly: true,\n router: {\n \'/wiki\': \'127.0.0.1:8001\',\n \'/blog\': \'127.0.0.1:8002\',\n \'/api\': \'127.0.0.1:8003\'\n }\n}\n```\n\nThis comes in handy if you are running separate services or applications on separate paths. Note, using this option disables routing by hostname entirely.\n\n\n### Proxy requests with an additional forward proxy\nSometimes in addition to a reverse proxy, you may want your front-facing server to forward traffic to another location. For example, if you wanted to load test your staging environment. This is possible when using node-http-proxy using similar JSON-based configuration to a proxy table: \n\n``` js\nvar proxyServerWithForwarding = httpProxy.createServer(9000, \'localhost\', {\n forward: {\n port: 9000,\n host: \'staging.com\'\n }\n});\nproxyServerWithForwarding.listen(80);\n```\n\nThe forwarding option can be used in conjunction with the proxy table options by simply including both the \'forward\' and \'router\' properties in the options passed to \'createServer\'.\n\n### Listening for proxy events\nSometimes you want to listen to an event on a proxy. For example, you may want to listen to the \'end\' event, which represents when the proxy has finished proxying a request.\n\n``` js\nvar httpProxy = require(\'http-proxy\');\n\nvar server = httpProxy.createServer(function (req, res, proxy) {\n var buffer = httpProxy.buffer(req);\n\n proxy.proxyRequest(req, res, {\n host: \'127.0.0.1\',\n port: 9000,\n buffer: buffer\n });\n});\n\nserver.proxy.on(\'end\', function () {\n console.log("The request was proxied.");\n});\n\nserver.listen(8000);\n```\n\nIt\'s important to remember not to listen for events on the proxy object in the function passed to `httpProxy.createServer`. Doing so would add a new listener on every request, which would end up being a disaster.\n\n## Using HTTPS\nYou have all the full flexibility of node-http-proxy offers in HTTPS as well as HTTP. The two basic scenarios are: with a stand-alone proxy server or in conjunction with another HTTPS server.\n\n### Proxying to HTTP from HTTPS\nThis is probably the most common use-case for proxying in conjunction with HTTPS. You have some front-facing HTTPS server, but all of your internal traffic is HTTP. In this way, you can reduce the number of servers to which your CA and other important security files are deployed and reduce the computational overhead from HTTPS traffic. \n\nUsing HTTPS in `node-http-proxy` is relatively straight-forward:\n \n``` js\nvar fs = require(\'fs\'),\n http = require(\'http\'),\n https = require(\'https\'),\n httpProxy = require(\'http-proxy\');\n \nvar options = {\n https: {\n key: fs.readFileSync(\'path/to/your/key.pem\', \'utf8\'),\n cert: fs.readFileSync(\'path/to/your/cert.pem\', \'utf8\')\n }\n};\n\n//\n// Create a standalone HTTPS proxy server\n//\nhttpProxy.createServer(8000, \'localhost\', options).listen(8001);\n\n//\n// Create an instance of HttpProxy to use with another HTTPS server\n//\nvar proxy = new httpProxy.HttpProxy({\n target: {\n host: \'localhost\', \n port: 8000\n }\n});\nhttps.createServer(options.https, function (req, res) {\n proxy.proxyRequest(req, res)\n}).listen(8002);\n\n//\n// Create the target HTTPS server for both cases\n//\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'hello https\\n\');\n res.end();\n}).listen(8000);\n```\n\n### Using two certificates\n\nSuppose that your reverse proxy will handle HTTPS traffic for two different domains `fobar.com` and `barbaz.com`.\nIf you need to use two different certificates you can take advantage of [Server Name Indication](http://en.wikipedia.org/wiki/Server_Name_Indication).\n\n``` js\nvar https = require(\'https\'),\n path = require("path"),\n fs = require("fs"),\n crypto = require("crypto");\n\n//\n// generic function to load the credentials context from disk\n//\nfunction getCredentialsContext (cer) {\n return crypto.createCredentials({\n key: fs.readFileSync(path.join(__dirname, \'certs\', cer + \'.key\')),\n cert: fs.readFileSync(path.join(__dirname, \'certs\', cer + \'.crt\'))\n }).context;\n}\n\n//\n// A certificate per domain hash\n//\nvar certs = {\n "fobar.com": getCredentialsContext("foobar"),\n "barbaz.com": getCredentialsContext("barbaz")\n};\n\n//\n// Proxy options\n//\nvar options = {\n https: {\n SNICallback: function (hostname) {\n return certs[hostname];\n },\n cert: myCert,\n key: myKey,\n ca: [myCa]\n },\n hostnameOnly: true,\n router: {\n \'fobar.com\': \'127.0.0.1:8001\',\n \'barbaz.com\': \'127.0.0.1:8002\'\n }\n};\n\n//\n// Create a standalone HTTPS proxy server\n//\nhttpProxy.createServer(options).listen(8001);\n\n//\n// Create the target HTTPS server\n//\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'hello https\\n\');\n res.end();\n}).listen(8000);\n\n```\n\n### Proxying to HTTPS from HTTPS\nProxying from HTTPS to HTTPS is essentially the same as proxying from HTTPS to HTTP, but you must include the `target` option in when calling `httpProxy.createServer` or instantiating a new instance of `HttpProxy`.\n\n``` js\nvar fs = require(\'fs\'),\n https = require(\'https\'),\n httpProxy = require(\'http-proxy\');\n \nvar options = {\n https: {\n key: fs.readFileSync(\'path/to/your/key.pem\', \'utf8\'),\n cert: fs.readFileSync(\'path/to/your/cert.pem\', \'utf8\')\n },\n target: {\n https: true // This could also be an Object with key and cert properties\n }\n};\n\n//\n// Create a standalone HTTPS proxy server\n//\nhttpProxy.createServer(8000, \'localhost\', options).listen(8001);\n\n//\n// Create an instance of HttpProxy to use with another HTTPS server\n//\nvar proxy = new httpProxy.HttpProxy({ \n target: {\n host: \'localhost\', \n port: 8000,\n https: true\n }\n});\n\nhttps.createServer(options.https, function (req, res) {\n proxy.proxyRequest(req, res);\n}).listen(8002);\n\n//\n// Create the target HTTPS server for both cases\n//\nhttps.createServer(options.https, function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'hello https\\n\');\n res.end();\n}).listen(8000);\n```\n## Middleware\n\n`node-http-proxy` now supports connect middleware. Add middleware functions to your createServer call:\n\n``` js\nhttpProxy.createServer(\n require(\'connect-gzip\').gzip(),\n 9000, \'localhost\'\n).listen(8000);\n```\n\nA regular request we receive is to support the modification of html/xml content that is returned in the response from an upstream server. \n\n[Harmon](https://github.com/No9/harmon/) is a stream based middleware plugin that is designed to solve that problem in the most effective way possible. \n\n## Proxying WebSockets\nWebsockets are handled automatically when using `httpProxy.createServer()`, however, if you supply a callback inside the createServer call, you will need to handle the \'upgrade\' proxy event yourself. Here\'s how:\n\n```js\n\nvar options = {\n ....\n};\n\nvar server = httpProxy.createServer(\n callback/middleware, \n options\n);\n\nserver.listen(port, function () { ... });\nserver.on(\'upgrade\', function (req, socket, head) {\n server.proxy.proxyWebSocketRequest(req, socket, head);\n});\n```\n\nIf you would rather not use createServer call, and create the server that proxies yourself, see below:\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n \n//\n// Create an instance of node-http-proxy\n//\nvar proxy = new httpProxy.HttpProxy({\n target: {\n host: \'localhost\',\n port: 8000\n }\n});\n\nvar server = http.createServer(function (req, res) {\n //\n // Proxy normal HTTP requests\n //\n proxy.proxyRequest(req, res);\n});\n\nserver.on(\'upgrade\', function (req, socket, head) {\n //\n // Proxy websocket requests too\n //\n proxy.proxyWebSocketRequest(req, socket, head);\n});\n\nserver.listen(8080);\n```\n\n### with custom server logic\n\n``` js\nvar httpProxy = require(\'http-proxy\')\n\nvar server = httpProxy.createServer(function (req, res, proxy) {\n //\n // Put your custom server logic here\n //\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000\n });\n})\n\nserver.on(\'upgrade\', function (req, socket, head) {\n //\n // Put your custom server logic here\n //\n server.proxy.proxyWebSocketRequest(req, socket, head, {\n host: \'localhost\',\n port: 9000\n });\n});\n\nserver.listen(8080);\n```\n\n### Configuring your Socket limits\n\nBy default, `node-http-proxy` will set a 100 socket limit for all `host:port` proxy targets. You can change this in two ways: \n\n1. By passing the `maxSockets` option to `httpProxy.createServer()`\n2. By calling `httpProxy.setMaxSockets(n)`, where `n` is the number of sockets you with to use. \n\n## POST requests and buffering\n\nexpress.bodyParser will interfere with proxying of POST requests (and other methods that have a request \nbody). With bodyParser active, proxied requests will never send anything to the upstream server, and \nthe original client will just hang. See https://github.com/nodejitsu/node-http-proxy/issues/180 for options.\n\n## Using node-http-proxy from the command line\nWhen you install this package with npm, a node-http-proxy binary will become available to you. Using this binary is easy with some simple options:\n\n``` js\nusage: node-http-proxy [options] \n\nAll options should be set with the syntax --option=value\n\noptions:\n --port PORT Port that the proxy server should run on\n --target HOST:PORT Location of the server the proxy will target\n --config OUTFILE Location of the configuration file for the proxy server\n --silent Silence the log output from the proxy server\n -h, --help You\'re staring at it\n```\n\n<br/>\n## Why doesn\'t node-http-proxy have more advanced features like x, y, or z?\n\nIf you have a suggestion for a feature currently not supported, feel free to open a [support issue][6]. node-http-proxy is designed to just proxy http requests from one server to another, but we will be soon releasing many other complimentary projects that can be used in conjunction with node-http-proxy.\n\n## Options\n\n### Http Proxy\n\n`createServer()` supports the following options\n\n```javascript\n{\n forward: { // options for forward-proxy\n port: 8000,\n host: \'staging.com\'\n },\n target : { // options for proxy target\n port : 8000, \n host : \'localhost\',\n };\n source : { // additional options for websocket proxying \n host : \'localhost\',\n port : 8000,\n https: true\n },\n enable : {\n xforward: true // enables X-Forwarded-For\n },\n changeOrigin: false, // changes the origin of the host header to the target URL\n timeout: 120000 // override the default 2 minute http socket timeout value in milliseconds\n}\n```\n\n## Run Tests\nThe test suite is designed to fully cover the combinatoric possibilities of HTTP and HTTPS proxying:\n\n1. HTTP --> HTTP\n2. HTTPS --> HTTP\n3. HTTPS --> HTTPS\n4. HTTP --> HTTPS\n\n```\nvows test/*-test.js --spec\nvows test/*-test.js --spec --https\nvows test/*-test.js --spec --https --target=https\nvows test/*-test.js --spec --target=https\n```\n\n<br/>\n### License\n\n(The MIT License)\n\nCopyright (c) 2010 Charlie Robbins, Mikeal Rogers, Fedor Indutny, & Marak Squires\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\n[0]: http://nodejitsu.com\n[1]: https://github.com/nodejitsu/node-http-proxy/blob/master/examples/websocket/websocket-proxy.js\n[2]: https://github.com/nodejitsu/node-http-proxy/blob/master/examples/http/proxy-https-to-http.js\n[3]: https://github.com/nodejitsu/node-http-proxy/tree/master/examples\n[4]: http://www.ietf.org/rfc/rfc2616.txt\n[5]: http://socket.io\n[6]: http://github.com/nodejitsu/node-http-proxy/issues\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/nodejitsu/node-http-proxy/issues' },
12767 silly resolved homepage: 'https://github.com/nodejitsu/node-http-proxy',
12767 silly resolved _id: 'http-proxy@0.10.3',
12767 silly resolved _from: 'http-proxy@~0.10' },
12767 silly resolved { author:
12767 silly resolved { name: 'Isaac Z. Schlueter',
12767 silly resolved email: 'i@izs.me',
12767 silly resolved url: 'http://blog.izs.me' },
12767 silly resolved name: 'graceful-fs',
12767 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
12767 silly resolved version: '1.2.3',
12767 silly resolved repository:
12767 silly resolved { type: 'git',
12767 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
12767 silly resolved main: 'graceful-fs.js',
12767 silly resolved engines: { node: '>=0.4.0' },
12767 silly resolved directories: { test: 'test' },
12767 silly resolved scripts: { test: 'tap test/*.js' },
12767 silly resolved keywords:
12767 silly resolved [ 'fs',
12767 silly resolved 'module',
12767 silly resolved 'reading',
12767 silly resolved 'retry',
12767 silly resolved 'retries',
12767 silly resolved 'queue',
12767 silly resolved 'error',
12767 silly resolved 'errors',
12767 silly resolved 'handling',
12767 silly resolved 'EMFILE',
12767 silly resolved 'EAGAIN',
12767 silly resolved 'EINVAL',
12767 silly resolved 'EPERM',
12767 silly resolved 'EACCESS' ],
12767 silly resolved license: 'BSD',
12767 silly resolved readme: '# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n limits this to 1024. Any further requests to open a file are put in a\n queue until new slots become available. If 1024 turns out to be too\n much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
12767 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
12767 silly resolved _id: 'graceful-fs@1.2.3',
12767 silly resolved _from: 'graceful-fs@~1.2.0' },
12767 silly resolved { author:
12767 silly resolved { name: 'Isaac Z. Schlueter',
12767 silly resolved email: 'i@izs.me',
12767 silly resolved url: 'http://blog.izs.me/' },
12767 silly resolved name: 'glob',
12767 silly resolved description: 'a little globber',
12767 silly resolved version: '3.1.21',
12767 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
12767 silly resolved main: 'glob.js',
12767 silly resolved engines: { node: '*' },
12767 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
12767 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
12767 silly resolved scripts: { test: 'tap test/*.js' },
12767 silly resolved license: 'BSD',
12767 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',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
12767 silly resolved homepage: 'https://github.com/isaacs/node-glob',
12767 silly resolved _id: 'glob@3.1.21',
12767 silly resolved _from: 'glob@~3.1.21' },
12767 silly resolved { author:
12767 silly resolved { name: 'Isaac Z. Schlueter',
12767 silly resolved email: 'i@izs.me',
12767 silly resolved url: 'http://blog.izs.me' },
12767 silly resolved name: 'minimatch',
12767 silly resolved description: 'a glob matcher in javascript',
12767 silly resolved version: '0.2.12',
12767 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
12767 silly resolved main: 'minimatch.js',
12767 silly resolved scripts: { test: 'tap test' },
12767 silly resolved engines: { node: '*' },
12767 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
12767 silly resolved devDependencies: { tap: '' },
12767 silly resolved license:
12767 silly resolved { type: 'MIT',
12767 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
12767 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',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
12767 silly resolved homepage: 'https://github.com/isaacs/minimatch',
12767 silly resolved _id: 'minimatch@0.2.12',
12767 silly resolved _from: 'minimatch@~0.2' },
12767 silly resolved { name: 'log4js',
12767 silly resolved version: '0.6.9',
12767 silly resolved description: 'Port of Log4js to work with node.',
12767 silly resolved keywords: [ 'logging', 'log', 'log4j', 'node' ],
12767 silly resolved main: './lib/log4js',
12767 silly resolved author: { name: 'Gareth Jones', email: 'gareth.jones@sensis.com.au' },
12767 silly resolved repository:
12767 silly resolved { type: 'git',
12767 silly resolved url: 'https://github.com/nomiddlename/log4js-node.git' },
12767 silly resolved bugs: { url: 'http://github.com/nomiddlename/log4js-node/issues' },
12767 silly resolved engines: { node: '>=0.8' },
12767 silly resolved scripts: { test: 'vows' },
12767 silly resolved directories: { test: 'test', lib: 'lib' },
12767 silly resolved dependencies:
12767 silly resolved { async: '0.1.15',
12767 silly resolved semver: '~1.1.4',
12767 silly resolved 'readable-stream': '~1.0.2' },
12767 silly resolved devDependencies:
12767 silly resolved { vows: '0.7.0',
12767 silly resolved 'sandboxed-module': '0.1.3',
12767 silly resolved 'hook.io': '0.8.10',
12767 silly resolved underscore: '1.2.1' },
12767 silly resolved browser: { os: false },
12767 silly resolved readme: '# log4js-node [![Build Status](https://secure.travis-ci.org/nomiddlename/log4js-node.png?branch=master)](http://travis-ci.org/nomiddlename/log4js-node)\n\n\nThis is a conversion of the [log4js](http://log4js.berlios.de/index.html)\nframework to work with [node](http://nodejs.org). I\'ve mainly stripped out the browser-specific code and tidied up some of the javascript. \n\nOut of the box it supports the following features:\n\n* coloured console logging\n* replacement of node\'s console.log functions (optional)\n* file appender, with log rolling based on file size\n* SMTP appender\n* GELF appender\n* hook.io appender\n* multiprocess appender (useful when you\'ve got worker processes)\n* a logger for connect/express servers\n* configurable log message layout/patterns\n* different log levels for different log categories (make some parts of your app log as DEBUG, others only ERRORS, etc.)\n\nNOTE: from log4js 0.5 onwards you\'ll need to explicitly enable replacement of node\'s console.log functions. Do this either by calling `log4js.replaceConsole()` or configuring with an object or json file like this:\n\n```javascript\n{\n appenders: [\n { type: "console" }\n ],\n replaceConsole: true\n}\n```\n\n## installation\n\nnpm install log4js\n\n\n## usage\n\nMinimalist version:\n```javascript\nvar log4js = require(\'log4js\');\nvar logger = log4js.getLogger();\nlogger.debug("Some debug messages");\n```\nBy default, log4js outputs to stdout with the coloured layout (thanks to [masylum](http://github.com/masylum)), so for the above you would see:\n```bash\n[2010-01-17 11:43:37.987] [DEBUG] [default] - Some debug messages\n```\nSee example.js for a full example, but here\'s a snippet (also in fromreadme.js):\n```javascript\nvar log4js = require(\'log4js\'); \n//console log is loaded by default, so you won\'t normally need to do this\n//log4js.loadAppender(\'console\');\nlog4js.loadAppender(\'file\');\n//log4js.addAppender(log4js.appenders.console());\nlog4js.addAppender(log4js.appenders.file(\'logs/cheese.log\'), \'cheese\');\n\nvar logger = log4js.getLogger(\'cheese\');\nlogger.setLevel(\'ERROR\');\n\nlogger.trace(\'Entering cheese testing\');\nlogger.debug(\'Got cheese.\');\nlogger.info(\'Cheese is Gouda.\');\nlogger.warn(\'Cheese is quite smelly.\');\nlogger.error(\'Cheese is too ripe!\');\nlogger.fatal(\'Cheese was breeding ground for listeria.\');\n```\nOutput:\n```bash\n[2010-01-17 11:43:37.987] [ERROR] cheese - Cheese is too ripe!\n[2010-01-17 11:43:37.990] [FATAL] cheese - Cheese was breeding ground for listeria.\n``` \nThe first 5 lines of the code above could also be written as:\n```javascript\nvar log4js = require(\'log4js\');\nlog4js.configure({\n appenders: [\n { type: \'console\' },\n { type: \'file\', filename: \'logs/cheese.log\', category: \'cheese\' }\n ]\n});\n```\n\n## configuration\n\nYou can configure the appenders and log levels manually (as above), or provide a\nconfiguration file (`log4js.configure(\'path/to/file.json\')`), or a configuration object. The \nconfiguration file location may also be specified via the environment variable \nLOG4JS_CONFIG (`export LOG4JS_CONFIG=path/to/file.json`). \nAn example file can be found in `test/log4js.json`. An example config file with log rolling is in `test/with-log-rolling.json`.\nBy default, the configuration file is checked for changes every 60 seconds, and if changed, reloaded. This allows changes to logging levels to occur without restarting the application.\n\nTo turn off configuration file change checking, configure with:\n\n```javascript\nvar log4js = require(\'log4js\');\nlog4js.configure(\'my_log4js_configuration.json\', {});\n```\nTo specify a different period:\n\n```javascript\nlog4js.configure(\'file.json\', { reloadSecs: 300 });\n```\nFor FileAppender you can also pass the path to the log directory as an option where all your log files would be stored.\n\n```javascript\nlog4js.configure(\'my_log4js_configuration.json\', { cwd: \'/absolute/path/to/log/dir\' });\n```\nIf you have already defined an absolute path for one of the FileAppenders in the configuration file, you could add a "absolute": true to the particular FileAppender to override the cwd option passed. Here is an example configuration file:\n```json\n#### my_log4js_configuration.json ####\n{\n "appenders": [\n {\n "type": "file",\n "filename": "relative/path/to/log_file.log",\n "maxLogSize": 20480,\n "backups": 3,\n "category": "relative-logger"\n },\n {\n "type": "file",\n "absolute": true,\n "filename": "/absolute/path/to/log_file.log",\n "maxLogSize": 20480,\n "backups": 10,\n "category": "absolute-logger" \n }\n ]\n}\n``` \nDocumentation for most of the core appenders can be found on the [wiki](https://github.com/nomiddlename/log4js-node/wiki/Appenders), otherwise take a look at the tests and the examples.\n\n## Documentation\nSee the [wiki](https://github.com/nomiddlename/log4js-node/wiki). Improve the [wiki](https://github.com/nomiddlename/log4js-node/wiki), please.\n\n## Contributing\nContributions welcome, but take a look at the [rules](https://github.com/nomiddlename/log4js-node/wiki/Contributing) first.\n\n## License\n\nThe original log4js was distributed under the Apache 2.0 License, and so is this. I\'ve tried to\nkeep the original copyright and author credits in place, except in sections that I have rewritten\nextensively.\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved homepage: 'https://github.com/nomiddlename/log4js-node',
12767 silly resolved _id: 'log4js@0.6.9',
12767 silly resolved _from: 'log4js@~0.6.3' },
12767 silly resolved { name: 'useragent',
12767 silly resolved version: '2.0.7',
12767 silly resolved description: 'Fastest, most accurate & effecient user agent string parser, uses Browserscope\'s research for parsing',
12767 silly resolved author: { name: 'Arnout Kazemier' },
12767 silly resolved main: './index.js',
12767 silly resolved keywords:
12767 silly resolved [ 'agent',
12767 silly resolved 'browser',
12767 silly resolved 'browserscope',
12767 silly resolved 'os',
12767 silly resolved 'parse',
12767 silly resolved 'parser',
12767 silly resolved 'ua',
12767 silly resolved 'ua-parse',
12767 silly resolved 'ua-parser',
12767 silly resolved 'user agent',
12767 silly resolved 'user',
12767 silly resolved 'user-agent',
12767 silly resolved 'useragent',
12767 silly resolved 'version' ],
12767 silly resolved maintainers: [ [Object] ],
12767 silly resolved license:
12767 silly resolved { type: 'MIT',
12767 silly resolved url: 'https://github.com/3rd-Eden/useragent/blob/master/LICENSE' },
12767 silly resolved repository: { type: 'git', url: 'http://github.com/3rd-Eden/useragent.git' },
12767 silly resolved devDependencies:
12767 silly resolved { should: '*',
12767 silly resolved mocha: '*',
12767 silly resolved 'long-stack-traces': '0.1.x',
12767 silly resolved yamlparser: '0.0.x',
12767 silly resolved request: '2.9.x',
12767 silly resolved semver: '1.0.x',
12767 silly resolved 'pre-commit': '0.0.x' },
12767 silly resolved 'pre-commit': [ 'test', 'update' ],
12767 silly resolved scripts:
12767 silly resolved { test: 'mocha $(find test -name \'*.test.js\')',
12767 silly resolved qa: 'mocha --ui exports $(find test -name \'*.qa.js\')',
12767 silly resolved update: 'node ./bin/update.js' },
12767 silly resolved dependencies: { 'lru-cache': '2.2.x' },
12767 silly resolved readme: '# useragent - high performance user agent parser for Node.js\n\nUseragent originated as port of [browserscope.org][browserscope]\'s user agent\nparser project also known as ua-parser. Useragent allows you to parse user agent\nstring with high accuracy by using hand tuned dedicated regular expressions for\nbrowser matching. This database is needed to ensure that every browser is\ncorrectly parsed as every browser vendor implements it\'s own user agent schema.\nThis is why regular user agent parsers have major issues because they will\nmost likely parse out the wrong browser name or confuse the render engine version\nwith the actual version of the browser.\n\n---\n\n### Build status [![BuildStatus](https://secure.travis-ci.org/3rd-Eden/useragent.png?branch=master)](http://travis-ci.org/3rd-Eden/useragent)\n\n---\n\n### High performance\n\nThe module has been developed with a benchmark driven approach. It has a\npre-compiled library that contains all the Regular Expressions and uses deferred\nor on demand parsing for Operating System and device information. All this\nengineering effort has been worth it as [this benchmark shows][benchmark]:\n\n```\nStarting the benchmark, parsing 62 useragent strings per run\n\nExecuted benchmark against node module: "useragent"\nCount (61), Cycles (5), Elapsed (5.559), Hz (1141.3739447904327)\n\nExecuted benchmark against node module: "useragent_parser"\nCount (29), Cycles (3), Elapsed (5.448), Hz (545.6817291171243)\n\nExecuted benchmark against node module: "useragent-parser"\nCount (16), Cycles (4), Elapsed (5.48), Hz (304.5373431830105)\n\nExecuted benchmark against node module: "ua-parser"\nCount (54), Cycles (3), Elapsed (5.512), Hz (1018.7561434659247)\n\nModule: "useragent" is the user agent fastest parser.\n```\n\n---\n\n### Installation\n\nInstallation is done using the Node Package Manager (NPM). If you don\'t have\nNPM installed on your system you can download it from\n[npmjs.org][npm]\n\n```\nnpm install useragent --save\n```\n\nThe `--save` flag tells NPM to automatically add it to your `package.json` file.\n\n---\n\n### API\n\n\nInclude the `useragent` parser in you node.js application:\n\n```js\nvar useragent = require(\'useragent\');\n```\n\nThe `useragent` library allows you do use the automatically installed RegExp\nlibrary or you can fetch it live from the remote servers. So if you are\nparanoid and always want your RegExp library to be up to date to match with\nagent the widest range of `useragent` strings you can do:\n\n```js\nvar useragent = require(\'useragent\');\nuseragent(true);\n```\n\nThis will async load the database from the server and compile it to a proper\nJavaScript supported format. If it fails to compile or load it from the remote\nlocation it will just fall back silently to the shipped version. If you want to\nuse this feature you need to add `yamlparser` and `request` to your package.json\n\n```\nnpm install yamlparser --save\nnpm install request --save\n```\n\n#### useragent.parse(useragent string[, js useragent]);\n\nThis is the actual user agent parser, this is where all the magic is happening.\nThe function accepts 2 arguments, both should be a `string`. The first argument\nshould the user agent string that is known on the server from the\n`req.headers.useragent` header. The other argument is optional and should be\nthe user agent string that you see in the browser, this can be send from the\nbrowser using a xhr request or something like this. This allows you detect if\nthe user is browsing the web using the `Chrome Frame` extension.\n\nThe parser returns a Agent instance, this allows you to output user agent\ninformation in different predefined formats. See the Agent section for more\ninformation.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\n\n// example for parsing both the useragent header and a optional js useragent\nvar agent2 = useragent.parse(req.headers[\'user-agent\'], req.query.jsuseragent);\n```\n\nThe parse method returns a `Agent` instance which contains all details about the\nuser agent. See the Agent section of the API documentation for the available\nmethods.\n\n#### useragent.lookup(useragent string[, js useragent]);\n\nThis provides the same functionality as above, but it caches the user agent\nstring and it\'s parsed result in memory to provide faster lookups in the\nfuture. This can be handy if you expect to parse a lot of user agent strings.\n\nIt uses the same arguments as the `useragent.parse` method and returns exactly\nthe same result, but it\'s just cached.\n\n```js\nvar agent = useragent.lookup(req.headers[\'user-agent\']);\n```\n\nAnd this is a serious performance improvement as shown in this benchmark:\n\n```\nExecuted benchmark against method: "useragent.parse"\nCount (49), Cycles (3), Elapsed (5.534), Hz (947.6844321931629)\n\nExecuted benchmark against method: "useragent.lookup"\nCount (11758), Cycles (3), Elapsed (5.395), Hz (229352.03831239208)\n```\n\n#### useragent.fromJSON(obj);\n\nTransforms the JSON representation of a `Agent` instance back in to a working\n`Agent` instance\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\'])\n , another = useragent.fromJSON(JSON.stringify(agent));\n\nconsole.log(agent == another);\n```\n\n#### useragent.is(useragent string).browsername;\n\nThis api provides you with a quick and dirty browser lookup. The underlying\ncode is usually found on client side scripts so it\'s not the same quality as\nour `useragent.parse` method but it might be needed for legacy reasons.\n\n`useragent.is` returns a object with potential matched browser names\n\n```js\nuseragent.is(req.headers[\'user-agent\']).firefox // true\nuseragent.is(req.headers[\'user-agent\']).safari // false\nvar ua = useragent.is(req.headers[\'user-agent\'])\n\n// the object\n{\n version: \'3\'\n webkit: false\n opera: false\n ie: false\n chrome: false\n safari: false\n mobile_safari: false\n firefox: true\n}\n```\n\n---\n\n### Agents, OperatingSystem and Device instances\n\nMost of the methods mentioned above return a Agent instance. The Agent exposes\nthe parsed out information from the user agent strings. This allows us to\nextend the agent with more methods that do not necessarily need to be in the\ncore agent instance, allowing us to expose a plugin interface for third party\ndevelopers and at the same time create a uniform interface for all versioning.\n\nThe Agent has the following property\n\n- `family` The browser family, or browser name, it defaults to Other.\n- `major` The major version number of the family, it defaults to 0.\n- `minor` The minor version number of the family, it defaults to 0.\n- `patch` The patch version number of the family, it defaults to 0.\n\nIn addition to the properties mentioned above, it also has 2 special properties,\nwhich are:\n\n- `os` OperatingSystem instance\n- `device` Device instance\n\nWhen you access those 2 properties the agent will do on demand parsing of the\nOperating System or/and Device information.\n\nThe OperatingSystem has the same properties as the Agent, for the Device we\ndon\'t have any versioning information available, so only the `family` property is\nset there. If we cannot find the family, they will default to `Other`.\n\nThe following methods are available:\n\n#### Agent.toAgent();\n\nReturns the family and version number concatinated in a nice human readable\nstring.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toAgent(); // \'Chrome 15.0.874\'\n```\n\n#### Agent.toString();\n\nReturns the results of the `Agent.toAgent()` but also adds the parsed operating\nsystem to the string in a human readable format.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toString(); // \'Chrome 15.0.874 / Mac OS X 10.8.1\'\n\n// as it\'s a to string method you can also concat it with another string\n\'your useragent is \' + agent;\n// \'your useragent is Chrome 15.0.874 / Mac OS X 10.8.1\'\n```\n#### Agent.toVersion();\n\nReturns the version of the browser in a human readable string.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toVersion(); // \'15.0.874\'\n```\n\n#### Agent.toJSON();\n\nGenerates a JSON representation of the Agent. By using the `toJSON` method we\nautomatically allow it to be stringified when supplying as to the\n`JSON.stringify` method.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toJSON(); // returns an object\n\nJSON.stringify(agent);\n```\n\n#### OperatingSystem.toString();\n\nGenerates a stringified version of operating system;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.os.toString(); // \'Mac OSX 10.8.1\'\n```\n\n#### OperatingSystem.toVersion();\n\nGenerates a stringified version of operating system\'s version;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.os.toVersion(); // \'10.8.1\'\n```\n\n#### OperatingSystem.toJSON();\n\nGenerates a JSON representation of the OperatingSystem. By using the `toJSON`\nmethod we automatically allow it to be stringified when supplying as to the\n`JSON.stringify` method.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.os.toJSON(); // returns an object\n\nJSON.stringify(agent.os);\n```\n\n#### Device.toString();\n\nGenerates a stringified version of device;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.device.toString(); // \'Asus A100\'\n```\n\n#### Device.toVersion();\n\nGenerates a stringified version of device\'s version;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.device.toVersion(); // \'\' , no version found but could also be \'0.0.0\'\n```\n\n#### Device.toJSON();\n\nGenerates a JSON representation of the Device. By using the `toJSON` method we\nautomatically allow it to be stringified when supplying as to the\n`JSON.stringify` method.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.device.toJSON(); // returns an object\n\nJSON.stringify(agent.device);\n```\n\n### Adding more features to the useragent\n\nAs I wanted to keep the core of the user agent parser as clean and fast as\npossible I decided to move some of the initially planned features to a new\n`plugin` file.\n\nThese extensions to the Agent prototype can be loaded by requiring the\n`useragent/features` file:\n\n```js\nvar useragent = require(\'useragent\');\nrequire(\'useragent/features\');\n```\n\nThe initial release introduces 1 new method, satisfies, which allows you to see\nif the version number of the browser satisfies a certain range. It uses the\nsemver library to do all the range calculations but here is a small summary of\nthe supported range styles:\n\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than.\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`.\n* `~1.2.3` := `>=1.2.3 <1.3.0`.\n* `~1.2` := `>=1.2.0 <2.0.0`.\n* `~1` := `>=1.0.0 <2.0.0`.\n* `1.2.x` := `>=1.2.0 <1.3.0`.\n* `1.x` := `>=1.0.0 <2.0.0`.\n\nAs it requires the `semver` module to function you need to install it\nseperately:\n\n```\nnpm install semver --save\n```\n\n#### Agent.satisfies(\'range style here\');\n\nCheck if the agent matches the supplied range.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.satisfies(\'15.x || >=19.5.0 || 25.0.0 - 17.2.3\'); // true\nagent.satisfies(\'>16.12.0\'); // false\n```\n---\n\n### Migrations\n\nFor small changes between version please review the [changelog][changelog].\n\n#### Upgrading from 1.10 to 2.0.0\n\n- `useragent.fromAgent` has been removed.\n- `agent.toJSON` now returns an Object, use `JSON.stringify(agent)` for the old\n behaviour.\n- `agent.os` is now an `OperatingSystem` instance with version numbers. If you\n still a string only representation do `agent.os.toString()`.\n- `semver` has been removed from the dependencies, so if you are using the\n `require(\'useragent/features\')` you need to add it to your own dependencies\n\n#### Upgrading from 0.1.2 to 1.0.0\n\n- `useragent.browser(ua)` has been renamed to `useragent.is(ua)`.\n- `useragent.parser(ua, jsua)` has been renamed to `useragent.parse(ua, jsua)`.\n- `result.pretty()` has been renamed to `result.toAgent()`.\n- `result.V1` has been renamed to `result.major`.\n- `result.V2` has been renamed to `result.minor`.\n- `result.V3` has been renamed to `result.patch`.\n- `result.prettyOS()` has been removed.\n- `result.match` has been removed.\n\n---\n\n### License\n\nMIT\n\n[browserscope]: http://www.browserscope.org/\n[benchmark]: /3rd-Eden/useragent/blob/master/benchmark/run.js\n[changelog]: /3rd-Eden/useragent/blob/master/CHANGELOG.md\n[npm]: http://npmjs.org\n',
12767 silly resolved readmeFilename: 'README.md',
12767 silly resolved bugs: { url: 'https://github.com/3rd-Eden/useragent/issues' },
12767 silly resolved homepage: 'https://github.com/3rd-Eden/useragent',
12767 silly resolved _id: 'useragent@2.0.7',
12767 silly resolved _from: 'useragent@~2.0.4' },
12767 silly resolved { name: 'connect',
12767 silly resolved version: '2.8.8',
12767 silly resolved description: 'High performance middleware framework',
12767 silly resolved keywords: [ 'framework', 'web', 'middleware', 'connect', 'rack' ],
12767 silly resolved repository: { type: 'git', url: 'git://github.com/senchalabs/connect.git' },
12767 silly resolved author:
12767 silly resolved { name: 'TJ Holowaychuk',
12767 silly resolved email: 'tj@vision-media.ca',
12767 silly resolved url: 'http://tjholowaychuk.com' },
12767 silly resolved dependencies:
12767 silly resolved { qs: '0.6.5',
12767 silly resolved formidable: '1.0.14',
12767 silly resolved 'cookie-signature': '1.0.1',
12767 silly resolved 'buffer-crc32': '0.2.1',
12767 silly resolved cookie: '0.1.0',
12767 silly resolved send: '0.1.4',
12767 silly resolved bytes: '0.2.0',
12767 silly resolved fresh: '0.2.0',
12767 silly resolved pause: '0.0.1',
12767 silly resolved uid2: '0.0.2',
12767 silly resolved debug: '*',
12767 silly resolved methods: '0.0.1' },
12767 silly resolved devDependencies: { should: '*', mocha: '*', jade: '*', dox: '*' },
12767 silly resolved licenses: [ [Object] ],
12767 silly resolved main: 'index',
12767 silly resolved engines: { node: '>= 0.8.0' },
12767 silly resolved scripts: { test: 'make' },
12767 silly resolved readme: '[![build status](https://secure.travis-ci.org/senchalabs/connect.png)](http://travis-ci.org/senchalabs/connect)\n# Connect\n\n Connect is an extensible HTTP server framework for [node](http://nodejs.org), providing high performance "plugins" known as _middleware_.\n\n Connect is bundled with over _20_ commonly used middleware, including\n a logger, session support, cookie parser, and [more](http://senchalabs.github.com/connect). Be sure to view the 2.x [documentation](http://senchalabs.github.com/connect/).\n\n```js\nvar connect = require(\'connect\')\n , http = require(\'http\');\n\nvar app = connect()\n .use(connect.favicon())\n .use(connect.logger(\'dev\'))\n .use(connect.static(\'public\'))\n .use(connect.directory(\'public\'))\n .use(connect.cookieParser())\n .use(connect.session({ secret: \'my secret here\' }))\n .use(function(req, res){\n res.end(\'Hello from Connect!\\n\');\n });\n\nhttp.createServer(app).listen(3000);\n```\n\n## Middleware\n\n - [csrf](http://www.senchalabs.org/connect/csrf.html)\n - [basicAuth](http://www.senchalabs.org/connect/basicAuth.html)\n - [bodyParser](http://www.senchalabs.org/connect/bodyParser.html)\n - [json](http://www.senchalabs.org/connect/json.html)\n - [multipart](http://www.senchalabs.org/connect/multipart.html)\n - [urlencoded](http://www.senchalabs.org/connect/urlencoded.html)\n - [cookieParser](http://www.senchalabs.org/connect/cookieParser.html)\n - [directory](http://www.senchalabs.org/connect/directory.html)\n - [compress](http://www.senchalabs.org/connect/compress.html)\n - [errorHandler](http://www.senchalabs.org/connect/errorHandler.html)\n - [favicon](http://www.senchalabs.org/connect/favicon.html)\n - [limit](http://www.senchalabs.org/connect/limit.html)\n - [logger](http://www.senchalabs.org/connect/logger.html)\n - [methodOverride](http://www.senchalabs.org/connect/methodOverride.html)\n - [query](http://www.senchalabs.org/connect/query.html)\n - [responseTime](http://www.senchalabs.org/connect/responseTime.html)\n - [session](http://www.senchalabs.org/connect/session.html)\n - [static](http://www.senchalabs.org/connect/static.html)\n - [staticCache](http://www.senchalabs.org/connect/staticCache.html)\n - [vhost](http://www.senchalabs.org/connect/vhost.html)\n - [subdomains](http://www.senchalabs.org/connect/subdomains.html)\n - [cookieSession](http://www.senchalabs.org/connect/cookieSession.html)\n\n## Running Tests\n\nfirst:\n\n $ npm install -d\n\nthen:\n\n $ make test\n\n## Authors\n\n Below is the output from [git-summary](http://github.com/visionmedia/git-extras).\n\n\n project: connect\n commits: 2033\n active : 301 days\n files : 171\n authors: \n 1414\tTj Holowaychuk 69.6%\n 298\tvisionmedia 14.7%\n 191\tTim Caswell 9.4%\n 51\tTJ Holowaychuk 2.5%\n 10\tRyan Olds 0.5%\n 8\tAstro 0.4%\n 5\tNathan Rajlich 0.2%\n 5\tJakub Nešetřil 0.2%\n 3\tDaniel Dickison 0.1%\n 3\tDavid Rio Deiros 0.1%\n 3\tAlexander Simmerl 0.1%\n 3\tAndreas Lind Petersen 0.1%\n 2\tAaron Heckmann 0.1%\n 2\tJacques Crocker 0.1%\n 2\tFabian Jakobs 0.1%\n 2\tBrian J Brennan 0.1%\n 2\tAdam Malcontenti-Wilson 0.1%\n 2\tGlen Mailer 0.1%\n 2\tJames Campos 0.1%\n 1\tTrent Mick 0.0%\n 1\tTroy Kruthoff 0.0%\n 1\tWei Zhu 0.0%\n 1\tcomerc 0.0%\n 1\tdarobin 0.0%\n 1\tnateps 0.0%\n 1\tMarco Sanson 0.0%\n 1\tArthur Taylor 0.0%\n 1\tAseem Kishore 0.0%\n 1\tBart Teeuwisse 0.0%\n 1\tCameron Howey 0.0%\n 1\tChad Weider 0.0%\n 1\tCraig Barnes 0.0%\n 1\tEran Hammer-Lahav 0.0%\n 1\tGregory McWhirter 0.0%\n 1\tGuillermo Rauch 0.0%\n 1\tJae Kwon 0.0%\n 1\tJakub Nesetril 0.0%\n 1\tJoshua Peek 0.0%\n 1\tJxck 0.0%\n 1\tAJ ONeal 0.0%\n 1\tMichael Hemesath 0.0%\n 1\tMorten Siebuhr 0.0%\n 1\tSamori Gorse 0.0%\n 1\tTom Jensen 0.0%\n\n## Node Compatibility\n\n Connect `< 1.x` is compatible with node 0.2.x\n\n\n Connect `1.x` is compatible with node 0.4.x\n\n\n Connect (_master_) `2.x` is compatible with node 0.6.x\n\n## CLA\n\n [http://sencha.com/cla](http://sencha.com/cla)\n\n## License\n\nView the [LICENSE](https://github.com/senchalabs/connect/blob/master/LICENSE) file. The [Silk](http://www.famfamfam.com/lab/icons/silk/) icons used by the `directory` middleware created by/copyright of [FAMFAMFAM](http://www.famfamfam.com/).\n',
12767 silly resolved readmeFilename: 'Readme.md',
12767 silly resolved bugs: { url: 'https://github.com/senchalabs/connect/issues' },
12767 silly resolved homepage: 'https://github.com/senchalabs/connect',
12767 silly resolved _id: 'connect@2.8.8',
12767 silly resolved _from: 'connect@~2.8.4' } ]
12768 info install di@0.0.1 into C:\Projects\trainingsservice\node_modules\karma
12769 info install socket.io@0.9.16 into C:\Projects\trainingsservice\node_modules\karma
12770 info install coffee-script@1.6.3 into C:\Projects\trainingsservice\node_modules\karma
12771 info install rimraf@2.1.4 into C:\Projects\trainingsservice\node_modules\karma
12772 info install optimist@0.3.7 into C:\Projects\trainingsservice\node_modules\karma
12773 info install mime@1.2.11 into C:\Projects\trainingsservice\node_modules\karma
12774 info install colors@0.6.0-1 into C:\Projects\trainingsservice\node_modules\karma
12775 info install chokidar@0.7.1 into C:\Projects\trainingsservice\node_modules\karma
12776 info install lodash@1.1.1 into C:\Projects\trainingsservice\node_modules\karma
12777 info install http-proxy@0.10.3 into C:\Projects\trainingsservice\node_modules\karma
12778 info install graceful-fs@1.2.3 into C:\Projects\trainingsservice\node_modules\karma
12779 info install glob@3.1.21 into C:\Projects\trainingsservice\node_modules\karma
12780 info install minimatch@0.2.12 into C:\Projects\trainingsservice\node_modules\karma
12781 info install log4js@0.6.9 into C:\Projects\trainingsservice\node_modules\karma
12782 info install useragent@2.0.7 into C:\Projects\trainingsservice\node_modules\karma
12783 info install connect@2.8.8 into C:\Projects\trainingsservice\node_modules\karma
12784 info installOne di@0.0.1
12785 info installOne socket.io@0.9.16
12786 info installOne coffee-script@1.6.3
12787 info installOne rimraf@2.1.4
12788 info installOne optimist@0.3.7
12789 info installOne mime@1.2.11
12790 info installOne colors@0.6.0-1
12791 info installOne chokidar@0.7.1
12792 info installOne lodash@1.1.1
12793 info installOne http-proxy@0.10.3
12794 info installOne graceful-fs@1.2.3
12795 info installOne glob@3.1.21
12796 info installOne minimatch@0.2.12
12797 info installOne log4js@0.6.9
12798 info installOne useragent@2.0.7
12799 info installOne connect@2.8.8
12800 info C:\Projects\trainingsservice\node_modules\karma\node_modules\di unbuild
12801 info C:\Projects\trainingsservice\node_modules\karma\node_modules\socket.io unbuild
12802 info C:\Projects\trainingsservice\node_modules\karma\node_modules\coffee-script unbuild
12803 info C:\Projects\trainingsservice\node_modules\karma\node_modules\rimraf unbuild
12804 info C:\Projects\trainingsservice\node_modules\karma\node_modules\optimist unbuild
12805 info C:\Projects\trainingsservice\node_modules\karma\node_modules\mime unbuild
12806 info C:\Projects\trainingsservice\node_modules\karma\node_modules\colors unbuild
12807 info C:\Projects\trainingsservice\node_modules\karma\node_modules\chokidar unbuild
12808 info C:\Projects\trainingsservice\node_modules\karma\node_modules\lodash unbuild
12809 info C:\Projects\trainingsservice\node_modules\karma\node_modules\http-proxy unbuild
12810 info C:\Projects\trainingsservice\node_modules\karma\node_modules\graceful-fs unbuild
12811 info C:\Projects\trainingsservice\node_modules\karma\node_modules\glob unbuild
12812 info C:\Projects\trainingsservice\node_modules\karma\node_modules\minimatch unbuild
12813 info C:\Projects\trainingsservice\node_modules\karma\node_modules\log4js unbuild
12814 info C:\Projects\trainingsservice\node_modules\karma\node_modules\useragent unbuild
12815 info C:\Projects\trainingsservice\node_modules\karma\node_modules\connect unbuild
12816 silly gunzTarPerm extractEntry lib/findup-sync.js
12817 silly gunzTarPerm modified mode [ 'lib/findup-sync.js', 438, 420 ]
12818 silly gunzTarPerm extractEntry LICENSE-MIT
12819 silly gunzTarPerm modified mode [ 'LICENSE-MIT', 438, 420 ]
12820 silly gunzTarPerm extractEntry examples/my-program.js
12821 silly gunzTarPerm modified mode [ 'examples/my-program.js', 438, 420 ]
12822 silly gunzTarPerm extractEntry lib/nopt.js
12823 silly gunzTarPerm modified mode [ 'lib/nopt.js', 438, 420 ]
12824 silly addNameRange number 2 { name: 'has-color', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
12825 silly addNameRange versions [ 'has-color', [ '0.1.0', '0.1.1' ] ]
12826 verbose addNamed [ 'has-color', '0.1.1' ]
12827 verbose addNamed [ '0.1.1', '0.1.1' ]
12828 silly lockFile 584439fd-has-color-0-1-1 has-color@0.1.1
12829 verbose lock has-color@0.1.1 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\584439fd-has-color-0-1-1.lock
12830 silly gunzTarPerm extractEntry .travis.yml
12831 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
12832 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\di\0.0.1\package.tgz
12833 silly lockFile 2f7ccd78-de-modules-karma-node-modules-di tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\di
12834 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\di C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2f7ccd78-de-modules-karma-node-modules-di.lock
12835 silly lockFile d9cb831e-g-npm-cache-di-0-0-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\di\0.0.1\package.tgz
12836 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\di\0.0.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d9cb831e-g-npm-cache-di-0-0-1-package-tgz.lock
12837 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz
12838 silly lockFile 3dffc7c4-les-karma-node-modules-socket-io tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\socket.io
12839 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\socket.io C:\Users\lukasz.zak\AppData\Roaming\npm-cache\3dffc7c4-les-karma-node-modules-socket-io.lock
12840 silly lockFile ace6c43c-che-socket-io-0-9-16-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz
12841 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ace6c43c-che-socket-io-0-9-16-package-tgz.lock
12842 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
12843 silly lockFile fabc2db7-karma-node-modules-coffee-script tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\coffee-script
12844 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\coffee-script C:\Users\lukasz.zak\AppData\Roaming\npm-cache\fabc2db7-karma-node-modules-coffee-script.lock
12845 silly lockFile 3d7a4163--coffee-script-1-6-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
12846 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\3d7a4163--coffee-script-1-6-3-package-tgz.lock
12847 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz
12848 silly lockFile 30624f7e-odules-karma-node-modules-rimraf tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\rimraf
12849 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\rimraf C:\Users\lukasz.zak\AppData\Roaming\npm-cache\30624f7e-odules-karma-node-modules-rimraf.lock
12850 silly lockFile 4934e87a-m-cache-rimraf-2-1-4-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz
12851 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\4934e87a-m-cache-rimraf-2-1-4-package-tgz.lock
12852 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz
12853 silly lockFile df646893-ules-karma-node-modules-optimist tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\optimist
12854 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\optimist C:\Users\lukasz.zak\AppData\Roaming\npm-cache\df646893-ules-karma-node-modules-optimist.lock
12855 silly lockFile 36e2ad79-cache-optimist-0-3-7-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz
12856 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\36e2ad79-cache-optimist-0-3-7-package-tgz.lock
12857 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
12858 silly lockFile 48f5db0b--modules-karma-node-modules-mime tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\mime
12859 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\mime C:\Users\lukasz.zak\AppData\Roaming\npm-cache\48f5db0b--modules-karma-node-modules-mime.lock
12860 silly lockFile 2405ac6f-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
12861 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2405ac6f-pm-cache-mime-1-2-11-package-tgz.lock
12862 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz
12863 silly lockFile a272928d-odules-karma-node-modules-colors tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\colors
12864 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\colors C:\Users\lukasz.zak\AppData\Roaming\npm-cache\a272928d-odules-karma-node-modules-colors.lock
12865 silly lockFile 86557b49-cache-colors-0-6-0-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz
12866 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\86557b49-cache-colors-0-6-0-1-package-tgz.lock
12867 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\chokidar\0.7.1\package.tgz
12868 silly lockFile aedc81ac-ules-karma-node-modules-chokidar tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\chokidar
12869 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\chokidar C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aedc81ac-ules-karma-node-modules-chokidar.lock
12870 silly lockFile dfcd849f-cache-chokidar-0-7-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\chokidar\0.7.1\package.tgz
12871 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\chokidar\0.7.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dfcd849f-cache-chokidar-0-7-1-package-tgz.lock
12872 silly addNameRange number 2 { name: 'ansi-styles',
12872 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
12872 silly addNameRange hasData: true }
12873 silly addNameRange versions [ 'ansi-styles', [ '0.1.0', '0.1.1', '0.1.2', '0.2.0' ] ]
12874 verbose addNamed [ 'ansi-styles', '0.2.0' ]
12875 verbose addNamed [ '0.2.0', '0.2.0' ]
12876 silly lockFile f0a78f89-ansi-styles-0-2-0 ansi-styles@0.2.0
12877 verbose lock ansi-styles@0.2.0 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f0a78f89-ansi-styles-0-2-0.lock
12878 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz
12879 silly lockFile 5468ba53-odules-karma-node-modules-lodash tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\lodash
12880 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\lodash C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5468ba53-odules-karma-node-modules-lodash.lock
12881 silly lockFile e1553b88-m-cache-lodash-1-1-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz
12882 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\e1553b88-m-cache-lodash-1-1-1-package-tgz.lock
12883 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz
12884 silly lockFile 550450db-es-karma-node-modules-http-proxy tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\http-proxy
12885 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\http-proxy C:\Users\lukasz.zak\AppData\Roaming\npm-cache\550450db-es-karma-node-modules-http-proxy.lock
12886 silly lockFile eae52445-he-http-proxy-0-10-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz
12887 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\eae52445-he-http-proxy-0-10-3-package-tgz.lock
12888 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz
12889 silly lockFile 20e013b3-s-karma-node-modules-graceful-fs tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\graceful-fs
12890 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\graceful-fs C:\Users\lukasz.zak\AppData\Roaming\npm-cache\20e013b3-s-karma-node-modules-graceful-fs.lock
12891 silly lockFile 6ad049fd-he-graceful-fs-1-2-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz
12892 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\6ad049fd-he-graceful-fs-1-2-3-package-tgz.lock
12893 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12894 silly lockFile ec22af24--modules-karma-node-modules-glob tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\glob
12895 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\glob C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ec22af24--modules-karma-node-modules-glob.lock
12896 silly lockFile 53323008-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
12897 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\53323008-pm-cache-glob-3-1-21-package-tgz.lock
12898 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
12899 silly lockFile ff433736-les-karma-node-modules-minimatch tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\minimatch
12900 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\minimatch C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ff433736-les-karma-node-modules-minimatch.lock
12901 silly lockFile 172eecd9-che-minimatch-0-2-12-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
12902 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\172eecd9-che-minimatch-0-2-12-package-tgz.lock
12903 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz
12904 silly lockFile d52bdc5e-odules-karma-node-modules-log4js tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\log4js
12905 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\log4js C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d52bdc5e-odules-karma-node-modules-log4js.lock
12906 silly lockFile b78898c7-m-cache-log4js-0-6-9-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz
12907 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b78898c7-m-cache-log4js-0-6-9-package-tgz.lock
12908 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz
12909 silly lockFile 640fe7d4-les-karma-node-modules-useragent tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\useragent
12910 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\useragent C:\Users\lukasz.zak\AppData\Roaming\npm-cache\640fe7d4-les-karma-node-modules-useragent.lock
12911 silly lockFile 651fb649-ache-useragent-2-0-7-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz
12912 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\651fb649-ache-useragent-2-0-7-package-tgz.lock
12913 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz
12914 silly lockFile c70ccebc-dules-karma-node-modules-connect tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\connect
12915 verbose lock tar://C:\Projects\trainingsservice\node_modules\karma\node_modules\connect C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c70ccebc-dules-karma-node-modules-connect.lock
12916 silly lockFile b23ab51c--cache-connect-2-8-8-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz
12917 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\b23ab51c--cache-connect-2-8-8-package-tgz.lock
12918 silly gunzTarPerm extractEntry index.js
12919 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
12920 silly gunzTarPerm extractEntry .gitmodules
12921 silly gunzTarPerm modified mode [ '.gitmodules', 438, 420 ]
12922 silly gunzTarPerm extractEntry bin/coffee
12923 silly gunzTarPerm modified mode [ 'bin/coffee', 438, 420 ]
12924 silly gunzTarPerm extractEntry CNAME
12925 silly gunzTarPerm modified mode [ 'CNAME', 438, 420 ]
12926 silly gunzTarPerm extractEntry test/test-async.js
12927 silly gunzTarPerm modified mode [ 'test/test-async.js', 438, 420 ]
12928 silly gunzTarPerm extractEntry test/test-fiber.js
12929 silly gunzTarPerm modified mode [ 'test/test-fiber.js', 438, 420 ]
12930 silly gunzTarPerm extractEntry lib/underscore.string.js
12931 silly gunzTarPerm modified mode [ 'lib/underscore.string.js', 438, 420 ]
12932 silly gunzTarPerm modes [ '755', '644' ]
12933 silly gunzTarPerm extractEntry .travis.yml
12934 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
12935 silly gunzTarPerm extractEntry Rakefile
12936 silly gunzTarPerm modified mode [ 'Rakefile', 438, 420 ]
12937 silly gunzTarPerm modes [ '755', '644' ]
12938 silly gunzTarPerm modes [ '755', '644' ]
12939 silly gunzTarPerm modes [ '755', '644' ]
12940 silly gunzTarPerm modes [ '755', '644' ]
12941 silly gunzTarPerm modes [ '755', '644' ]
12942 silly gunzTarPerm modes [ '755', '644' ]
12943 silly gunzTarPerm modes [ '755', '644' ]
12944 silly gunzTarPerm modes [ '755', '644' ]
12945 silly gunzTarPerm modes [ '755', '644' ]
12946 silly gunzTarPerm modes [ '755', '644' ]
12947 silly gunzTarPerm modes [ '755', '644' ]
12948 silly gunzTarPerm modes [ '755', '644' ]
12949 silly gunzTarPerm modes [ '755', '644' ]
12950 http 304 https://registry.npmjs.org/minimatch
12951 silly registry.get cb [ 304,
12951 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12951 silly registry.get etag: '"433GUXE31BY78MEUH5M7CIXOG"',
12951 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12951 silly registry.get 'content-length': '0' } ]
12952 verbose etag minimatch from cache
12953 silly gunzTarPerm extractEntry package.json
12954 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12955 silly gunzTarPerm extractEntry package.json
12956 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12957 silly gunzTarPerm extractEntry test/findup-sync_test.js
12958 silly gunzTarPerm modified mode [ 'test/findup-sync_test.js', 438, 420 ]
12959 silly gunzTarPerm extractEntry test/fixtures/a/b/bar.txt
12960 silly gunzTarPerm modified mode [ 'test/fixtures/a/b/bar.txt', 438, 420 ]
12961 silly gunzTarPerm extractEntry package.json
12962 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12963 silly gunzTarPerm extractEntry package.json
12964 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12965 silly gunzTarPerm extractEntry package.json
12966 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12967 silly gunzTarPerm extractEntry package.json
12968 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12969 silly gunzTarPerm extractEntry package.json
12970 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12971 silly gunzTarPerm extractEntry package.json
12972 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12973 silly gunzTarPerm extractEntry package.json
12974 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12975 silly gunzTarPerm extractEntry package.json
12976 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12977 silly gunzTarPerm extractEntry package.json
12978 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12979 silly gunzTarPerm extractEntry package.json
12980 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12981 silly gunzTarPerm extractEntry package.json
12982 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12983 silly gunzTarPerm extractEntry package.json
12984 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
12985 http 304 https://registry.npmjs.org/semver
12986 silly registry.get cb [ 304,
12986 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12986 silly registry.get etag: '"1BRH1SB8YF6367PHYJQ39UKTP"',
12986 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
12986 silly registry.get 'content-length': '0' } ]
12987 verbose etag semver from cache
12988 silly gunzTarPerm extractEntry test/test-sync.js
12989 silly gunzTarPerm modified mode [ 'test/test-sync.js', 438, 420 ]
12990 silly gunzTarPerm extractEntry test/run.sh
12991 silly gunzTarPerm modified mode [ 'test/run.sh', 438, 420 ]
12992 silly gunzTarPerm extractEntry README.md
12993 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
12994 silly gunzTarPerm extractEntry LICENSE
12995 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
12996 silly gunzTarPerm extractEntry extras/jsl.conf
12997 silly gunzTarPerm modified mode [ 'extras/jsl.conf', 438, 420 ]
12998 silly gunzTarPerm extractEntry lib/coffee-script/browser.js
12999 silly gunzTarPerm modified mode [ 'lib/coffee-script/browser.js', 438, 420 ]
13000 silly gunzTarPerm extractEntry dist/ba-hooker.js
13001 silly gunzTarPerm modified mode [ 'dist/ba-hooker.js', 438, 420 ]
13002 silly gunzTarPerm extractEntry dist/ba-hooker.min.js
13003 silly gunzTarPerm modified mode [ 'dist/ba-hooker.min.js', 438, 420 ]
13004 silly gunzTarPerm extractEntry lib/hooker.js
13005 silly gunzTarPerm modified mode [ 'lib/hooker.js', 438, 420 ]
13006 silly gunzTarPerm extractEntry LICENSE-MIT
13007 silly gunzTarPerm modified mode [ 'LICENSE-MIT', 438, 420 ]
13008 silly gunzTarPerm extractEntry test/hooker_test.js
13009 silly gunzTarPerm modified mode [ 'test/hooker_test.js', 438, 420 ]
13010 silly lockFile 584439fd-has-color-0-1-1 has-color@0.1.1
13011 silly lockFile 584439fd-has-color-0-1-1 has-color@0.1.1
13012 silly gunzTarPerm extractEntry .npmignore
13013 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13014 silly gunzTarPerm extractEntry LICENSE
13015 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13016 silly gunzTarPerm extractEntry .npmignore
13017 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13018 silly gunzTarPerm extractEntry README
13019 silly gunzTarPerm modified mode [ 'README', 438, 420 ]
13020 silly gunzTarPerm extractEntry README.md
13021 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13022 silly gunzTarPerm extractEntry LICENSE
13023 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13024 silly gunzTarPerm extractEntry LICENSE
13025 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13026 silly gunzTarPerm extractEntry index.js
13027 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
13028 silly gunzTarPerm extractEntry colors.js
13029 silly gunzTarPerm modified mode [ 'colors.js', 438, 420 ]
13030 silly gunzTarPerm extractEntry example.js
13031 silly gunzTarPerm modified mode [ 'example.js', 438, 420 ]
13032 silly gunzTarPerm extractEntry README.md
13033 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13034 silly gunzTarPerm extractEntry LICENSE
13035 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13036 silly gunzTarPerm extractEntry .npmignore
13037 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13038 silly gunzTarPerm extractEntry README.md
13039 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13040 silly gunzTarPerm extractEntry README.md
13041 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13042 silly gunzTarPerm extractEntry dist/lodash.compat.js
13043 silly gunzTarPerm modified mode [ 'dist/lodash.compat.js', 438, 420 ]
13044 silly gunzTarPerm extractEntry .npmignore
13045 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13046 silly gunzTarPerm extractEntry README.md
13047 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13048 silly gunzTarPerm extractEntry .npmignore
13049 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13050 silly gunzTarPerm extractEntry README.md
13051 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13052 silly gunzTarPerm extractEntry .npmignore
13053 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13054 silly gunzTarPerm extractEntry README.md
13055 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13056 silly gunzTarPerm extractEntry .npmignore
13057 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13058 silly gunzTarPerm extractEntry README.md
13059 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13060 silly gunzTarPerm extractEntry .npmignore
13061 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13062 silly gunzTarPerm extractEntry LICENSE
13063 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13064 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
13065 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
13066 silly lockFile f0a78f89-ansi-styles-0-2-0 ansi-styles@0.2.0
13067 silly lockFile f0a78f89-ansi-styles-0-2-0 ansi-styles@0.2.0
13068 silly addNameRange number 2 { name: 'minimatch',
13068 silly addNameRange range: '>=0.2.11-0 <0.3.0-0',
13068 silly addNameRange hasData: true }
13069 silly addNameRange versions [ 'minimatch',
13069 silly addNameRange [ '0.0.1',
13069 silly addNameRange '0.0.2',
13069 silly addNameRange '0.0.4',
13069 silly addNameRange '0.0.5',
13069 silly addNameRange '0.1.1',
13069 silly addNameRange '0.1.2',
13069 silly addNameRange '0.1.3',
13069 silly addNameRange '0.1.4',
13069 silly addNameRange '0.1.5',
13069 silly addNameRange '0.2.0',
13069 silly addNameRange '0.2.2',
13069 silly addNameRange '0.2.3',
13069 silly addNameRange '0.2.4',
13069 silly addNameRange '0.2.5',
13069 silly addNameRange '0.2.6',
13069 silly addNameRange '0.2.7',
13069 silly addNameRange '0.2.8',
13069 silly addNameRange '0.2.9',
13069 silly addNameRange '0.2.10',
13069 silly addNameRange '0.2.11',
13069 silly addNameRange '0.2.12' ] ]
13070 verbose addNamed [ 'minimatch', '0.2.12' ]
13071 verbose addNamed [ '0.2.12', '0.2.12' ]
13072 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
13073 verbose lock minimatch@0.2.12 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\16b89810-minimatch-0-2-12.lock
13074 silly lockFile 847f9987-ansi-styles-0-2-0 ansi-styles@~0.2.0
13075 silly lockFile 847f9987-ansi-styles-0-2-0 ansi-styles@~0.2.0
13076 silly gunzTarPerm extractEntry encodings/big5.js
13077 silly gunzTarPerm modified mode [ 'encodings/big5.js', 438, 420 ]
13078 silly gunzTarPerm extractEntry encodings/gbk.js
13079 silly gunzTarPerm modified mode [ 'encodings/gbk.js', 438, 420 ]
13080 silly resolved [ { name: 'has-color',
13080 silly resolved version: '0.1.1',
13080 silly resolved description: 'Detect whether a terminal supports color',
13080 silly resolved keywords:
13080 silly resolved [ 'color',
13080 silly resolved 'colour',
13080 silly resolved 'colors',
13080 silly resolved 'terminal',
13080 silly resolved 'console',
13080 silly resolved 'cli',
13080 silly resolved 'ansi',
13080 silly resolved 'styles',
13080 silly resolved 'tty',
13080 silly resolved 'rgb',
13080 silly resolved '256',
13080 silly resolved 'shell',
13080 silly resolved 'xterm',
13080 silly resolved 'command-line',
13080 silly resolved 'support',
13080 silly resolved 'capability',
13080 silly resolved 'detect' ],
13080 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
13080 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
13080 silly resolved license: 'MIT',
13080 silly resolved author:
13080 silly resolved { name: 'Sindre Sorhus',
13080 silly resolved email: 'sindresorhus@gmail.com',
13080 silly resolved url: 'http://sindresorhus.com' },
13080 silly resolved files: [ 'has-color.js' ],
13080 silly resolved main: 'has-color',
13080 silly resolved repository:
13080 silly resolved { type: 'git',
13080 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
13080 silly resolved scripts: { test: 'mocha' },
13080 silly resolved devDependencies: { mocha: '~1.12.0' },
13080 silly resolved engines: { node: '>=0.8.0' },
13080 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13080 silly resolved readmeFilename: 'readme.md',
13080 silly resolved _id: 'has-color@0.1.1',
13080 silly resolved _from: 'has-color@~0.1.0' },
13080 silly resolved { name: 'ansi-styles',
13080 silly resolved version: '0.2.0',
13080 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
13080 silly resolved keywords:
13080 silly resolved [ 'ansi',
13080 silly resolved 'styles',
13080 silly resolved 'color',
13080 silly resolved 'colour',
13080 silly resolved 'colors',
13080 silly resolved 'terminal',
13080 silly resolved 'console',
13080 silly resolved 'cli',
13080 silly resolved 'string',
13080 silly resolved 'tty',
13080 silly resolved 'escape',
13080 silly resolved 'formatting',
13080 silly resolved 'rgb',
13080 silly resolved '256',
13080 silly resolved 'shell',
13080 silly resolved 'xterm',
13080 silly resolved 'log',
13080 silly resolved 'logging',
13080 silly resolved 'command-line',
13080 silly resolved 'text' ],
13080 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
13080 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
13080 silly resolved license: 'MIT',
13080 silly resolved author:
13080 silly resolved { name: 'Sindre Sorhus',
13080 silly resolved email: 'sindresorhus@gmail.com',
13080 silly resolved url: 'http://sindresorhus.com' },
13080 silly resolved files: [ 'ansi-styles.js' ],
13080 silly resolved main: 'ansi-styles',
13080 silly resolved repository:
13080 silly resolved { type: 'git',
13080 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
13080 silly resolved scripts: { test: 'mocha' },
13080 silly resolved devDependencies: { mocha: '~1.12.0' },
13080 silly resolved engines: { node: '>=0.8.0' },
13080 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13080 silly resolved readmeFilename: 'readme.md',
13080 silly resolved _id: 'ansi-styles@0.2.0',
13080 silly resolved _from: 'ansi-styles@~0.2.0' } ]
13081 info install has-color@0.1.1 into C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk
13082 info install ansi-styles@0.2.0 into C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk
13083 info installOne has-color@0.1.1
13084 info installOne ansi-styles@0.2.0
13085 silly resolved [ { name: 'has-color',
13085 silly resolved version: '0.1.1',
13085 silly resolved description: 'Detect whether a terminal supports color',
13085 silly resolved keywords:
13085 silly resolved [ 'color',
13085 silly resolved 'colour',
13085 silly resolved 'colors',
13085 silly resolved 'terminal',
13085 silly resolved 'console',
13085 silly resolved 'cli',
13085 silly resolved 'ansi',
13085 silly resolved 'styles',
13085 silly resolved 'tty',
13085 silly resolved 'rgb',
13085 silly resolved '256',
13085 silly resolved 'shell',
13085 silly resolved 'xterm',
13085 silly resolved 'command-line',
13085 silly resolved 'support',
13085 silly resolved 'capability',
13085 silly resolved 'detect' ],
13085 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
13085 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
13085 silly resolved license: 'MIT',
13085 silly resolved author:
13085 silly resolved { name: 'Sindre Sorhus',
13085 silly resolved email: 'sindresorhus@gmail.com',
13085 silly resolved url: 'http://sindresorhus.com' },
13085 silly resolved files: [ 'has-color.js' ],
13085 silly resolved main: 'has-color',
13085 silly resolved repository:
13085 silly resolved { type: 'git',
13085 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
13085 silly resolved scripts: { test: 'mocha' },
13085 silly resolved devDependencies: { mocha: '~1.12.0' },
13085 silly resolved engines: { node: '>=0.8.0' },
13085 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13085 silly resolved readmeFilename: 'readme.md',
13085 silly resolved _id: 'has-color@0.1.1',
13085 silly resolved _from: 'has-color@~0.1.0' },
13085 silly resolved { name: 'ansi-styles',
13085 silly resolved version: '0.2.0',
13085 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
13085 silly resolved keywords:
13085 silly resolved [ 'ansi',
13085 silly resolved 'styles',
13085 silly resolved 'color',
13085 silly resolved 'colour',
13085 silly resolved 'colors',
13085 silly resolved 'terminal',
13085 silly resolved 'console',
13085 silly resolved 'cli',
13085 silly resolved 'string',
13085 silly resolved 'tty',
13085 silly resolved 'escape',
13085 silly resolved 'formatting',
13085 silly resolved 'rgb',
13085 silly resolved '256',
13085 silly resolved 'shell',
13085 silly resolved 'xterm',
13085 silly resolved 'log',
13085 silly resolved 'logging',
13085 silly resolved 'command-line',
13085 silly resolved 'text' ],
13085 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
13085 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
13085 silly resolved license: 'MIT',
13085 silly resolved author:
13085 silly resolved { name: 'Sindre Sorhus',
13085 silly resolved email: 'sindresorhus@gmail.com',
13085 silly resolved url: 'http://sindresorhus.com' },
13085 silly resolved files: [ 'ansi-styles.js' ],
13085 silly resolved main: 'ansi-styles',
13085 silly resolved repository:
13085 silly resolved { type: 'git',
13085 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
13085 silly resolved scripts: { test: 'mocha' },
13085 silly resolved devDependencies: { mocha: '~1.12.0' },
13085 silly resolved engines: { node: '>=0.8.0' },
13085 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13085 silly resolved readmeFilename: 'readme.md',
13085 silly resolved _id: 'ansi-styles@0.2.0',
13085 silly resolved _from: 'ansi-styles@~0.2.0' } ]
13086 info install has-color@0.1.1 into C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk
13087 info install ansi-styles@0.2.0 into C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk
13088 info installOne has-color@0.1.1
13089 info installOne ansi-styles@0.2.0
13090 silly resolved [ { name: 'has-color',
13090 silly resolved version: '0.1.1',
13090 silly resolved description: 'Detect whether a terminal supports color',
13090 silly resolved keywords:
13090 silly resolved [ 'color',
13090 silly resolved 'colour',
13090 silly resolved 'colors',
13090 silly resolved 'terminal',
13090 silly resolved 'console',
13090 silly resolved 'cli',
13090 silly resolved 'ansi',
13090 silly resolved 'styles',
13090 silly resolved 'tty',
13090 silly resolved 'rgb',
13090 silly resolved '256',
13090 silly resolved 'shell',
13090 silly resolved 'xterm',
13090 silly resolved 'command-line',
13090 silly resolved 'support',
13090 silly resolved 'capability',
13090 silly resolved 'detect' ],
13090 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
13090 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
13090 silly resolved license: 'MIT',
13090 silly resolved author:
13090 silly resolved { name: 'Sindre Sorhus',
13090 silly resolved email: 'sindresorhus@gmail.com',
13090 silly resolved url: 'http://sindresorhus.com' },
13090 silly resolved files: [ 'has-color.js' ],
13090 silly resolved main: 'has-color',
13090 silly resolved repository:
13090 silly resolved { type: 'git',
13090 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
13090 silly resolved scripts: { test: 'mocha' },
13090 silly resolved devDependencies: { mocha: '~1.12.0' },
13090 silly resolved engines: { node: '>=0.8.0' },
13090 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13090 silly resolved readmeFilename: 'readme.md',
13090 silly resolved _id: 'has-color@0.1.1',
13090 silly resolved _from: 'has-color@~0.1.0' },
13090 silly resolved { name: 'ansi-styles',
13090 silly resolved version: '0.2.0',
13090 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
13090 silly resolved keywords:
13090 silly resolved [ 'ansi',
13090 silly resolved 'styles',
13090 silly resolved 'color',
13090 silly resolved 'colour',
13090 silly resolved 'colors',
13090 silly resolved 'terminal',
13090 silly resolved 'console',
13090 silly resolved 'cli',
13090 silly resolved 'string',
13090 silly resolved 'tty',
13090 silly resolved 'escape',
13090 silly resolved 'formatting',
13090 silly resolved 'rgb',
13090 silly resolved '256',
13090 silly resolved 'shell',
13090 silly resolved 'xterm',
13090 silly resolved 'log',
13090 silly resolved 'logging',
13090 silly resolved 'command-line',
13090 silly resolved 'text' ],
13090 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
13090 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
13090 silly resolved license: 'MIT',
13090 silly resolved author:
13090 silly resolved { name: 'Sindre Sorhus',
13090 silly resolved email: 'sindresorhus@gmail.com',
13090 silly resolved url: 'http://sindresorhus.com' },
13090 silly resolved files: [ 'ansi-styles.js' ],
13090 silly resolved main: 'ansi-styles',
13090 silly resolved repository:
13090 silly resolved { type: 'git',
13090 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
13090 silly resolved scripts: { test: 'mocha' },
13090 silly resolved devDependencies: { mocha: '~1.12.0' },
13090 silly resolved engines: { node: '>=0.8.0' },
13090 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13090 silly resolved readmeFilename: 'readme.md',
13090 silly resolved _id: 'ansi-styles@0.2.0',
13090 silly resolved _from: 'ansi-styles@~0.2.0' } ]
13091 info install has-color@0.1.1 into C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk
13092 info install ansi-styles@0.2.0 into C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk
13093 info installOne has-color@0.1.1
13094 info installOne ansi-styles@0.2.0
13095 silly resolved [ { name: 'has-color',
13095 silly resolved version: '0.1.1',
13095 silly resolved description: 'Detect whether a terminal supports color',
13095 silly resolved keywords:
13095 silly resolved [ 'color',
13095 silly resolved 'colour',
13095 silly resolved 'colors',
13095 silly resolved 'terminal',
13095 silly resolved 'console',
13095 silly resolved 'cli',
13095 silly resolved 'ansi',
13095 silly resolved 'styles',
13095 silly resolved 'tty',
13095 silly resolved 'rgb',
13095 silly resolved '256',
13095 silly resolved 'shell',
13095 silly resolved 'xterm',
13095 silly resolved 'command-line',
13095 silly resolved 'support',
13095 silly resolved 'capability',
13095 silly resolved 'detect' ],
13095 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
13095 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
13095 silly resolved license: 'MIT',
13095 silly resolved author:
13095 silly resolved { name: 'Sindre Sorhus',
13095 silly resolved email: 'sindresorhus@gmail.com',
13095 silly resolved url: 'http://sindresorhus.com' },
13095 silly resolved files: [ 'has-color.js' ],
13095 silly resolved main: 'has-color',
13095 silly resolved repository:
13095 silly resolved { type: 'git',
13095 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
13095 silly resolved scripts: { test: 'mocha' },
13095 silly resolved devDependencies: { mocha: '~1.12.0' },
13095 silly resolved engines: { node: '>=0.8.0' },
13095 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13095 silly resolved readmeFilename: 'readme.md',
13095 silly resolved _id: 'has-color@0.1.1',
13095 silly resolved _from: 'has-color@~0.1.0' },
13095 silly resolved { name: 'ansi-styles',
13095 silly resolved version: '0.2.0',
13095 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
13095 silly resolved keywords:
13095 silly resolved [ 'ansi',
13095 silly resolved 'styles',
13095 silly resolved 'color',
13095 silly resolved 'colour',
13095 silly resolved 'colors',
13095 silly resolved 'terminal',
13095 silly resolved 'console',
13095 silly resolved 'cli',
13095 silly resolved 'string',
13095 silly resolved 'tty',
13095 silly resolved 'escape',
13095 silly resolved 'formatting',
13095 silly resolved 'rgb',
13095 silly resolved '256',
13095 silly resolved 'shell',
13095 silly resolved 'xterm',
13095 silly resolved 'log',
13095 silly resolved 'logging',
13095 silly resolved 'command-line',
13095 silly resolved 'text' ],
13095 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
13095 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
13095 silly resolved license: 'MIT',
13095 silly resolved author:
13095 silly resolved { name: 'Sindre Sorhus',
13095 silly resolved email: 'sindresorhus@gmail.com',
13095 silly resolved url: 'http://sindresorhus.com' },
13095 silly resolved files: [ 'ansi-styles.js' ],
13095 silly resolved main: 'ansi-styles',
13095 silly resolved repository:
13095 silly resolved { type: 'git',
13095 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
13095 silly resolved scripts: { test: 'mocha' },
13095 silly resolved devDependencies: { mocha: '~1.12.0' },
13095 silly resolved engines: { node: '>=0.8.0' },
13095 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13095 silly resolved readmeFilename: 'readme.md',
13095 silly resolved _id: 'ansi-styles@0.2.0',
13095 silly resolved _from: 'ansi-styles@~0.2.0' } ]
13096 info install has-color@0.1.1 into C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk
13097 info install ansi-styles@0.2.0 into C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk
13098 info installOne has-color@0.1.1
13099 info installOne ansi-styles@0.2.0
13100 silly resolved [ { name: 'has-color',
13100 silly resolved version: '0.1.1',
13100 silly resolved description: 'Detect whether a terminal supports color',
13100 silly resolved keywords:
13100 silly resolved [ 'color',
13100 silly resolved 'colour',
13100 silly resolved 'colors',
13100 silly resolved 'terminal',
13100 silly resolved 'console',
13100 silly resolved 'cli',
13100 silly resolved 'ansi',
13100 silly resolved 'styles',
13100 silly resolved 'tty',
13100 silly resolved 'rgb',
13100 silly resolved '256',
13100 silly resolved 'shell',
13100 silly resolved 'xterm',
13100 silly resolved 'command-line',
13100 silly resolved 'support',
13100 silly resolved 'capability',
13100 silly resolved 'detect' ],
13100 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
13100 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
13100 silly resolved license: 'MIT',
13100 silly resolved author:
13100 silly resolved { name: 'Sindre Sorhus',
13100 silly resolved email: 'sindresorhus@gmail.com',
13100 silly resolved url: 'http://sindresorhus.com' },
13100 silly resolved files: [ 'has-color.js' ],
13100 silly resolved main: 'has-color',
13100 silly resolved repository:
13100 silly resolved { type: 'git',
13100 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
13100 silly resolved scripts: { test: 'mocha' },
13100 silly resolved devDependencies: { mocha: '~1.12.0' },
13100 silly resolved engines: { node: '>=0.8.0' },
13100 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13100 silly resolved readmeFilename: 'readme.md',
13100 silly resolved _id: 'has-color@0.1.1',
13100 silly resolved _from: 'has-color@~0.1.0' },
13100 silly resolved { name: 'ansi-styles',
13100 silly resolved version: '0.2.0',
13100 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
13100 silly resolved keywords:
13100 silly resolved [ 'ansi',
13100 silly resolved 'styles',
13100 silly resolved 'color',
13100 silly resolved 'colour',
13100 silly resolved 'colors',
13100 silly resolved 'terminal',
13100 silly resolved 'console',
13100 silly resolved 'cli',
13100 silly resolved 'string',
13100 silly resolved 'tty',
13100 silly resolved 'escape',
13100 silly resolved 'formatting',
13100 silly resolved 'rgb',
13100 silly resolved '256',
13100 silly resolved 'shell',
13100 silly resolved 'xterm',
13100 silly resolved 'log',
13100 silly resolved 'logging',
13100 silly resolved 'command-line',
13100 silly resolved 'text' ],
13100 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
13100 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
13100 silly resolved license: 'MIT',
13100 silly resolved author:
13100 silly resolved { name: 'Sindre Sorhus',
13100 silly resolved email: 'sindresorhus@gmail.com',
13100 silly resolved url: 'http://sindresorhus.com' },
13100 silly resolved files: [ 'ansi-styles.js' ],
13100 silly resolved main: 'ansi-styles',
13100 silly resolved repository:
13100 silly resolved { type: 'git',
13100 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
13100 silly resolved scripts: { test: 'mocha' },
13100 silly resolved devDependencies: { mocha: '~1.12.0' },
13100 silly resolved engines: { node: '>=0.8.0' },
13100 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
13100 silly resolved readmeFilename: 'readme.md',
13100 silly resolved _id: 'ansi-styles@0.2.0',
13100 silly resolved _from: 'ansi-styles@~0.2.0' } ]
13101 info install has-color@0.1.1 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk
13102 info install ansi-styles@0.2.0 into C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk
13103 info installOne has-color@0.1.1
13104 info installOne ansi-styles@0.2.0
13105 silly gunzTarPerm extractEntry examples/custom_types.js
13106 silly gunzTarPerm modified mode [ 'examples/custom_types.js', 438, 420 ]
13107 silly gunzTarPerm extractEntry examples/dumper.js
13108 silly gunzTarPerm modified mode [ 'examples/dumper.js', 438, 420 ]
13109 silly gunzTarPerm extractEntry examples/sample_document.js
13110 silly gunzTarPerm modified mode [ 'examples/sample_document.js', 438, 420 ]
13111 silly gunzTarPerm extractEntry examples/custom_types.yaml
13112 silly gunzTarPerm modified mode [ 'examples/custom_types.yaml', 438, 420 ]
13113 silly gunzTarPerm extractEntry examples/dumper.json
13114 silly gunzTarPerm modified mode [ 'examples/dumper.json', 438, 420 ]
13115 silly gunzTarPerm extractEntry examples/sample_document.yaml
13116 silly gunzTarPerm modified mode [ 'examples/sample_document.yaml', 438, 420 ]
13117 silly gunzTarPerm extractEntry HISTORY.md
13118 silly gunzTarPerm modified mode [ 'HISTORY.md', 438, 420 ]
13119 silly gunzTarPerm extractEntry lib/js-yaml.js
13120 silly gunzTarPerm modified mode [ 'lib/js-yaml.js', 438, 420 ]
13121 silly gunzTarPerm extractEntry lib/js-yaml/common.js
13122 silly gunzTarPerm modified mode [ 'lib/js-yaml/common.js', 438, 420 ]
13123 silly gunzTarPerm extractEntry lib/js-yaml/dumper.js
13124 silly gunzTarPerm modified mode [ 'lib/js-yaml/dumper.js', 438, 420 ]
13125 silly gunzTarPerm extractEntry lib/js-yaml/exception.js
13126 silly gunzTarPerm modified mode [ 'lib/js-yaml/exception.js', 438, 420 ]
13127 silly gunzTarPerm extractEntry lib/js-yaml/loader.js
13128 silly gunzTarPerm modified mode [ 'lib/js-yaml/loader.js', 438, 420 ]
13129 silly gunzTarPerm extractEntry lib/js-yaml/mark.js
13130 silly gunzTarPerm modified mode [ 'lib/js-yaml/mark.js', 438, 420 ]
13131 silly gunzTarPerm extractEntry lib/js-yaml/require.js
13132 silly gunzTarPerm modified mode [ 'lib/js-yaml/require.js', 438, 420 ]
13133 silly gunzTarPerm extractEntry lib/js-yaml/schema.js
13134 silly gunzTarPerm modified mode [ 'lib/js-yaml/schema.js', 438, 420 ]
13135 silly gunzTarPerm extractEntry lib/js-yaml/type.js
13136 silly gunzTarPerm modified mode [ 'lib/js-yaml/type.js', 438, 420 ]
13137 silly gunzTarPerm extractEntry lib/js-yaml/schema/default.js
13138 silly gunzTarPerm modified mode [ 'lib/js-yaml/schema/default.js', 438, 420 ]
13139 silly gunzTarPerm extractEntry lib/js-yaml/schema/minimal.js
13140 silly gunzTarPerm modified mode [ 'lib/js-yaml/schema/minimal.js', 438, 420 ]
13141 silly gunzTarPerm extractEntry lib/js-yaml/schema/safe.js
13142 silly gunzTarPerm modified mode [ 'lib/js-yaml/schema/safe.js', 438, 420 ]
13143 silly gunzTarPerm extractEntry lib/js-yaml/type/binary.js
13144 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/binary.js', 438, 420 ]
13145 silly gunzTarPerm extractEntry lib/js-yaml/type/int.js
13146 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/int.js', 438, 420 ]
13147 silly gunzTarPerm extractEntry lib/js-yaml/type/str.js
13148 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/str.js', 438, 420 ]
13149 silly gunzTarPerm extractEntry lib/js-yaml/type/map.js
13150 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/map.js', 438, 420 ]
13151 silly gunzTarPerm extractEntry lib/js-yaml/type/float.js
13152 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/float.js', 438, 420 ]
13153 silly gunzTarPerm extractEntry lib/js-yaml/type/bool.js
13154 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/bool.js', 438, 420 ]
13155 silly gunzTarPerm extractEntry lib/js-yaml/type/omap.js
13156 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/omap.js', 438, 420 ]
13157 silly gunzTarPerm extractEntry lib/js-yaml/type/pairs.js
13158 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/pairs.js', 438, 420 ]
13159 silly gunzTarPerm extractEntry lib/js-yaml/type/seq.js
13160 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/seq.js', 438, 420 ]
13161 silly gunzTarPerm extractEntry lib/js-yaml/type/set.js
13162 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/set.js', 438, 420 ]
13163 silly gunzTarPerm extractEntry lib/js-yaml/type/merge.js
13164 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/merge.js', 438, 420 ]
13165 silly gunzTarPerm extractEntry lib/js-yaml/type/timestamp.js
13166 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/timestamp.js', 438, 420 ]
13167 silly gunzTarPerm extractEntry lib/js-yaml/type/null.js
13168 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/null.js', 438, 420 ]
13169 silly gunzTarPerm extractEntry lib/js-yaml/type/js/function.js
13170 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/js/function.js', 438, 420 ]
13171 silly gunzTarPerm extractEntry lib/js-yaml/type/js/regexp.js
13172 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/js/regexp.js', 438, 420 ]
13173 silly gunzTarPerm extractEntry lib/js-yaml/type/js/undefined.js
13174 silly gunzTarPerm modified mode [ 'lib/js-yaml/type/js/undefined.js', 438, 420 ]
13175 http 304 https://registry.npmjs.org/rimraf
13176 silly registry.get cb [ 304,
13176 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13176 silly registry.get etag: '"BO8JLBC2TKAXGJCA5T3URAII3"',
13176 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
13176 silly registry.get 'content-length': '0' } ]
13177 verbose etag rimraf from cache
13178 info C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk\node_modules\has-color unbuild
13179 info C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk\node_modules\ansi-styles unbuild
13180 info C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk\node_modules\has-color unbuild
13181 info C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk\node_modules\ansi-styles unbuild
13182 info C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk\node_modules\has-color unbuild
13183 info C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk\node_modules\ansi-styles unbuild
13184 info C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk\node_modules\has-color unbuild
13185 info C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk\node_modules\ansi-styles unbuild
13186 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk\node_modules\has-color unbuild
13187 info C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk\node_modules\ansi-styles unbuild
13188 silly gunzTarPerm extractEntry lodash.underscore.js
13189 silly gunzTarPerm modified mode [ 'lodash.underscore.js', 438, 420 ]
13190 silly gunzTarPerm extractEntry lodash.underscore.min.js
13191 silly gunzTarPerm modified mode [ 'lodash.underscore.min.js', 438, 420 ]
13192 silly gunzTarPerm extractEntry test/fixtures/a/foo.txt
13193 silly gunzTarPerm modified mode [ 'test/fixtures/a/foo.txt', 438, 420 ]
13194 silly gunzTarPerm extractEntry test/fixtures/a.txt
13195 silly gunzTarPerm modified mode [ 'test/fixtures/a.txt', 438, 420 ]
13196 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
13197 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
13198 silly lockFile 94473efb-minimatch-0-2-11 minimatch@~0.2.11
13199 silly lockFile 94473efb-minimatch-0-2-11 minimatch@~0.2.11
13200 silly addNameRange number 2 { name: 'semver', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
13201 silly addNameRange versions [ 'semver',
13201 silly addNameRange [ '1.0.0',
13201 silly addNameRange '1.0.1',
13201 silly addNameRange '1.0.2',
13201 silly addNameRange '1.0.3',
13201 silly addNameRange '1.0.4',
13201 silly addNameRange '1.0.5',
13201 silly addNameRange '1.0.6',
13201 silly addNameRange '1.0.7',
13201 silly addNameRange '1.0.8',
13201 silly addNameRange '1.0.9',
13201 silly addNameRange '1.0.10',
13201 silly addNameRange '1.0.11',
13201 silly addNameRange '1.0.12',
13201 silly addNameRange '1.0.13',
13201 silly addNameRange '1.0.14',
13201 silly addNameRange '1.1.0',
13201 silly addNameRange '1.1.1',
13201 silly addNameRange '1.1.2',
13201 silly addNameRange '1.1.3',
13201 silly addNameRange '1.1.4',
13201 silly addNameRange '2.0.0-alpha',
13201 silly addNameRange '2.0.0-beta',
13201 silly addNameRange '2.0.1',
13201 silly addNameRange '2.0.2',
13201 silly addNameRange '2.0.3',
13201 silly addNameRange '2.0.4',
13201 silly addNameRange '2.0.5',
13201 silly addNameRange '2.0.6',
13201 silly addNameRange '2.0.7',
13201 silly addNameRange '2.0.8',
13201 silly addNameRange '2.0.9',
13201 silly addNameRange '2.0.10',
13201 silly addNameRange '2.0.11',
13201 silly addNameRange '2.1.0',
13201 silly addNameRange '2.2.0',
13201 silly addNameRange '2.2.1' ] ]
13202 verbose addNamed [ 'semver', '2.0.11' ]
13203 verbose addNamed [ '2.0.11', '2.0.11' ]
13204 silly lockFile f88695e1-semver-2-0-11 semver@2.0.11
13205 verbose lock semver@2.0.11 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f88695e1-semver-2-0-11.lock
13206 silly resolved [ { name: 'lodash',
13206 silly resolved version: '1.0.1',
13206 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
13206 silly resolved homepage: 'http://lodash.com/',
13206 silly resolved license: 'MIT',
13206 silly resolved main: './dist/lodash.js',
13206 silly resolved keywords:
13206 silly resolved [ 'browser',
13206 silly resolved 'client',
13206 silly resolved 'functional',
13206 silly resolved 'performance',
13206 silly resolved 'server',
13206 silly resolved 'speed',
13206 silly resolved 'util' ],
13206 silly resolved author:
13206 silly resolved { name: 'John-David Dalton',
13206 silly resolved email: 'john.david.dalton@gmail.com',
13206 silly resolved url: 'http://allyoucanleet.com/' },
13206 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
13206 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
13206 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
13206 silly resolved engines: [ 'node', 'rhino' ],
13206 silly resolved jam: { main: './dist/lodash.compat.js' },
13206 silly resolved readme: '# Lo-Dash v1.0.1\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.min.js)\n\n* Lo-Dash compatibility builds (for legacy and modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):<br>\n[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.js),\n[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.min.js),<br>\n[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.js),\n[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.min.js),<br>\n[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.js), and\n[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.min.js)\n\n* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Resources\n\nFor more information check out these articles, screencasts, and other videos over Lo-Dash:\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n\n * Videos\n - [Introducing Lo-Dash](https://vimeo.com/44154599)\n - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding\n * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick),\n [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~24, Firefox 1~18, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.20, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n\n// or as a drop-in replacement for Underscore\nvar _ = require(\'lodash/lodash.underscore\');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### <sup>v1.0.1</sup>\n\n * Add support for specifying source map URLs in `-p`/`--source-map` build options\n * Ensured the second argument passed to `_.assign` is not treated as a `callback`\n * Ensured `-p`/`--source-map` build options correctly set the `sourceMappingURL`\n * Made `-p`/`--source-map` build options set source map *“sources”* keys based on the builds performed\n * Made `_.defer` use `setImmediate`, in Node.js, when available\n * Made `_.where` search arrays for values regardless of their index position\n * Removed dead code from `_.template`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
13206 silly resolved readmeFilename: 'README.md',
13206 silly resolved _id: 'lodash@1.0.1',
13206 silly resolved _from: 'lodash@~1.0.1',
13206 silly resolved scripts: {} },
13206 silly resolved { author:
13206 silly resolved { name: 'Isaac Z. Schlueter',
13206 silly resolved email: 'i@izs.me',
13206 silly resolved url: 'http://blog.izs.me/' },
13206 silly resolved name: 'glob',
13206 silly resolved description: 'a little globber',
13206 silly resolved version: '3.1.21',
13206 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
13206 silly resolved main: 'glob.js',
13206 silly resolved engines: { node: '*' },
13206 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
13206 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
13206 silly resolved scripts: { test: 'tap test/*.js' },
13206 silly resolved license: 'BSD',
13206 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',
13206 silly resolved readmeFilename: 'README.md',
13206 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
13206 silly resolved homepage: 'https://github.com/isaacs/node-glob',
13206 silly resolved _id: 'glob@3.1.21',
13206 silly resolved _from: 'glob@~3.1.21' },
13206 silly resolved { author:
13206 silly resolved { name: 'Isaac Z. Schlueter',
13206 silly resolved email: 'i@izs.me',
13206 silly resolved url: 'http://blog.izs.me' },
13206 silly resolved name: 'minimatch',
13206 silly resolved description: 'a glob matcher in javascript',
13206 silly resolved version: '0.2.12',
13206 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
13206 silly resolved main: 'minimatch.js',
13206 silly resolved scripts: { test: 'tap test' },
13206 silly resolved engines: { node: '*' },
13206 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
13206 silly resolved devDependencies: { tap: '' },
13206 silly resolved license:
13206 silly resolved { type: 'MIT',
13206 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
13206 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',
13206 silly resolved readmeFilename: 'README.md',
13206 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
13206 silly resolved homepage: 'https://github.com/isaacs/minimatch',
13206 silly resolved _id: 'minimatch@0.2.12',
13206 silly resolved _from: 'minimatch@~0.2.11' } ]
13207 info install lodash@1.0.1 into C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule
13208 info install glob@3.1.21 into C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule
13209 info install minimatch@0.2.12 into C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule
13210 info installOne lodash@1.0.1
13211 info installOne glob@3.1.21
13212 info installOne minimatch@0.2.12
13213 silly resolved [ { name: 'lodash',
13213 silly resolved version: '1.0.1',
13213 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
13213 silly resolved homepage: 'http://lodash.com/',
13213 silly resolved license: 'MIT',
13213 silly resolved main: './dist/lodash.js',
13213 silly resolved keywords:
13213 silly resolved [ 'browser',
13213 silly resolved 'client',
13213 silly resolved 'functional',
13213 silly resolved 'performance',
13213 silly resolved 'server',
13213 silly resolved 'speed',
13213 silly resolved 'util' ],
13213 silly resolved author:
13213 silly resolved { name: 'John-David Dalton',
13213 silly resolved email: 'john.david.dalton@gmail.com',
13213 silly resolved url: 'http://allyoucanleet.com/' },
13213 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
13213 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
13213 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
13213 silly resolved engines: [ 'node', 'rhino' ],
13213 silly resolved jam: { main: './dist/lodash.compat.js' },
13213 silly resolved readme: '# Lo-Dash v1.0.1\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.min.js)\n\n* Lo-Dash compatibility builds (for legacy and modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):<br>\n[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.js),\n[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.min.js),<br>\n[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.js),\n[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.min.js),<br>\n[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.js), and\n[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.min.js)\n\n* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Resources\n\nFor more information check out these articles, screencasts, and other videos over Lo-Dash:\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n\n * Videos\n - [Introducing Lo-Dash](https://vimeo.com/44154599)\n - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding\n * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick),\n [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~24, Firefox 1~18, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.20, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n\n// or as a drop-in replacement for Underscore\nvar _ = require(\'lodash/lodash.underscore\');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### <sup>v1.0.1</sup>\n\n * Add support for specifying source map URLs in `-p`/`--source-map` build options\n * Ensured the second argument passed to `_.assign` is not treated as a `callback`\n * Ensured `-p`/`--source-map` build options correctly set the `sourceMappingURL`\n * Made `-p`/`--source-map` build options set source map *“sources”* keys based on the builds performed\n * Made `_.defer` use `setImmediate`, in Node.js, when available\n * Made `_.where` search arrays for values regardless of their index position\n * Removed dead code from `_.template`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
13213 silly resolved readmeFilename: 'README.md',
13213 silly resolved _id: 'lodash@1.0.1',
13213 silly resolved _from: 'lodash@~1.0.1',
13213 silly resolved scripts: {} },
13213 silly resolved { author:
13213 silly resolved { name: 'Isaac Z. Schlueter',
13213 silly resolved email: 'i@izs.me',
13213 silly resolved url: 'http://blog.izs.me/' },
13213 silly resolved name: 'glob',
13213 silly resolved description: 'a little globber',
13213 silly resolved version: '3.1.21',
13213 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
13213 silly resolved main: 'glob.js',
13213 silly resolved engines: { node: '*' },
13213 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
13213 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
13213 silly resolved scripts: { test: 'tap test/*.js' },
13213 silly resolved license: 'BSD',
13213 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',
13213 silly resolved readmeFilename: 'README.md',
13213 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
13213 silly resolved homepage: 'https://github.com/isaacs/node-glob',
13213 silly resolved _id: 'glob@3.1.21',
13213 silly resolved _from: 'glob@~3.1.21' },
13213 silly resolved { author:
13213 silly resolved { name: 'Isaac Z. Schlueter',
13213 silly resolved email: 'i@izs.me',
13213 silly resolved url: 'http://blog.izs.me' },
13213 silly resolved name: 'minimatch',
13213 silly resolved description: 'a glob matcher in javascript',
13213 silly resolved version: '0.2.12',
13213 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
13213 silly resolved main: 'minimatch.js',
13213 silly resolved scripts: { test: 'tap test' },
13213 silly resolved engines: { node: '*' },
13213 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
13213 silly resolved devDependencies: { tap: '' },
13213 silly resolved license:
13213 silly resolved { type: 'MIT',
13213 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
13213 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',
13213 silly resolved readmeFilename: 'README.md',
13213 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
13213 silly resolved homepage: 'https://github.com/isaacs/minimatch',
13213 silly resolved _id: 'minimatch@0.2.12',
13213 silly resolved _from: 'minimatch@~0.2.11' } ]
13214 info install lodash@1.0.1 into C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule
13215 info install glob@3.1.21 into C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule
13216 info install minimatch@0.2.12 into C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule
13217 info installOne lodash@1.0.1
13218 info installOne glob@3.1.21
13219 info installOne minimatch@0.2.12
13220 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13221 silly lockFile 01f2a862-les-chalk-node-modules-has-color tar://C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk\node_modules\has-color
13222 verbose lock tar://C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk\node_modules\has-color C:\Users\lukasz.zak\AppData\Roaming\npm-cache\01f2a862-les-chalk-node-modules-has-color.lock
13223 silly lockFile dd026cbd-ache-has-color-0-1-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13224 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dd026cbd-ache-has-color-0-1-1-package-tgz.lock
13225 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13226 silly lockFile e5a0cfc9-s-chalk-node-modules-ansi-styles tar://C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk\node_modules\ansi-styles
13227 verbose lock tar://C:\Projects\trainingsservice\node_modules\time-grunt\node_modules\chalk\node_modules\ansi-styles C:\Users\lukasz.zak\AppData\Roaming\npm-cache\e5a0cfc9-s-chalk-node-modules-ansi-styles.lock
13228 silly lockFile 10e7f8f6-he-ansi-styles-0-2-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13229 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\10e7f8f6-he-ansi-styles-0-2-0-package-tgz.lock
13230 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13231 silly lockFile 19cebe68-les-chalk-node-modules-has-color tar://C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk\node_modules\has-color
13232 verbose lock tar://C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk\node_modules\has-color C:\Users\lukasz.zak\AppData\Roaming\npm-cache\19cebe68-les-chalk-node-modules-has-color.lock
13233 silly lockFile dd026cbd-ache-has-color-0-1-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13234 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dd026cbd-ache-has-color-0-1-1-package-tgz.lock
13235 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13236 silly lockFile 5b738e72-s-chalk-node-modules-ansi-styles tar://C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk\node_modules\ansi-styles
13237 verbose lock tar://C:\Projects\trainingsservice\node_modules\jshint-stylish\node_modules\chalk\node_modules\ansi-styles C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5b738e72-s-chalk-node-modules-ansi-styles.lock
13238 silly lockFile 10e7f8f6-he-ansi-styles-0-2-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13239 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\10e7f8f6-he-ansi-styles-0-2-0-package-tgz.lock
13240 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13241 silly lockFile c89c8c4f-les-chalk-node-modules-has-color tar://C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk\node_modules\has-color
13242 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk\node_modules\has-color C:\Users\lukasz.zak\AppData\Roaming\npm-cache\c89c8c4f-les-chalk-node-modules-has-color.lock
13243 silly lockFile dd026cbd-ache-has-color-0-1-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13244 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dd026cbd-ache-has-color-0-1-1-package-tgz.lock
13245 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13246 silly lockFile ec292940-s-chalk-node-modules-ansi-styles tar://C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk\node_modules\ansi-styles
13247 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-svgmin\node_modules\chalk\node_modules\ansi-styles C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ec292940-s-chalk-node-modules-ansi-styles.lock
13248 silly lockFile 10e7f8f6-he-ansi-styles-0-2-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13249 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\10e7f8f6-he-ansi-styles-0-2-0-package-tgz.lock
13250 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13251 silly lockFile ce57acc0-les-chalk-node-modules-has-color tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk\node_modules\has-color
13252 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk\node_modules\has-color C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ce57acc0-les-chalk-node-modules-has-color.lock
13253 silly lockFile dd026cbd-ache-has-color-0-1-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13254 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dd026cbd-ache-has-color-0-1-1-package-tgz.lock
13255 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13256 silly lockFile bd7d6b12-s-chalk-node-modules-ansi-styles tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk\node_modules\ansi-styles
13257 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-imagemin\node_modules\chalk\node_modules\ansi-styles C:\Users\lukasz.zak\AppData\Roaming\npm-cache\bd7d6b12-s-chalk-node-modules-ansi-styles.lock
13258 silly lockFile 10e7f8f6-he-ansi-styles-0-2-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13259 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\10e7f8f6-he-ansi-styles-0-2-0-package-tgz.lock
13260 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13261 silly lockFile 2e39a801-les-chalk-node-modules-has-color tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk\node_modules\has-color
13262 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk\node_modules\has-color C:\Users\lukasz.zak\AppData\Roaming\npm-cache\2e39a801-les-chalk-node-modules-has-color.lock
13263 silly lockFile dd026cbd-ache-has-color-0-1-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz
13264 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\has-color\0.1.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dd026cbd-ache-has-color-0-1-1-package-tgz.lock
13265 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13266 silly lockFile 876037ea-s-chalk-node-modules-ansi-styles tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk\node_modules\ansi-styles
13267 verbose lock tar://C:\Projects\trainingsservice\node_modules\jpegtran-bin\node_modules\chalk\node_modules\ansi-styles C:\Users\lukasz.zak\AppData\Roaming\npm-cache\876037ea-s-chalk-node-modules-ansi-styles.lock
13268 silly lockFile 10e7f8f6-he-ansi-styles-0-2-0-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz
13269 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ansi-styles\0.2.0\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\10e7f8f6-he-ansi-styles-0-2-0-package-tgz.lock
13270 info C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\lodash unbuild
13271 info C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\glob unbuild
13272 info C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\minimatch unbuild
13273 info C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\lodash unbuild
13274 info C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\glob unbuild
13275 info C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\minimatch unbuild
13276 silly gunzTarPerm extractEntry lib/coffee-script/command.js
13277 silly gunzTarPerm modified mode [ 'lib/coffee-script/command.js', 438, 420 ]
13278 silly gunzTarPerm extractEntry test.js
13279 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
13280 silly gunzTarPerm extractEntry example.html
13281 silly gunzTarPerm modified mode [ 'example.html', 438, 420 ]
13282 silly gunzTarPerm extractEntry lib/annotation.js
13283 silly gunzTarPerm modified mode [ 'lib/annotation.js', 438, 420 ]
13284 silly gunzTarPerm extractEntry lib/index.js
13285 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
13286 silly gunzTarPerm extractEntry rimraf.js
13287 silly gunzTarPerm modified mode [ 'rimraf.js', 438, 420 ]
13288 silly gunzTarPerm extractEntry AUTHORS
13289 silly gunzTarPerm modified mode [ 'AUTHORS', 438, 420 ]
13290 silly gunzTarPerm extractEntry LICENSE
13291 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13292 silly gunzTarPerm extractEntry bin/cake
13293 silly gunzTarPerm modified mode [ 'bin/cake', 438, 420 ]
13294 silly gunzTarPerm extractEntry mime.js
13295 silly gunzTarPerm modified mode [ 'mime.js', 438, 420 ]
13296 silly gunzTarPerm extractEntry test.js
13297 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
13298 silly gunzTarPerm extractEntry .travis.yml
13299 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
13300 silly gunzTarPerm extractEntry setup.js
13301 silly gunzTarPerm modified mode [ 'setup.js', 438, 420 ]
13302 silly gunzTarPerm extractEntry CHANGELOG.md
13303 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 438, 420 ]
13304 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
13305 silly gunzTarPerm modified mode [ 'dist/lodash.compat.min.js', 438, 420 ]
13306 silly gunzTarPerm extractEntry .bob/report/lint.out
13307 silly gunzTarPerm modified mode [ '.bob/report/lint.out', 438, 420 ]
13308 silly gunzTarPerm extractEntry .travis.yml
13309 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
13310 silly gunzTarPerm extractEntry LICENSE
13311 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13312 silly gunzTarPerm extractEntry graceful-fs.js
13313 silly gunzTarPerm modified mode [ 'graceful-fs.js', 438, 420 ]
13314 silly gunzTarPerm extractEntry index.js
13315 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
13316 silly gunzTarPerm extractEntry test.js
13317 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
13318 silly gunzTarPerm modes [ '755', '644' ]
13319 silly gunzTarPerm extractEntry index.js
13320 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
13321 silly gunzTarPerm extractEntry .travis.yml
13322 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
13323 silly gunzTarPerm modes [ '755', '644' ]
13324 silly gunzTarPerm extractEntry LICENSE
13325 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13326 http 304 https://registry.npmjs.org/adm-zip/0.2.1
13327 silly registry.get cb [ 304,
13327 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13327 silly registry.get etag: '"DEWMC58B79MYHNRIX3C4LEL47"',
13327 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
13327 silly registry.get 'content-length': '0' } ]
13328 verbose etag adm-zip/0.2.1 from cache
13329 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
13330 silly lockFile 4e18d95e-ules-globule-node-modules-lodash tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\lodash
13331 verbose lock tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\lodash C:\Users\lukasz.zak\AppData\Roaming\npm-cache\4e18d95e-ules-globule-node-modules-lodash.lock
13332 silly lockFile 5b553680-m-cache-lodash-1-0-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
13333 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5b553680-m-cache-lodash-1-0-1-package-tgz.lock
13334 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
13335 silly lockFile 8d2788a5-odules-globule-node-modules-glob tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\glob
13336 verbose lock tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\glob C:\Users\lukasz.zak\AppData\Roaming\npm-cache\8d2788a5-odules-globule-node-modules-glob.lock
13337 silly lockFile 53323008-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
13338 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\53323008-pm-cache-glob-3-1-21-package-tgz.lock
13339 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
13340 silly lockFile 630c1bdc-s-globule-node-modules-minimatch tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\minimatch
13341 verbose lock tar://C:\Projects\trainingsservice\node_modules\load-grunt-tasks\node_modules\globule\node_modules\minimatch C:\Users\lukasz.zak\AppData\Roaming\npm-cache\630c1bdc-s-globule-node-modules-minimatch.lock
13342 silly lockFile 172eecd9-che-minimatch-0-2-12-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
13343 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\172eecd9-che-minimatch-0-2-12-package-tgz.lock
13344 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
13345 silly lockFile d1a3ba98-ules-globule-node-modules-lodash tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\lodash
13346 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\lodash C:\Users\lukasz.zak\AppData\Roaming\npm-cache\d1a3ba98-ules-globule-node-modules-lodash.lock
13347 silly lockFile 5b553680-m-cache-lodash-1-0-1-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz
13348 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\lodash\1.0.1\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\5b553680-m-cache-lodash-1-0-1-package-tgz.lock
13349 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
13350 silly lockFile ea07e040-odules-globule-node-modules-glob tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\glob
13351 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\glob C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ea07e040-odules-globule-node-modules-glob.lock
13352 silly lockFile 53323008-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
13353 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\53323008-pm-cache-glob-3-1-21-package-tgz.lock
13354 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
13355 silly lockFile ea3fc422-s-globule-node-modules-minimatch tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\minimatch
13356 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-contrib-watch\node_modules\gaze\node_modules\globule\node_modules\minimatch C:\Users\lukasz.zak\AppData\Roaming\npm-cache\ea3fc422-s-globule-node-modules-minimatch.lock
13357 silly lockFile 172eecd9-che-minimatch-0-2-12-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
13358 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\172eecd9-che-minimatch-0-2-12-package-tgz.lock
13359 silly gunzTarPerm extractEntry LICENSE
13360 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13361 http 304 https://registry.npmjs.org/ncp/0.4.2
13362 silly registry.get cb [ 304,
13362 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13362 silly registry.get etag: '"856X78QJAOSFALTQIHC5I7U6O"',
13362 silly registry.get date: 'Thu, 21 Nov 2013 08:42:55 GMT',
13362 silly registry.get 'content-length': '0' } ]
13363 verbose etag ncp/0.4.2 from cache
13364 silly gunzTarPerm extractEntry index.js
13365 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
13366 silly gunzTarPerm extractEntry examples/g.js
13367 silly gunzTarPerm modified mode [ 'examples/g.js', 438, 420 ]
13368 silly gunzTarPerm extractEntry examples/usr-local.js
13369 silly gunzTarPerm modified mode [ 'examples/usr-local.js', 438, 420 ]
13370 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.2-0 <2.3.0-0', hasData: true }
13371 silly addNameRange versions [ 'rimraf',
13371 silly addNameRange [ '1.0.0',
13371 silly addNameRange '1.0.1',
13371 silly addNameRange '1.0.2',
13371 silly addNameRange '1.0.4',
13371 silly addNameRange '1.0.5',
13371 silly addNameRange '1.0.6',
13371 silly addNameRange '1.0.7',
13371 silly addNameRange '1.0.8',
13371 silly addNameRange '1.0.9',
13371 silly addNameRange '2.0.0',
13371 silly addNameRange '2.0.1',
13371 silly addNameRange '2.0.2',
13371 silly addNameRange '2.0.3',
13371 silly addNameRange '2.1.0',
13371 silly addNameRange '2.1.1',
13371 silly addNameRange '2.1.2',
13371 silly addNameRange '2.1.3',
13371 silly addNameRange '2.1.4',
13371 silly addNameRange '2.2.0',
13371 silly addNameRange '2.2.1',
13371 silly addNameRange '2.2.2' ] ]
13372 verbose addNamed [ 'rimraf', '2.2.2' ]
13373 verbose addNamed [ '2.2.2', '2.2.2' ]
13374 silly lockFile aab0fa5b-rimraf-2-2-2 rimraf@2.2.2
13375 verbose lock rimraf@2.2.2 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\aab0fa5b-rimraf-2-2-2.lock
13376 silly gunzTarPerm extractEntry test/fixtures/aaa.txt
13377 silly gunzTarPerm modified mode [ 'test/fixtures/aaa.txt', 438, 420 ]
13378 silly gunzTarPerm extractEntry encodings/singlebyte.js
13379 silly gunzTarPerm modified mode [ 'encodings/singlebyte.js', 438, 420 ]
13380 silly gunzTarPerm extractEntry encodings/table/big5.js
13381 silly gunzTarPerm modified mode [ 'encodings/table/big5.js', 438, 420 ]
13382 silly gunzTarPerm extractEntry test/setup.sh
13383 silly gunzTarPerm modified mode [ 'test/setup.sh', 438, 420 ]
13384 silly gunzTarPerm extractEntry README.markdown
13385 silly gunzTarPerm modified mode [ 'README.markdown', 438, 420 ]
13386 silly gunzTarPerm extractEntry test/run-qunit.js
13387 silly gunzTarPerm modified mode [ 'test/run-qunit.js', 438, 420 ]
13388 silly gunzTarPerm modes [ '755', '644' ]
13389 silly lockFile aab0fa5b-rimraf-2-2-2 rimraf@2.2.2
13390 silly lockFile aab0fa5b-rimraf-2-2-2 rimraf@2.2.2
13391 silly gunzTarPerm extractEntry package.json
13392 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
13393 silly lockFile 6c46433c-rimraf-2-2-2 rimraf@~2.2.2
13394 silly lockFile 6c46433c-rimraf-2-2-2 rimraf@~2.2.2
13395 silly gunzTarPerm extractEntry package.json
13396 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
13397 silly gunzTarPerm extractEntry bin/coffee
13398 silly gunzTarPerm modified mode [ 'bin/coffee', 438, 420 ]
13399 silly gunzTarPerm extractEntry CNAME
13400 silly gunzTarPerm modified mode [ 'CNAME', 438, 420 ]
13401 silly gunzTarPerm extractEntry lib/injector.js
13402 silly gunzTarPerm modified mode [ 'lib/injector.js', 438, 420 ]
13403 silly gunzTarPerm extractEntry lib/module.js
13404 silly gunzTarPerm modified mode [ 'lib/module.js', 438, 420 ]
13405 silly gunzTarPerm extractEntry lib/index.js
13406 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
13407 silly gunzTarPerm extractEntry lib/is-binary.js
13408 silly gunzTarPerm modified mode [ 'lib/is-binary.js', 438, 420 ]
13409 silly gunzTarPerm extractEntry src/index.coffee
13410 silly gunzTarPerm modified mode [ 'src/index.coffee', 438, 420 ]
13411 silly gunzTarPerm extractEntry src/is-binary.coffee
13412 silly gunzTarPerm modified mode [ 'src/is-binary.coffee', 438, 420 ]
13413 silly gunzTarPerm extractEntry test/common.js
13414 silly gunzTarPerm modified mode [ 'test/common.js', 438, 420 ]
13415 silly gunzTarPerm extractEntry test/chokidar-test.coffee
13416 silly gunzTarPerm modified mode [ 'test/chokidar-test.coffee', 438, 420 ]
13417 silly gunzTarPerm extractEntry test/fixtures/binary.mp3
13418 silly gunzTarPerm modified mode [ 'test/fixtures/binary.mp3', 438, 420 ]
13419 silly gunzTarPerm extractEntry test/fixtures/change.txt
13420 silly gunzTarPerm modified mode [ 'test/fixtures/change.txt', 438, 420 ]
13421 silly gunzTarPerm extractEntry test/fixtures/unlink.txt
13422 silly gunzTarPerm modified mode [ 'test/fixtures/unlink.txt', 438, 420 ]
13423 silly gunzTarPerm extractEntry test/test-async.js
13424 silly gunzTarPerm modified mode [ 'test/test-async.js', 438, 420 ]
13425 silly gunzTarPerm extractEntry test/test-sync.js
13426 silly gunzTarPerm modified mode [ 'test/test-sync.js', 438, 420 ]
13427 silly gunzTarPerm extractEntry examples/example-connect-logger.js
13428 silly gunzTarPerm modified mode [ 'examples/example-connect-logger.js', 438, 420 ]
13429 silly gunzTarPerm extractEntry examples/example-socket.js
13430 silly gunzTarPerm modified mode [ 'examples/example-socket.js', 438, 420 ]
13431 silly gunzTarPerm extractEntry benchmarks/decode.bench.js
13432 silly gunzTarPerm modified mode [ 'benchmarks/decode.bench.js', 438, 420 ]
13433 silly gunzTarPerm extractEntry benchmarks/encode.bench.js
13434 silly gunzTarPerm modified mode [ 'benchmarks/encode.bench.js', 438, 420 ]
13435 silly gunzTarPerm extractEntry test/open.js
13436 silly gunzTarPerm modified mode [ 'test/open.js', 438, 420 ]
13437 silly gunzTarPerm extractEntry .travis.yml
13438 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
13439 silly gunzTarPerm extractEntry lib/cache.js
13440 silly gunzTarPerm modified mode [ 'lib/cache.js', 438, 420 ]
13441 silly gunzTarPerm extractEntry lib/coffee-script/grammar.js
13442 silly gunzTarPerm modified mode [ 'lib/coffee-script/grammar.js', 438, 420 ]
13443 silly gunzTarPerm extractEntry lib/coffee-script/helpers.js
13444 silly gunzTarPerm modified mode [ 'lib/coffee-script/helpers.js', 438, 420 ]
13445 silly gunzTarPerm extractEntry package.json
13446 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
13447 silly gunzTarPerm extractEntry features/index.js
13448 silly gunzTarPerm modified mode [ 'features/index.js', 438, 420 ]
13449 silly gunzTarPerm extractEntry .travis.yml
13450 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
13451 silly gunzTarPerm extractEntry CHANGELOG.md
13452 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 438, 420 ]
13453 silly gunzTarPerm extractEntry config.sample.json
13454 silly gunzTarPerm modified mode [ 'config.sample.json', 438, 420 ]
13455 silly gunzTarPerm extractEntry has-color.js
13456 silly gunzTarPerm modified mode [ 'has-color.js', 438, 420 ]
13457 silly gunzTarPerm extractEntry readme.md
13458 silly gunzTarPerm modified mode [ 'readme.md', 438, 420 ]
13459 silly gunzTarPerm extractEntry example/bool.js
13460 silly gunzTarPerm modified mode [ 'example/bool.js', 438, 420 ]
13461 silly gunzTarPerm extractEntry example/default_singles.js
13462 silly gunzTarPerm modified mode [ 'example/default_singles.js', 438, 420 ]
13463 silly gunzTarPerm extractEntry ansi-styles.js
13464 silly gunzTarPerm modified mode [ 'ansi-styles.js', 438, 420 ]
13465 silly gunzTarPerm extractEntry readme.md
13466 silly gunzTarPerm modified mode [ 'readme.md', 438, 420 ]
13467 silly lockFile f88695e1-semver-2-0-11 semver@2.0.11
13468 silly lockFile f88695e1-semver-2-0-11 semver@2.0.11
13469 http 304 https://registry.npmjs.org/npmconf/0.0.24
13470 silly registry.get cb [ 304,
13470 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13470 silly registry.get etag: '"9DQAVPFTLZQIOIDNV824UNTDX"',
13470 silly registry.get date: 'Thu, 21 Nov 2013 08:42:56 GMT',
13470 silly registry.get 'content-length': '0' } ]
13471 verbose etag npmconf/0.0.24 from cache
13472 silly gunzTarPerm extractEntry test/speed.js
13473 silly gunzTarPerm modified mode [ 'test/speed.js', 438, 420 ]
13474 silly gunzTarPerm extractEntry test/strings.js
13475 silly gunzTarPerm modified mode [ 'test/strings.js', 438, 420 ]
13476 silly lockFile 581de4c4-semver-2-0-0 semver@~2.0.0
13477 silly lockFile 581de4c4-semver-2-0-0 semver@~2.0.0
13478 silly gunzTarPerm extractEntry test/00-setup.js
13479 silly gunzTarPerm modified mode [ 'test/00-setup.js', 438, 420 ]
13480 silly gunzTarPerm extractEntry test/bash-comparison.js
13481 silly gunzTarPerm modified mode [ 'test/bash-comparison.js', 438, 420 ]
13482 silly gunzTarPerm extractEntry types/mime.types
13483 silly gunzTarPerm modified mode [ 'types/mime.types', 438, 420 ]
13484 silly gunzTarPerm extractEntry types/node.types
13485 silly gunzTarPerm modified mode [ 'types/node.types', 438, 420 ]
13486 silly resolved [ { name: 'debug',
13486 silly resolved version: '0.7.4',
13486 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
13486 silly resolved description: 'small debugging utility',
13486 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
13486 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
13486 silly resolved dependencies: {},
13486 silly resolved devDependencies: { mocha: '*' },
13486 silly resolved main: 'lib/debug.js',
13486 silly resolved browser: './debug.js',
13486 silly resolved engines: { node: '*' },
13486 silly resolved files: [ 'lib/debug.js', 'debug.js', 'index.js' ],
13486 silly resolved component: { scripts: [Object] },
13486 silly resolved readme: '# debug\n\n tiny node.js debugging utility modelled after node core\'s debugging technique.\n\n## Installation\n\n```\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you\'re used to work fine. A unique color is selected per-function for visibility.\n \nExample _app.js_:\n\n```js\nvar debug = require(\'debug\')(\'http\')\n , http = require(\'http\')\n , name = \'My App\';\n\n// fake app\n\ndebug(\'booting %s\', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + \' \' + req.url);\n res.end(\'hello\\n\');\n}).listen(3000, function(){\n debug(\'listening\');\n});\n\n// fake worker of some kind\n\nrequire(\'./worker\');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require(\'debug\')(\'worker\');\n\nsetInterval(function(){\n debug(\'doing some work\');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_\n \n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n \n## Conventions\n\n If you\'re using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". \n\n## Wildcards\n\n The "*" character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=* -connect:*` would include all debuggers except those starting with "connect:".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable(\'worker:*\')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. \n\n```js\na = debug(\'worker:a\');\nb = debug(\'worker:b\');\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1000);\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1200);\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\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 NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
13486 silly resolved readmeFilename: 'Readme.md',
13486 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
13486 silly resolved homepage: 'https://github.com/visionmedia/debug',
13486 silly resolved _id: 'debug@0.7.4',
13486 silly resolved _from: 'debug@~0.7.0',
13486 silly resolved scripts: {} },
13486 silly resolved { name: 'semver',
13486 silly resolved version: '2.0.11',
13486 silly resolved description: 'The semantic version parser used by npm.',
13486 silly resolved main: 'semver.js',
13486 silly resolved browser: 'semver.browser.js',
13486 silly resolved min: 'semver.min.js',
13486 silly resolved scripts: { test: 'tap test/*.js', prepublish: 'make' },
13486 silly resolved devDependencies: { tap: '0.x >=0.0.4', 'uglify-js': '~2.3.6' },
13486 silly resolved license: 'BSD',
13486 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
13486 silly resolved bin: { semver: './bin/semver' },
13486 silly resolved readme: 'semver(1) -- The semantic versioner for npm\n===========================================\n\n## Usage\n\n $ npm install semver\n\n semver.valid(\'1.2.3\') // \'1.2.3\'\n semver.valid(\'a.b.c\') // null\n semver.clean(\' =v1.2.3 \') // \'1.2.3\'\n semver.satisfies(\'1.2.3\', \'1.x || >=2.5.0 || 5.0.0 - 7.2.3\') // true\n semver.gt(\'1.2.3\', \'9.8.7\') // false\n semver.lt(\'1.2.3\', \'9.8.7\') // true\n\nAs a command-line utility:\n\n $ semver -h\n\n Usage: semver <version> [<version> [...]] [-r <range> | -i <inc> | -d <dec>]\n Test if version(s) satisfy the supplied range(s), and sort them.\n\n Multiple versions or ranges may be supplied, unless increment\n or decrement options are specified. In that case, only a single\n version may be used, and it is incremented by the specified level\n\n Program exits successfully if any valid version satisfies\n all supplied ranges, and prints all satisfying versions.\n\n If no versions are valid, or ranges are not satisfied,\n then exits failure.\n\n Versions are printed in ascending order, so supplying\n multiple versions to the utility will just sort them.\n\n## Versions\n\nA "version" is described by the v2.0.0 specification found at\n<http://semver.org/>.\n\nA leading `"="` or `"v"` character is stripped off and ignored.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `1.2.3` A specific version. When nothing else will do. Note that\n build metadata is still ignored, so `1.2.3+build2012` will satisfy\n this range.\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than a specific version. If there is no prerelease\n tag on the version range, then no prerelease version will be allowed\n either, even though these are technically "less than".\n* `>=1.2.3` Greater than or equal to. Note that prerelease versions\n are NOT equal to their "normal" equivalents, so `1.2.3-beta` will\n not satisfy this range, but `2.3.0-beta` will.\n* `<=1.2.3` Less than or equal to. In this case, prerelease versions\n ARE allowed, so `1.2.3-beta` would satisfy.\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` "Reasonably close to 1.2.3". When\n using tilde operators, prerelease versions are supported as well,\n but a prerelease of the next significant digit will NOT be\n satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`.\n* `~1.2` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `1.2.x` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `~1` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n* `1.x` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n\n\nRanges can be joined with either a space (which implies "and") or a\n`||` (which implies "or").\n\n## Functions\n\nAll methods and classes take a final `loose` boolean argument that, if\ntrue, will be more forgiving about not-quite-valid semver strings.\nThe resulting output will always be 100% strict, of course.\n\nStrict-mode Comparators and Ranges will be strict about the SemVer\nstrings that they parse.\n\n* valid(v): Return the parsed version, or null if it\'s not valid.\n* inc(v, release): Return the version incremented by the release type\n (major, minor, patch, or prerelease), or null if it\'s not valid.\n\n### Comparison\n\n* gt(v1, v2): `v1 > v2`\n* gte(v1, v2): `v1 >= v2`\n* lt(v1, v2): `v1 < v2`\n* lte(v1, v2): `v1 <= v2`\n* eq(v1, v2): `v1 == v2` This is true if they\'re logically equivalent,\n even if they\'re not the exact same string. You already know how to\n compare strings.\n* neq(v1, v2): `v1 != v2` The opposite of eq.\n* cmp(v1, comparator, v2): Pass in a comparison string, and it\'ll call\n the corresponding function above. `"==="` and `"!=="` do simple\n string comparison, but are included for completeness. Throws if an\n invalid comparison string is provided.\n* compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if\n v2 is greater. Sorts in ascending order if passed to Array.sort().\n* rcompare(v1, v2): The reverse of compare. Sorts an array of versions\n in descending order when passed to Array.sort().\n\n\n### Ranges\n\n* validRange(range): Return the valid range or null if it\'s not valid\n* satisfies(version, range): Return true if the version satisfies the\n range.\n* maxSatisfying(versions, range): Return the highest version in the list\n that satisfies the range, or null if none of them do.\n',
13486 silly resolved readmeFilename: 'README.md',
13486 silly resolved bugs: { url: 'https://github.com/isaacs/node-semver/issues' },
13486 silly resolved homepage: 'https://github.com/isaacs/node-semver',
13486 silly resolved _id: 'semver@2.0.11',
13486 silly resolved _from: 'semver@~2.0.0' } ]
13487 info install debug@0.7.4 into C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn
13488 info install semver@2.0.11 into C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn
13489 info installOne debug@0.7.4
13490 info installOne semver@2.0.11
13491 silly gunzTarPerm extractEntry README.md
13492 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13493 silly gunzTarPerm extractEntry dist/lodash.compat.js
13494 silly gunzTarPerm modified mode [ 'dist/lodash.compat.js', 438, 420 ]
13495 info C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn\node_modules\debug unbuild
13496 info C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn\node_modules\semver unbuild
13497 silly lockFile b06e4b6e-modules-grunt-node-modules-which tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\which
13498 silly lockFile b06e4b6e-modules-grunt-node-modules-which tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\which
13499 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\debug\0.7.4\package.tgz
13500 silly lockFile 3d2500f3-es-google-cdn-node-modules-debug tar://C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn\node_modules\debug
13501 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn\node_modules\debug C:\Users\lukasz.zak\AppData\Roaming\npm-cache\3d2500f3-es-google-cdn-node-modules-debug.lock
13502 silly lockFile f24ce84c-pm-cache-debug-0-7-4-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\debug\0.7.4\package.tgz
13503 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\debug\0.7.4\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f24ce84c-pm-cache-debug-0-7-4-package-tgz.lock
13504 verbose tar unpack C:\Users\lukasz.zak\AppData\Roaming\npm-cache\semver\2.0.11\package.tgz
13505 silly lockFile fee0e314-s-google-cdn-node-modules-semver tar://C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn\node_modules\semver
13506 verbose lock tar://C:\Projects\trainingsservice\node_modules\grunt-google-cdn\node_modules\google-cdn\node_modules\semver C:\Users\lukasz.zak\AppData\Roaming\npm-cache\fee0e314-s-google-cdn-node-modules-semver.lock
13507 silly lockFile 54a94786--cache-semver-2-0-11-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\semver\2.0.11\package.tgz
13508 verbose lock tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\semver\2.0.11\package.tgz C:\Users\lukasz.zak\AppData\Roaming\npm-cache\54a94786--cache-semver-2-0-11-package-tgz.lock
13509 silly lockFile 99bdce37-pm-cache-which-1-0-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\which\1.0.5\package.tgz
13510 silly lockFile 99bdce37-pm-cache-which-1-0-5-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\which\1.0.5\package.tgz
13511 silly gunzTarPerm extractEntry lib/coffee-script/index.js
13512 silly gunzTarPerm modified mode [ 'lib/coffee-script/index.js', 438, 420 ]
13513 silly gunzTarPerm extractEntry lib/coffee-script/coffee-script.js
13514 silly gunzTarPerm modified mode [ 'lib/coffee-script/coffee-script.js', 438, 420 ]
13515 silly gunzTarPerm extractEntry test/run.sh
13516 silly gunzTarPerm modified mode [ 'test/run.sh', 438, 420 ]
13517 silly gunzTarPerm extractEntry test/setup.sh
13518 silly gunzTarPerm modified mode [ 'test/setup.sh', 438, 420 ]
13519 http 304 https://registry.npmjs.org/kew
13520 silly registry.get cb [ 304,
13520 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13520 silly registry.get etag: '"5SV7WZ87MHUC7OYS8TNRWXH24"',
13520 silly registry.get date: 'Thu, 21 Nov 2013 08:42:56 GMT',
13520 silly registry.get 'content-length': '0' } ]
13521 verbose etag kew from cache
13522 silly gunzTarPerm extractEntry test/ulimit.js
13523 silly gunzTarPerm modified mode [ 'test/ulimit.js', 438, 420 ]
13524 silly gunzTarPerm extractEntry benchmarks/runner.js
13525 silly gunzTarPerm modified mode [ 'benchmarks/runner.js', 438, 420 ]
13526 silly gunzTarPerm extractEntry History.md
13527 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
13528 silly gunzTarPerm extractEntry CONTRIBUTING.md
13529 silly gunzTarPerm modified mode [ 'CONTRIBUTING.md', 438, 420 ]
13530 silly gunzTarPerm extractEntry lib/coffee-script/browser.js
13531 silly gunzTarPerm modified mode [ 'lib/coffee-script/browser.js', 438, 420 ]
13532 silly gunzTarPerm extractEntry lib/connect.js
13533 silly gunzTarPerm modified mode [ 'lib/connect.js', 438, 420 ]
13534 silly gunzTarPerm extractEntry lib/index.js
13535 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
13536 silly gunzTarPerm modes [ '755', '644' ]
13537 silly gunzTarPerm modes [ '755', '644' ]
13538 silly gunzTarPerm extractEntry test/strings_standalone.js
13539 silly gunzTarPerm modified mode [ 'test/strings_standalone.js', 438, 420 ]
13540 silly gunzTarPerm extractEntry test/underscore.js
13541 silly gunzTarPerm modified mode [ 'test/underscore.js', 438, 420 ]
13542 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
13543 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
13544 silly lockFile 56d2b9bc-adm-zip-0-2-1 adm-zip@0.2.1
13545 silly lockFile 56d2b9bc-adm-zip-0-2-1 adm-zip@0.2.1
13546 info preinstall which@1.0.5
13547 silly gunzTarPerm extractEntry MIT-LICENSE.txt
13548 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
13549 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
13550 silly gunzTarPerm modified mode [ 'dist/lodash.compat.min.js', 438, 420 ]
13551 silly gunzTarPerm extractEntry dist/lodash.js
13552 silly gunzTarPerm modified mode [ 'dist/lodash.js', 438, 420 ]
13553 silly gunzTarPerm extractEntry package.json
13554 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
13555 silly gunzTarPerm extractEntry lib/coffee-script/nodes.js
13556 silly gunzTarPerm modified mode [ 'lib/coffee-script/nodes.js', 438, 420 ]
13557 silly gunzTarPerm extractEntry lib/coffee-script/optparse.js
13558 silly gunzTarPerm modified mode [ 'lib/coffee-script/optparse.js', 438, 420 ]
13559 verbose readDependencies using package.json deps
13560 silly gunzTarPerm extractEntry encodings/table/gbk.js
13561 silly gunzTarPerm modified mode [ 'encodings/table/gbk.js', 438, 420 ]
13562 silly gunzTarPerm extractEntry package.json
13563 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
13564 verbose readDependencies using package.json deps
13565 silly resolved []
13566 verbose about to build C:\Projects\trainingsservice\node_modules\grunt\node_modules\which
13567 info build C:\Projects\trainingsservice\node_modules\grunt\node_modules\which
13568 verbose linkStuff [ false,
13568 verbose linkStuff false,
13568 verbose linkStuff false,
13568 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\grunt\\node_modules' ]
13569 info linkStuff which@1.0.5
13570 verbose linkBins which@1.0.5
13571 verbose link bins [ { which: './bin/which' },
13571 verbose link bins 'C:\\Projects\\trainingsservice\\node_modules\\grunt\\node_modules\\.bin',
13571 verbose link bins false ]
13572 verbose linkMans which@1.0.5
13573 verbose rebuildBundles which@1.0.5
13574 silly lockFile 794f29be-es-grunt-node-modules-dateformat tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\dateformat
13575 silly lockFile 794f29be-es-grunt-node-modules-dateformat tar://C:\Projects\trainingsservice\node_modules\grunt\node_modules\dateformat
13576 silly addNameRange number 2 { name: 'kew', range: '>=0.1.7-0 <0.2.0-0', hasData: true }
13577 silly addNameRange versions [ 'kew',
13577 silly addNameRange [ '0.0.1',
13577 silly addNameRange '0.0.2',
13577 silly addNameRange '0.0.3',
13577 silly addNameRange '0.0.4',
13577 silly addNameRange '0.1.0',
13577 silly addNameRange '0.1.1',
13577 silly addNameRange '0.1.2',
13577 silly addNameRange '0.1.3',
13577 silly addNameRange '0.1.4',
13577 silly addNameRange '0.1.5',
13577 silly addNameRange '0.1.6',
13577 silly addNameRange '0.1.7',
13577 silly addNameRange '0.2.1',
13577 silly addNameRange '0.2.2',
13577 silly addNameRange '0.3.0' ] ]
13578 verbose addNamed [ 'kew', '0.1.7' ]
13579 verbose addNamed [ '0.1.7', '0.1.7' ]
13580 silly lockFile 69cee516-kew-0-1-7 kew@0.1.7
13581 verbose lock kew@0.1.7 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\69cee516-kew-0-1-7.lock
13582 silly lockFile 5c6bf9e0-teformat-1-0-2-1-2-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dateformat\1.0.2-1.2.3\package.tgz
13583 silly lockFile 5c6bf9e0-teformat-1-0-2-1-2-3-package-tgz tar://C:\Users\lukasz.zak\AppData\Roaming\npm-cache\dateformat\1.0.2-1.2.3\package.tgz
13584 silly gunzTarPerm extractEntry lib/logger.js
13585 silly gunzTarPerm modified mode [ 'lib/logger.js', 438, 420 ]
13586 silly gunzTarPerm extractEntry examples/example.js
13587 silly gunzTarPerm modified mode [ 'examples/example.js', 438, 420 ]
13588 silly gunzTarPerm extractEntry examples/fromreadme.js
13589 silly gunzTarPerm modified mode [ 'examples/fromreadme.js', 438, 420 ]
13590 silly gunzTarPerm extractEntry examples/log-rolling.js
13591 silly gunzTarPerm modified mode [ 'examples/log-rolling.js', 438, 420 ]
13592 silly gunzTarPerm extractEntry examples/memory-test.js
13593 silly gunzTarPerm modified mode [ 'examples/memory-test.js', 438, 420 ]
13594 silly gunzTarPerm extractEntry examples/patternLayout-tokens.js
13595 silly gunzTarPerm modified mode [ 'examples/patternLayout-tokens.js', 438, 420 ]
13596 silly gunzTarPerm extractEntry examples/smtp-appender.js
13597 silly gunzTarPerm modified mode [ 'examples/smtp-appender.js', 438, 420 ]
13598 silly gunzTarPerm extractEntry lib/connect-logger.js
13599 silly gunzTarPerm modified mode [ 'lib/connect-logger.js', 438, 420 ]
13600 silly gunzTarPerm extractEntry lib/date_format.js
13601 silly gunzTarPerm modified mode [ 'lib/date_format.js', 438, 420 ]
13602 silly gunzTarPerm extractEntry lib/debug.js
13603 silly gunzTarPerm modified mode [ 'lib/debug.js', 438, 420 ]
13604 silly gunzTarPerm extractEntry lib/layouts.js
13605 silly gunzTarPerm modified mode [ 'lib/layouts.js', 438, 420 ]
13606 silly gunzTarPerm extractEntry lib/levels.js
13607 silly gunzTarPerm modified mode [ 'lib/levels.js', 438, 420 ]
13608 silly gunzTarPerm extractEntry lib/log4js.js
13609 silly gunzTarPerm modified mode [ 'lib/log4js.js', 438, 420 ]
13610 silly gunzTarPerm extractEntry lib/logger.js
13611 silly gunzTarPerm modified mode [ 'lib/logger.js', 438, 420 ]
13612 silly gunzTarPerm extractEntry lib/appenders/categoryFilter.js
13613 silly gunzTarPerm modified mode [ 'lib/appenders/categoryFilter.js', 438, 420 ]
13614 silly gunzTarPerm extractEntry lib/appenders/clustered.js
13615 silly gunzTarPerm modified mode [ 'lib/appenders/clustered.js', 438, 420 ]
13616 silly gunzTarPerm extractEntry lib/appenders/console.js
13617 silly gunzTarPerm modified mode [ 'lib/appenders/console.js', 438, 420 ]
13618 silly gunzTarPerm extractEntry lib/appenders/dateFile.js
13619 silly gunzTarPerm modified mode [ 'lib/appenders/dateFile.js', 438, 420 ]
13620 silly gunzTarPerm extractEntry lib/appenders/file.js
13621 silly gunzTarPerm modified mode [ 'lib/appenders/file.js', 438, 420 ]
13622 silly gunzTarPerm extractEntry lib/appenders/gelf.js
13623 silly gunzTarPerm modified mode [ 'lib/appenders/gelf.js', 438, 420 ]
13624 silly gunzTarPerm extractEntry lib/appenders/hookio.js
13625 silly gunzTarPerm modified mode [ 'lib/appenders/hookio.js', 438, 420 ]
13626 silly gunzTarPerm extractEntry lib/appenders/logLevelFilter.js
13627 silly gunzTarPerm modified mode [ 'lib/appenders/logLevelFilter.js', 438, 420 ]
13628 silly gunzTarPerm extractEntry lib/appenders/multiprocess.js
13629 silly gunzTarPerm modified mode [ 'lib/appenders/multiprocess.js', 438, 420 ]
13630 silly gunzTarPerm extractEntry lib/appenders/smtp.js
13631 silly gunzTarPerm modified mode [ 'lib/appenders/smtp.js', 438, 420 ]
13632 silly gunzTarPerm extractEntry lib/log4js.json
13633 silly gunzTarPerm modified mode [ 'lib/log4js.json', 438, 420 ]
13634 silly gunzTarPerm extractEntry lib/streams/BaseRollingFileStream.js
13635 silly gunzTarPerm modified mode [ 'lib/streams/BaseRollingFileStream.js', 438, 420 ]
13636 silly gunzTarPerm extractEntry lib/streams/DateRollingFileStream.js
13637 silly gunzTarPerm modified mode [ 'lib/streams/DateRollingFileStream.js', 438, 420 ]
13638 silly gunzTarPerm extractEntry lib/streams/index.js
13639 silly gunzTarPerm modified mode [ 'lib/streams/index.js', 438, 420 ]
13640 silly gunzTarPerm extractEntry lib/streams/RollingFileStream.js
13641 silly gunzTarPerm modified mode [ 'lib/streams/RollingFileStream.js', 438, 420 ]
13642 silly gunzTarPerm extractEntry .bob.json
13643 silly gunzTarPerm modified mode [ '.bob.json', 438, 420 ]
13644 silly gunzTarPerm extractEntry .jshintrc
13645 silly gunzTarPerm modified mode [ '.jshintrc', 438, 420 ]
13646 silly gunzTarPerm extractEntry test/categoryFilter-test.js
13647 silly gunzTarPerm modified mode [ 'test/categoryFilter-test.js', 438, 420 ]
13648 silly gunzTarPerm extractEntry test/debug-test.js
13649 silly gunzTarPerm modified mode [ 'test/debug-test.js', 438, 420 ]
13650 silly gunzTarPerm extractEntry test/fileAppender-test.js
13651 silly gunzTarPerm modified mode [ 'test/fileAppender-test.js', 438, 420 ]
13652 silly gunzTarPerm extractEntry test/gelfAppender-test.js
13653 silly gunzTarPerm modified mode [ 'test/gelfAppender-test.js', 438, 420 ]
13654 silly gunzTarPerm extractEntry test/date_format-test.js
13655 silly gunzTarPerm modified mode [ 'test/date_format-test.js', 438, 420 ]
13656 silly gunzTarPerm extractEntry test/hookioAppender-test.js
13657 silly gunzTarPerm modified mode [ 'test/hookioAppender-test.js', 438, 420 ]
13658 silly gunzTarPerm extractEntry test/layouts-test.js
13659 silly gunzTarPerm modified mode [ 'test/layouts-test.js', 438, 420 ]
13660 silly gunzTarPerm extractEntry test/clusteredAppender-test.js
13661 silly gunzTarPerm modified mode [ 'test/clusteredAppender-test.js', 438, 420 ]
13662 silly gunzTarPerm extractEntry test/log-abspath-test.js
13663 silly gunzTarPerm modified mode [ 'test/log-abspath-test.js', 438, 420 ]
13664 silly gunzTarPerm extractEntry test/setLevel-asymmetry-test.js
13665 silly gunzTarPerm modified mode [ 'test/setLevel-asymmetry-test.js', 438, 420 ]
13666 silly gunzTarPerm extractEntry test/dateFileAppender-test.js
13667 silly gunzTarPerm modified mode [ 'test/dateFileAppender-test.js', 438, 420 ]
13668 silly gunzTarPerm extractEntry test/logger-test.js
13669 silly gunzTarPerm modified mode [ 'test/logger-test.js', 438, 420 ]
13670 silly gunzTarPerm extractEntry test/smtpAppender-test.js
13671 silly gunzTarPerm modified mode [ 'test/smtpAppender-test.js', 438, 420 ]
13672 silly gunzTarPerm extractEntry test/logging-test.js
13673 silly gunzTarPerm modified mode [ 'test/logging-test.js', 438, 420 ]
13674 silly gunzTarPerm extractEntry test/consoleAppender-test.js
13675 silly gunzTarPerm modified mode [ 'test/consoleAppender-test.js', 438, 420 ]
13676 silly gunzTarPerm extractEntry test/logLevelFilter-test.js
13677 silly gunzTarPerm modified mode [ 'test/logLevelFilter-test.js', 438, 420 ]
13678 silly gunzTarPerm extractEntry test/connect-logger-test.js
13679 silly gunzTarPerm modified mode [ 'test/connect-logger-test.js', 438, 420 ]
13680 silly gunzTarPerm extractEntry test/multiprocess-test.js
13681 silly gunzTarPerm modified mode [ 'test/multiprocess-test.js', 438, 420 ]
13682 silly gunzTarPerm extractEntry test/configureNoLevels-test.js
13683 silly gunzTarPerm modified mode [ 'test/configureNoLevels-test.js', 438, 420 ]
13684 silly gunzTarPerm extractEntry test/nolog-test.js
13685 silly gunzTarPerm modified mode [ 'test/nolog-test.js', 438, 420 ]
13686 silly gunzTarPerm extractEntry test/configuration-test.js
13687 silly gunzTarPerm modified mode [ 'test/configuration-test.js', 438, 420 ]
13688 silly gunzTarPerm extractEntry test/reloadConfiguration-test.js
13689 silly gunzTarPerm modified mode [ 'test/reloadConfiguration-test.js', 438, 420 ]
13690 silly gunzTarPerm extractEntry test/global-log-level-test.js
13691 silly gunzTarPerm modified mode [ 'test/global-log-level-test.js', 438, 420 ]
13692 silly gunzTarPerm extractEntry test/levels-test.js
13693 silly gunzTarPerm modified mode [ 'test/levels-test.js', 438, 420 ]
13694 silly gunzTarPerm extractEntry test/log4js.json
13695 silly gunzTarPerm modified mode [ 'test/log4js.json', 438, 420 ]
13696 silly gunzTarPerm extractEntry test/date-file-test
13697 silly gunzTarPerm modified mode [ 'test/date-file-test', 438, 420 ]
13698 silly gunzTarPerm extractEntry test/streams/BaseRollingFileStream-test.js
13699 silly gunzTarPerm modified mode [ 'test/streams/BaseRollingFileStream-test.js', 438, 420 ]
13700 silly gunzTarPerm extractEntry test/streams/rollingFileStream-test.js
13701 silly gunzTarPerm modified mode [ 'test/streams/rollingFileStream-test.js', 438, 420 ]
13702 silly gunzTarPerm extractEntry test/streams/DateRollingFileStream-test.js
13703 silly gunzTarPerm modified mode [ 'test/streams/DateRollingFileStream-test.js', 438, 420 ]
13704 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream
13705 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream', 438, 420 ]
13706 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream-write-less
13707 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream-write-less', 438, 420 ]
13708 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream-write-more
13709 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream-write-more', 438, 420 ]
13710 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.20
13711 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.20',
13711 silly gunzTarPerm 438,
13711 silly gunzTarPerm 420 ]
13712 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files
13713 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files',
13713 silly gunzTarPerm 438,
13713 silly gunzTarPerm 420 ]
13714 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.0
13715 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.0',
13715 silly gunzTarPerm 438,
13715 silly gunzTarPerm 420 ]
13716 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.1
13717 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.1',
13717 silly gunzTarPerm 438,
13717 silly gunzTarPerm 420 ]
13718 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.11
13719 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.11',
13719 silly gunzTarPerm 438,
13719 silly gunzTarPerm 420 ]
13720 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.2
13721 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.2',
13721 silly gunzTarPerm 438,
13721 silly gunzTarPerm 420 ]
13722 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream-write-more.1
13723 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream-write-more.1',
13723 silly gunzTarPerm 438,
13723 silly gunzTarPerm 420 ]
13724 silly gunzTarPerm extractEntry test/with-categoryFilter.json
13725 silly gunzTarPerm modified mode [ 'test/with-categoryFilter.json', 438, 420 ]
13726 silly gunzTarPerm extractEntry test/with-dateFile.json
13727 silly gunzTarPerm modified mode [ 'test/with-dateFile.json', 438, 420 ]
13728 silly gunzTarPerm extractEntry test/with-log-rolling.json
13729 silly gunzTarPerm modified mode [ 'test/with-log-rolling.json', 438, 420 ]
13730 silly gunzTarPerm extractEntry test/with-logLevelFilter.json
13731 silly gunzTarPerm modified mode [ 'test/with-logLevelFilter.json', 438, 420 ]
13732 silly gunzTarPerm extractEntry test0
13733 silly gunzTarPerm modified mode [ 'test0', 438, 420 ]
13734 silly gunzTarPerm extractEntry test1
13735 silly gunzTarPerm modified mode [ 'test1', 438, 420 ]
13736 silly gunzTarPerm extractEntry test2
13737 silly gunzTarPerm modified mode [ 'test2', 438, 420 ]
13738 silly gunzTarPerm extractEntry test3
13739 silly gunzTarPerm modified mode [ 'test3', 438, 420 ]
13740 silly gunzTarPerm extractEntry test4
13741 silly gunzTarPerm modified mode [ 'test4', 438, 420 ]
13742 silly gunzTarPerm extractEntry lib/patch.js
13743 silly gunzTarPerm modified mode [ 'lib/patch.js', 438, 420 ]
13744 http 304 https://registry.npmjs.org/bin-wrapper
13745 silly registry.get cb [ 304,
13745 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13745 silly registry.get etag: '"78J8M4EY08G6Y3EUM76199276"',
13745 silly registry.get date: 'Thu, 21 Nov 2013 08:42:56 GMT',
13745 silly registry.get 'content-length': '0' } ]
13746 verbose etag bin-wrapper from cache
13747 silly gunzTarPerm extractEntry debug.js
13748 silly gunzTarPerm modified mode [ 'debug.js', 438, 420 ]
13749 silly gunzTarPerm extractEntry index.js
13750 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
13751 silly gunzTarPerm extractEntry lib/proto.js
13752 silly gunzTarPerm modified mode [ 'lib/proto.js', 438, 420 ]
13753 silly gunzTarPerm extractEntry lib/coffee-script/grammar.js
13754 silly gunzTarPerm modified mode [ 'lib/coffee-script/grammar.js', 438, 420 ]
13755 silly gunzTarPerm extractEntry .npmignore
13756 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
13757 silly gunzTarPerm extractEntry README.md
13758 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
13759 silly lockFile af02651e-npmconf-0-0-24 npmconf@0.0.24
13760 silly lockFile af02651e-npmconf-0-0-24 npmconf@0.0.24
13761 silly gunzTarPerm extractEntry dist/lodash.legacy.js
13762 silly gunzTarPerm modified mode [ 'dist/lodash.legacy.js', 438, 420 ]
13763 info preinstall dateformat@1.0.2-1.2.3
13764 silly gunzTarPerm extractEntry ReadMe.md
13765 silly gunzTarPerm modified mode [ 'ReadMe.md', 438, 420 ]
13766 silly gunzTarPerm extractEntry lib/namespace.js
13767 silly gunzTarPerm modified mode [ 'lib/namespace.js', 438, 420 ]
13768 silly gunzTarPerm extractEntry lib/parser.js
13769 silly gunzTarPerm modified mode [ 'lib/parser.js', 438, 420 ]
13770 verbose readDependencies using package.json deps
13771 verbose readDependencies using package.json deps
13772 silly resolved []
13773 verbose about to build C:\Projects\trainingsservice\node_modules\grunt\node_modules\dateformat
13774 info build C:\Projects\trainingsservice\node_modules\grunt\node_modules\dateformat
13775 verbose linkStuff [ false,
13775 verbose linkStuff false,
13775 verbose linkStuff false,
13775 verbose linkStuff 'C:\\Projects\\trainingsservice\\node_modules\\grunt\\node_modules' ]
13776 info linkStuff dateformat@1.0.2-1.2.3
13777 verbose linkBins dateformat@1.0.2-1.2.3
13778 verbose linkMans dateformat@1.0.2-1.2.3
13779 verbose rebuildBundles dateformat@1.0.2-1.2.3
13780 silly gunzTarPerm extractEntry lib/utils.js
13781 silly gunzTarPerm modified mode [ 'lib/utils.js', 438, 420 ]
13782 silly gunzTarPerm extractEntry lib/middleware/basicAuth.js
13783 silly gunzTarPerm modified mode [ 'lib/middleware/basicAuth.js', 438, 420 ]
13784 info install dateformat@1.0.2-1.2.3
13785 silly addNameRange number 2 { name: 'bin-wrapper',
13785 silly addNameRange range: '>=0.1.3-0 <0.2.0-0',
13785 silly addNameRange hasData: true }
13786 silly addNameRange versions [ 'bin-wrapper',
13786 silly addNameRange [ '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7' ] ]
13787 verbose addNamed [ 'bin-wrapper', '0.1.7' ]
13788 verbose addNamed [ '0.1.7', '0.1.7' ]
13789 silly lockFile f28efa9b-bin-wrapper-0-1-7 bin-wrapper@0.1.7
13790 verbose lock bin-wrapper@0.1.7 C:\Users\lukasz.zak\AppData\Roaming\npm-cache\f28efa9b-bin-wrapper-0-1-7.lock
13791 silly gunzTarPerm extractEntry LICENSE
13792 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
13793 silly gunzTarPerm extractEntry foot.js
13794 silly gunzTarPerm modified mode [ 'foot.js', 438, 420 ]
13795 info postinstall dateformat@1.0.2-1.2.3
13796 silly gunzTarPerm extractEntry lib/debug.js
13797 silly gunzTarPerm modified mode [ 'lib/debug.js', 438, 420 ]
13798 silly gunzTarPerm extractEntry Readme.md
13799 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
13800 info install which@1.0.5
13801 silly gunzTarPerm extractEntry lib/coffee-script/helpers.js
13802 silly gunzTarPerm modified mode [ 'lib/coffee-script/helpers.js', 438, 420 ]
13803 silly gunzTarPerm extractEntry lib/coffee-script/index.js
13804 silly gunzTarPerm modified mode [ 'lib/coffee-script/index.js', 438, 420 ]
13805 info postinstall which@1.0.5
13806 silly gunzTarPerm extractEntry lib/regexps.js
13807 silly gunzTarPerm modified mode [ 'lib/regexps.js', 438, 420 ]
13808 silly gunzTarPerm extractEntry lib/update.js
13809 silly gunzTarPerm modified mode [ 'lib/update.js', 438, 420 ]
13810 silly lockFile 69cee516-kew-0-1-7 kew@0.1.7
13811 silly lockFile 69cee516-kew-0-1-7 kew@0.1.7
13812 silly gunzTarPerm extractEntry generation/generate-big5-table.js
13813 silly gunzTarPerm modified mode [ 'generation/generate-big5-table.js', 438, 420 ]
13814 silly lockFile fbc33e87-kew-0-1-7 kew@~0.1.7
13815 silly lockFile fbc33e87-kew-0-1-7 kew@~0.1.7
13816 silly gunzTarPerm extractEntry lib/coffee-script/parser.js
13817 silly gunzTarPerm modified mode [ 'lib/coffee-script/parser.js', 438, 420 ]
13818 silly gunzTarPerm extractEntry lib/coffee-script/repl.js
13819 silly gunzTarPerm modified mode [ 'lib/coffee-script/repl.js', 438, 420 ]
13820 silly gunzTarPerm extractEntry generation/generate-singlebyte.js
13821 silly gunzTarPerm modified mode [ 'generation/generate-singlebyte.js', 438, 420 ]
13822 silly gunzTarPerm extractEntry README.md~
13823 silly gunzTarPerm modified mode [ 'README.md~', 438, 420 ]
13824 silly gunzTarPerm extractEntry lib/middleware/errorHandler.js
13825 silly gunzTarPerm modified mode [ 'lib/middleware/errorHandler.js', 438, 420 ]
13826 silly gunzTarPerm extractEntry lib/middleware/favicon.js
13827 silly gunzTarPerm modified mode [ 'lib/middleware/favicon.js', 438, 420 ]
13828 silly resolved [ { author:
13828 silly resolved { name: 'Isaac Z. Schlueter',
13828 silly resolved email: 'i@izs.me',
13828 silly resolved url: 'http://blog.izs.me' },
13828 silly resolved name: 'which',
13828 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
13828 silly resolved version: '1.0.5',
13828 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
13828 silly resolved main: 'which.js',
13828 silly resolved bin: { which: './bin/which' },
13828 silly resolved engines: { node: '*' },
13828 silly resolved dependencies: {},
13828 silly resolved devDependencies: {},
13828 silly resolved readme: 'The "which" util from npm\'s guts.\n\nFinds the first instance of a specified executable in the PATH\nenvironment variable. Does not cache the results, so `hash -r` is not\nneeded when the PATH changes.\n',
13828 silly resolved readmeFilename: 'README.md',
13828 silly resolved bugs: { url: 'https://github.com/isaacs/node-which/issues' },
13828 silly resolved homepage: 'https://github.com/isaacs/node-which',
13828 silly resolved _id: 'which@1.0.5',
13828 silly resolved _from: 'which@~1.0.5',
13828 silly resolved scripts: {} },
13828 silly resolved { name: 'mkdirp',
13828 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
13828 silly resolved version: '0.3.5',
13828 silly resolved author:
13828 silly resolved { name: 'James Halliday',
13828 silly resolved email: 'mail@substack.net',
13828 silly resolved url: 'http://substack.net' },
13828 silly resolved main: './index',
13828 silly resolved keywords: [ 'mkdir', 'directory' ],
13828 silly resolved repository:
13828 silly resolved { type: 'git',
13828 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
13828 silly resolved scripts: { test: 'tap test/*.js' },
13828 silly resolved devDependencies: { tap: '~0.4.0' },
13828 silly resolved license: 'MIT',
13828 silly resolved readme: '# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require(\'mkdirp\');\n \nmkdirp(\'/tmp/foo/bar/baz\', function (err) {\n if (err) console.error(err)\n else console.log(\'pow!\')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require(\'mkdirp\');\n```\n\n## mkdirp(dir, mode, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn\'t specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\n## mkdirp.sync(dir, mode)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn\'t specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n',
13828 silly resolved readmeFilename: 'readme.markdown',
13828 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
13828 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
13828 silly resolved _id: 'mkdirp@0.3.5',
13828 silly resolved _from: 'mkdirp@~0.3.4' },
13828 silly resolved { name: 'rimraf',
13828 silly resolved version: '2.2.2',
13828 silly resolved main: 'rimraf.js',
13828 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
13828 silly resolved author:
13828 silly resolved { name: 'Isaac Z. Schlueter',
13828 silly resolved email: 'i@izs.me',
13828 silly resolved url: 'http://blog.izs.me/' },
13828 silly resolved license:
13828 silly resolved { type: 'MIT',
13828 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
13828 silly resolved optionalDependencies: { 'graceful-fs': '~2' },
13828 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
13828 silly resolved scripts: { test: 'cd test && bash run.sh' },
13828 silly resolved bin: { rimraf: './bin.js' },
13828 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
13828 silly resolved readme: 'A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n',
13828 silly resolved readmeFilename: 'README.md',
13828 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
13828 silly resolved homepage: 'https://github.com/isaacs/rimraf',
13828 silly resolved dependencies: { 'graceful-fs': '~2' },
13828 silly resolved _id: 'rimraf@2.2.2',
13828 silly resolved _from: 'rimraf@~2.2.2' },
13828 silly resolved { name: 'ncp',
13828 silly resolved version: '0.4.2',
13828 silly resolved author: { name: 'AvianFlu', email: 'charlie@charlieistheman.com' },
13828 silly resolved description: 'Asynchronous recursive file copy utility.',
13828 silly resolved bin: { ncp: './bin/ncp' },
13828 silly resolved devDependencies: { vows: '0.6.x', rimraf: '1.0.x', 'read-dir-files': '0.0.x' },
13828 silly resolved main: './lib/ncp.js',
13828 silly resolved repository: { type: 'git', url: 'https://github.com/AvianFlu/ncp.git' },
13828 silly resolved keywords: [ 'cli', 'copy' ],
13828 silly resolved license: 'MIT',
13828 silly resolved engine: { node: '>=0.4' },
13828 silly resolved scripts: { test: 'vows --isolate --spec' },
13828 silly resolved readme: '# ncp - Asynchronous recursive file & directory copying\n\n[![Build Status](https://secure.travis-ci.org/AvianFlu/ncp.png)](http://travis-ci.org/AvianFlu/ncp)\n\nThink `cp -r`, but pure node, and asynchronous. `ncp` can be used both as a CLI tool and programmatically.\n\n## Command Line usage\n\nUsage is simple: `ncp [source] [dest] [--limit=concurrency limit]\n[--filter=filter] --stopOnErr`\n\nThe \'filter\' is a Regular Expression - matched files will be copied.\n\nThe \'concurrency limit\' is an integer that represents how many pending file system requests `ncp` has at a time.\n\n\'stopOnErr\' is a boolean flag that will tell `ncp` to stop immediately if any\nerrors arise, rather than attempting to continue while logging errors.\n\nIf there are no errors, `ncp` will output `done.` when complete. If there are errors, the error messages will be logged to `stdout` and to `./ncp-debug.log`, and the copy operation will attempt to continue.\n\n## Programmatic usage\n\nProgrammatic usage of `ncp` is just as simple. The only argument to the completion callback is a possible error. \n\n```javascript\nvar ncp = require(\'ncp\').ncp;\n\nncp.limit = 16;\n\nncp(source, destination, function (err) {\n if (err) {\n return console.error(err);\n }\n console.log(\'done!\');\n});\n```\n\nYou can also call ncp like `ncp(source, destination, options, callback)`. \n`options` should be a dictionary. Currently, such options are available:\n\n * `options.filter` - a `RegExp` instance, against which each file name is\n tested to determine whether to copy it or not, or a function taking single\n parameter: copied file name, returning `true` or `false`, determining\n whether to copy file or not.\n\n * `options.transform` - a function: `function (read, write) { read.pipe(write) }`\n used to apply streaming transforms while copying.\n\n * `options.clobber` - boolean=true. if set to false, `ncp` will not overwrite \n destination files that already exist.\n\nPlease open an issue if any bugs arise. As always, I accept (working) pull requests, and refunds are available at `/dev/null`.\n',
13828 silly resolved readmeFilename: 'README.md',
13828 silly resolved bugs: { url: 'https://github.com/AvianFlu/ncp/issues' },
13828 silly resolved homepage: 'https://github.com/AvianFlu/ncp',
13828 silly resolved _id: 'ncp@0.4.2',
13828 silly resolved _from: 'ncp@0.4.2' },
13828 silly resolved { name: 'adm-zip',
13828 silly resolved version: '0.2.1',
13828 silly resolved description: 'A Javascript implementation of zip for nodejs. Allows user to create or extract zip files both in memory or to/from disk',
13828 silly resolved keywords: [ 'zip', 'methods', 'archive', 'unzip' ],
13828 silly resolved homepage: 'http://github.com/cthackers/adm-zip',
13828 silly resolved author:
13828 silly resolved { name: 'Nasca Iacob',
13828 silly resolved email: 'sy@another-d-mention.ro',
13828 silly resolved url: 'https://github.com/cthackers' },
13828 silly resolved bugs:
13828 silly resolved { url: 'https://github.com/cthackers/adm-zip/issues',
13828 silly resolved email: 'sy@another-d-mention.ro' },
13828 silly resolved licenses: [ [Object] ],
13828 silly resolved main: 'adm-zip.js',
13828 silly resolved repository:
13828 silly resolved { type: 'git',
13828 silly resolved url: 'git://github.com/git@github.com:cthackers/adm-zip.git' },
13828 silly resolved engines: { node: '>=0.3.0' },
13828 silly resolved readme: '# ADM-ZIP for NodeJS\r\n\r\nADM-ZIP is a pure JavaScript implementation for zip data compression for [NodeJS](http://nodejs.org/). \r\n\r\n# Installation\r\n\r\nWith [npm](http://npmjs.org) do:\r\n\r\n $ npm install adm-zip\r\n\t\r\n## What is it good for?\r\nThe library allows you to:\r\n\r\n* decompress zip files directly to disk or in memory buffers\r\n* compress files and store them to disk in .zip format or in compressed buffers\r\n* update content of/add new/delete files from an existing .zip\r\n\r\n# Dependencies\r\nThere are no other nodeJS libraries that ADM-ZIP is dependent of\r\n\r\n# Examples\r\n\r\n## Basic usage\r\n```javascript\r\n\r\n\tvar AdmZip = require(\'adm-zip\');\r\n\r\n\t// reading archives\r\n\tvar zip = new AdmZip("./my_file.zip");\r\n\tvar zipEntries = zip.getEntries(); // an array of ZipEntry records\r\n\r\n\tzipEntries.forEach(function(zipEntry) {\r\n\t console.log(zipEntry.toString()); // outputs zip entries information\r\n\t\tif (zipEntry.entryName == "my_file.txt") {\r\n\t\t console.log(zipEntry.data.toString(\'utf8\')); \r\n\t\t}\r\n\t});\r\n\t// outputs the content of some_folder/my_file.txt\r\n\tconsole.log(zip.readAsText("some_folder/my_file.txt")); \r\n\t// extracts the specified file to the specified location\r\n\tzip.extractEntryTo(/*entry name*/"some_folder/my_file.txt", /*target path*/"/home/me/tempfolder", /*overwrite*/true)\r\n\t// extracts everything\r\n\tzip.extractAllTo(/*target path*/"/home/me/zipcontent/", /*overwrite*/true);\r\n\t\r\n\t\r\n\t// creating archives\r\n\tvar zip = new AdmZip();\r\n\t\r\n\t// add file directly\r\n\tzip.addFile("test.txt", new Buffer("inner content of the file"), "entry comment goes here");\r\n\t// add local file\r\n\tzip.addLocalFile("/home/me/some_picture.png");\r\n\t// get everything as a buffer\r\n\tvar willSendthis = zip.toBuffer();\r\n\t// or write everything to disk\r\n\tzip.writeZip(/*target file name*/"/home/me/files.zip");\r\n\t\r\n\t\r\n\t// ... more examples in the wiki\r\n```\r\n\r\nFor more detailed information please check out the [wiki](https://github.com/cthackers/adm-zip/wiki).\n\n[![build status](https://secure.travis-ci.org/cthackers/adm-zip.png)](http://travis-ci.org/cthackers/adm-zip)',
13828 silly resolved readmeFilename: 'README.md',
13828 silly resolved _id: 'adm-zip@0.2.1',
13828 silly resolved _from: 'adm-zip@0.2.1' },
13828 silly resolved { name: 'npmconf',
13828 silly resolved version: '0.0.24',
13828 silly resolved description: 'The config thing npm uses',
13828 silly resolved main: 'npmconf.js',
13828 silly resolved directories: { test: 'test' },
13828 silly resolved dependencies:
13828 silly resolved { 'config-chain': '~1.1.1',
13828 silly resolved inherits: '~1.0.0',
13828 silly resolved once: '~1.1.1',
13828 silly resolved mkdirp: '~0.3.3',
13828 silly resolved osenv: '0.0.3',
13828 silly resolved nopt: '2',
13828 silly resolved semver: '~1.1.0',
13828 silly resolved ini: '~1.1.0' },
13828 silly resolved devDependencies: {},
13828 silly resolved s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment