Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

little mods for updated specification

  • Loading branch information...
commit 07b3cfedfa60ab3f1435fd3963b9c69d487beef9 1 parent b68b40a
Hideyuki Saito hideyukisaito authored
Showing with 2,301 additions and 8,835 deletions.
  1. +2 −1  .gitignore
  2. +1 −1  bin/osc.js
  3. +5 −5 lib/ui.js
  4. +5 −1 node_modules/express/node_modules/buffer-crc32/package.json
  5. +5 −1 node_modules/express/node_modules/commander/package.json
  6. +5 −1 node_modules/express/node_modules/connect/node_modules/bytes/package.json
  7. +5 −1 node_modules/express/node_modules/connect/node_modules/formidable/package.json
  8. +5 −1 node_modules/express/node_modules/connect/node_modules/pause/package.json
  9. +5 −1 node_modules/express/node_modules/connect/node_modules/qs/package.json
  10. +5 −1 node_modules/express/node_modules/connect/package.json
  11. +5 −1 node_modules/express/node_modules/cookie-signature/package.json
  12. +5 −1 node_modules/express/node_modules/cookie/package.json
  13. +15 −0 node_modules/express/node_modules/debug/History.md
  14. +0 −4 node_modules/express/node_modules/debug/Makefile
  15. +3 −18 node_modules/express/node_modules/debug/Readme.md
  16. +0 −120 node_modules/express/node_modules/debug/debug.component.js
  17. +10 −2 node_modules/express/node_modules/debug/debug.js
  18. +0 −1  node_modules/express/node_modules/debug/head.js
  19. +5 −2 node_modules/express/node_modules/debug/index.js
  20. +5 −6 node_modules/express/node_modules/debug/lib/debug.js
  21. +17 −7 node_modules/express/node_modules/debug/package.json
  22. +0 −4 node_modules/express/node_modules/debug/tail.js
  23. +5 −1 node_modules/express/node_modules/fresh/package.json
  24. +5 −1 node_modules/express/node_modules/methods/package.json
  25. +5 −1 node_modules/express/node_modules/mkdirp/package.json
  26. +5 −1 node_modules/express/node_modules/range-parser/package.json
  27. +5 −1 node_modules/express/node_modules/send/node_modules/mime/package.json
  28. +5 −1 node_modules/express/node_modules/send/package.json
  29. +5 −1 node_modules/express/package.json
  30. +11 −9 node_modules/jade/Readme.md
  31. +1 −1  node_modules/jade/lib/jade.js
  32. +8 −8 node_modules/jade/lib/parser.js
  33. +0 −1  node_modules/jade/node_modules/.bin/cake
  34. +0 −1  node_modules/jade/node_modules/.bin/coffee
  35. +0 −11 node_modules/jade/node_modules/coffee-script/.npmignore
  36. +0 −1  node_modules/jade/node_modules/coffee-script/CNAME
  37. +0 −9 node_modules/jade/node_modules/coffee-script/CONTRIBUTING.md
  38. +0 −22 node_modules/jade/node_modules/coffee-script/LICENSE
  39. +0 −51 node_modules/jade/node_modules/coffee-script/README
  40. +0 −78 node_modules/jade/node_modules/coffee-script/Rakefile
  41. +0 −7 node_modules/jade/node_modules/coffee-script/bin/cake
  42. +0 −7 node_modules/jade/node_modules/coffee-script/bin/coffee
  43. +0 −44 node_modules/jade/node_modules/coffee-script/extras/jsl.conf
  44. +0 −92 node_modules/jade/node_modules/coffee-script/lib/coffee-script/browser.js
  45. +0 −113 node_modules/jade/node_modules/coffee-script/lib/coffee-script/cake.js
  46. +0 −171 node_modules/jade/node_modules/coffee-script/lib/coffee-script/coffee-script.js
  47. +0 −502 node_modules/jade/node_modules/coffee-script/lib/coffee-script/command.js
  48. +0 −606 node_modules/jade/node_modules/coffee-script/lib/coffee-script/grammar.js
  49. +0 −88 node_modules/jade/node_modules/coffee-script/lib/coffee-script/helpers.js
  50. +0 −11 node_modules/jade/node_modules/coffee-script/lib/coffee-script/index.js
  51. +0 −788 node_modules/jade/node_modules/coffee-script/lib/coffee-script/lexer.js
  52. +0 −2,971 node_modules/jade/node_modules/coffee-script/lib/coffee-script/nodes.js
  53. +0 −138 node_modules/jade/node_modules/coffee-script/lib/coffee-script/optparse.js
  54. +0 −683 node_modules/jade/node_modules/coffee-script/lib/coffee-script/parser.js
  55. +0 −276 node_modules/jade/node_modules/coffee-script/lib/coffee-script/repl.js
  56. +0 −349 node_modules/jade/node_modules/coffee-script/lib/coffee-script/rewriter.js
  57. +0 −146 node_modules/jade/node_modules/coffee-script/lib/coffee-script/scope.js
  58. +0 −48 node_modules/jade/node_modules/coffee-script/package.json
  59. +5 −1 node_modules/jade/node_modules/commander/package.json
  60. +2 −1  node_modules/jade/node_modules/mkdirp/.travis.yml
  61. +26 −24 node_modules/jade/node_modules/mkdirp/README.markdown
  62. +10 −9 node_modules/jade/node_modules/mkdirp/package.json
  63. +11 −6 node_modules/jade/package.json
  64. +0 −1  node_modules/mongoose/.travis.yml
  65. +7 −0 node_modules/mongoose/CONTRIBUTING.md
  66. +44 −0 node_modules/mongoose/History.md
  67. +33 −110 node_modules/mongoose/README.md
  68. +2 −2 node_modules/mongoose/lib/connection.js
  69. +7 −8 node_modules/mongoose/lib/document.js
  70. +40 −18 node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js
  71. +2 −2 node_modules/mongoose/lib/index.js
  72. +96 −19 node_modules/mongoose/lib/model.js
  73. +18 −11 node_modules/mongoose/lib/promise.js
  74. +4 −4 node_modules/mongoose/lib/query.js
  75. +5 −3 node_modules/mongoose/lib/schema.js
  76. +5 −0 node_modules/mongoose/lib/schema/array.js
  77. +2 −1  node_modules/mongoose/lib/schema/buffer.js
  78. +1 −1  node_modules/mongoose/lib/schema/number.js
  79. +27 −2 node_modules/mongoose/lib/types/buffer.js
  80. +1 −1  node_modules/mongoose/lib/types/documentarray.js
  81. +15 −40 node_modules/mongoose/lib/utils.js
  82. +5 −1 node_modules/mongoose/node_modules/hooks/package.json
  83. +4 −3 node_modules/mongoose/node_modules/mongodb/lib/mongodb/admin.js
  84. +54 −18 node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js
  85. +3 −2 node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/db_command.js
  86. +145 −26 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js
  87. +78 −24 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js
  88. +38 −9 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js
  89. +27 −3 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/mongos.js
  90. +221 −81 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/repl_set.js
  91. +83 −43 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js
  92. +135 −33 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/strategies/ping_strategy.js
  93. +3 −1 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/strategies/statistics_strategy.js
  94. +6 −6 node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/url_parser.js
  95. +156 −49 node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js
  96. +141 −220 node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js
  97. +0 −20 node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js
  98. +1 −1  node_modules/mongoose/node_modules/mongodb/lib/mongodb/mongo_client.js
  99. +24 −0 node_modules/mongoose/node_modules/mongodb/lib/mongodb/utils.js
  100. +3 −0  node_modules/mongoose/node_modules/mongodb/node_modules/bson/Makefile
  101. +2 −2 node_modules/mongoose/node_modules/mongodb/node_modules/bson/build/Makefile
  102. +31 −31 ...es/mongoose/node_modules/mongodb/node_modules/bson/build/Release/.deps/Release/obj.target/bson/ext/bson.o.d
  103. BIN  node_modules/mongoose/node_modules/mongodb/node_modules/bson/build/Release/bson.node
  104. BIN  node_modules/mongoose/node_modules/mongodb/node_modules/bson/build/Release/obj.target/bson/ext/bson.o
  105. +8 −8 node_modules/mongoose/node_modules/mongodb/node_modules/bson/build/bson.target.mk
  106. +28 −28 node_modules/mongoose/node_modules/mongodb/node_modules/bson/build/config.gypi
  107. +22 −36 node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/bson.cc
  108. BIN  node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/win32/ia32/bson.node
  109. BIN  node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/win32/x64/bson.node
  110. +0 −56 node_modules/mongoose/node_modules/mongodb/node_modules/bson/install.js
  111. +11 −4 node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/binary.js
  112. +25 −1 node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/bson.js
  113. +11 −6 node_modules/mongoose/node_modules/mongodb/node_modules/bson/package.json
  114. +12 −1 node_modules/mongoose/node_modules/mongodb/node_modules/bson/test/node/bson_parser_comparision_test.js
  115. +23 −0 node_modules/mongoose/node_modules/mongodb/node_modules/bson/test/node/bson_test.js
  116. +7 −6 node_modules/mongoose/node_modules/mongodb/package.json
  117. +5 −1 node_modules/mongoose/node_modules/ms/package.json
  118. +15 −0 node_modules/mongoose/node_modules/muri/History.md
  119. +72 −21 node_modules/mongoose/node_modules/muri/lib/index.js
  120. +5 −4 node_modules/mongoose/node_modules/muri/package.json
  121. +32 −14 node_modules/mongoose/node_modules/muri/test/index.js
  122. +5 −1 node_modules/mongoose/node_modules/sliced/package.json
  123. +11 −7 node_modules/mongoose/package.json
  124. +2 −1  node_modules/morph/package.json
  125. +32 −31 node_modules/stylus/Readme.md
  126. +144 −135 node_modules/stylus/lib/parser.js
  127. +3 −2 node_modules/stylus/lib/utils.js
  128. +33 −7 node_modules/stylus/lib/visitor/evaluator.js
  129. +3 −3 node_modules/stylus/lib/visitor/normalizer.js
  130. +5 −1 node_modules/stylus/node_modules/cssom/package.json
  131. +15 −0 node_modules/stylus/node_modules/debug/History.md
  132. +0 −4 node_modules/stylus/node_modules/debug/Makefile
  133. +3 −18 node_modules/stylus/node_modules/debug/Readme.md
  134. +0 −120 node_modules/stylus/node_modules/debug/debug.component.js
  135. +10 −2 node_modules/stylus/node_modules/debug/debug.js
  136. +0 −1  node_modules/stylus/node_modules/debug/head.js
  137. +5 −2 node_modules/stylus/node_modules/debug/index.js
  138. +5 −6 node_modules/stylus/node_modules/debug/lib/debug.js
  139. +16 −7 node_modules/stylus/node_modules/debug/package.json
  140. +0 −4 node_modules/stylus/node_modules/debug/tail.js
  141. +2 −1  node_modules/stylus/node_modules/mkdirp/.travis.yml
  142. +26 −24 node_modules/stylus/node_modules/mkdirp/README.markdown
  143. +10 −9 node_modules/stylus/node_modules/mkdirp/package.json
  144. +6 −5 node_modules/stylus/package.json
  145. +3 −2 package.json
3  .gitignore
View
@@ -1,3 +1,4 @@
node_modules
.DS_Store
-/public/photos/
+/public/photos/
+
2  bin/osc.js
View
@@ -72,7 +72,7 @@ UI.prototype.send = function(address, msg) {
var ui = new UI();
ui.on('hello', function(message) {
- console.log(message);
+ console.log('osc.js:hello!', message);
});
ui.on('viewpoint', function(message) {
10 lib/ui.js
View
@@ -24,13 +24,13 @@ function UI() {
this.sock.on('message', function(msg, remote) {
var msg = osc.fromBuffer(msg)
- , address = msg.address.replace('/gianteyes/', '')
- , args = msg.args
+ , address = msg.elements[0].address.replace('/gianteyes/', '')
+ , args = msg.elements[0].args
, keys = self.keys[address]
, data = remote;
keys.forEach(function(key, i) {
- data[key] = args[i]['value'];
+ if (undefined !== args[i]) data[key] = args[i]['value'];
});
self.emit(address, data);
@@ -47,7 +47,7 @@ UI.prototype.addClient = function(message) {
// self.clients.push({ ip: ip, port: port });
self.clients[ip] = port;
-
+
Camera
.find({})
.populate('photos')
@@ -76,7 +76,7 @@ module.exports = UI;
var ui = new UI();
ui.on('hello', function(message) {
- console.log(message);
+ console.log('ui.js:hello!', message);
});
// ui.on('viewpoint', function(message) {
6 node_modules/express/node_modules/buffer-crc32/package.json
View
@@ -27,5 +27,9 @@
"readme": "# buffer-crc32\n\n[![Build Status](https://secure.travis-ci.org/brianloveswords/buffer-crc32.png?branch=master)](http://travis-ci.org/brianloveswords/buffer-crc32)\n\ncrc32 that works with binary data and fancy character sets, outputs\nbuffer, signed or unsigned data and has tests.\n\nDerived from the sample CRC implementation in the PNG specification: http://www.w3.org/TR/PNG/#D-CRCAppendix\n\n# install\n```\nnpm install buffer-crc32\n```\n\n# example\n```js\nvar crc32 = require('buffer-crc32');\n// works with buffers\nvar buf = Buffer([[0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00])\ncrc32(buf) // -> <Buffer 94 5a ab 4a>\n\n// has convenience methods for getting signed or unsigned ints\ncrc32.signed(buf) // -> -1805997238\ncrc32.unsigned(buf) // -> 2488970058\n\n// will cast to buffer if given a string, so you can\n// directly use foreign characters safely\ncrc32('自動販売機') // -> <Buffer cb 03 1a c5>\n```\n\n# tests\nThis was tested against the output of zlib's crc32 method. You can run\nthe tests with`npm test` (requires tap)\n",
"readmeFilename": "README.md",
"_id": "buffer-crc32@0.1.1",
- "_from": "buffer-crc32@0.1.1"
+ "dist": {
+ "shasum": "7e110dc9953908ab7c32acdc70c9f945b1cbc526"
+ },
+ "_from": "buffer-crc32@0.1.1",
+ "_resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz"
}
6 node_modules/express/node_modules/commander/package.json
View
@@ -31,5 +31,9 @@
"readme": "# Commander.js\n\n The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('commander');\n\nprogram\n .version('0.0.1')\n .option('-p, --peppers', 'Add peppers')\n .option('-P, --pineapple', 'Add pineapple')\n .option('-b, --bbq', 'Add bbq sauce')\n .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')\n .parse(process.argv);\n\nconsole.log('you ordered a pizza with:');\nif (program.peppers) console.log(' - peppers');\nif (program.pineapple) console.log(' - pineappe');\nif (program.bbq) console.log(' - bbq');\nconsole.log(' - %s cheese', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as \"--template-engine\" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n``` \n $ ./examples/pizza --help\n\n Usage: pizza [options]\n\n Options:\n\n -V, --version output the version number\n -p, --peppers Add peppers\n -P, --pineapple Add pineappe\n -b, --bbq Add bbq sauce\n -c, --cheese <type> Add the specified type of cheese [marble]\n -h, --help output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n return val.split('..').map(Number);\n}\n\nfunction list(val) {\n return val.split(',');\n}\n\nprogram\n .version('0.0.1')\n .usage('[options] <file ...>')\n .option('-i, --integer <n>', 'An integer argument', parseInt)\n .option('-f, --float <n>', 'A float argument', parseFloat)\n .option('-r, --range <a>..<b>', 'A range', range)\n .option('-l, --list <items>', 'A list', list)\n .option('-o, --optional [value]', 'An optional value')\n .parse(process.argv);\n\nconsole.log(' int: %j', program.integer);\nconsole.log(' float: %j', program.float);\nconsole.log(' optional: %j', program.optional);\nprogram.range = program.range || [];\nconsole.log(' range: %j..%j', program.range[0], program.range[1]);\nconsole.log(' list: %j', program.list);\nconsole.log(' args: %j', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for \"--help\". Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable \"stuff\" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('../');\n\nfunction list(val) {\n return val.split(',').map(Number);\n}\n\nprogram\n .version('0.0.1')\n .option('-f, --foo', 'enable some foo')\n .option('-b, --bar', 'enable some bar')\n .option('-B, --baz', 'enable some baz');\n\n// must be before .parse() since\n// node's emit() is immediate\n\nprogram.on('--help', function(){\n console.log(' Examples:');\n console.log('');\n console.log(' $ custom-help --help');\n console.log(' $ custom-help -h');\n console.log('');\n});\n\nprogram.parse(process.argv);\n\nconsole.log('stuff');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n -h, --help output usage information\n -V, --version output the version number\n -f, --foo enable some foo\n -b, --bar enable some bar\n -B, --baz enable some baz\n\nExamples:\n\n $ custom-help --help\n $ custom-help -h\n\n```\n\n## .prompt(msg, fn)\n\n Single-line prompt:\n\n```js\nprogram.prompt('name: ', function(name){\n console.log('hi %s', name);\n});\n```\n\n Multi-line prompt:\n\n```js\nprogram.prompt('description:', function(name){\n console.log('hi %s', name);\n});\n```\n\n Coercion:\n\n```js\nprogram.prompt('Age: ', Number, function(age){\n console.log('age: %j', age);\n});\n```\n\n```js\nprogram.prompt('Birthdate: ', Date, function(date){\n console.log('date: %s', date);\n});\n```\n\n## .password(msg[, mask], fn)\n\nPrompt for password without echoing:\n\n```js\nprogram.password('Password: ', function(pass){\n console.log('got \"%s\"', pass);\n process.stdin.destroy();\n});\n```\n\nPrompt for password with mask char \"*\":\n\n```js\nprogram.password('Password: ', '*', function(pass){\n console.log('got \"%s\"', pass);\n process.stdin.destroy();\n});\n```\n\n## .confirm(msg, fn)\n\n Confirm with the given `msg`:\n\n```js\nprogram.confirm('continue? ', function(ok){\n console.log(' got %j', ok);\n});\n```\n\n## .choose(list, fn)\n\n Let the user choose from a `list`:\n\n```js\nvar list = ['tobi', 'loki', 'jane', 'manny', 'luna'];\n\nconsole.log('Choose the coolest pet:');\nprogram.choose(list, function(i){\n console.log('you chose %d \"%s\"', i, list[i]);\n});\n```\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\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.",
"readmeFilename": "Readme.md",
"_id": "commander@0.6.1",
- "_from": "commander@0.6.1"
+ "dist": {
+ "shasum": "23256d7136c633295062196d996b0fdd21153baf"
+ },
+ "_from": "commander@0.6.1",
+ "_resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz"
}
6 node_modules/express/node_modules/connect/node_modules/bytes/package.json
View
@@ -21,5 +21,9 @@
"readme": "# node-bytes\n\n Byte string parser / formatter.\n\n## Example:\n\n```js\nbytes('1kb')\n// => 1024\n\nbytes('2mb')\n// => 2097152\n\nbytes('1gb')\n// => 1073741824\n\nbytes(1073741824)\n// => 1gb\n```\n\n## Installation\n\n```\n$ npm install bytes\n$ component install visionmedia/bytes.js\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 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",
"readmeFilename": "Readme.md",
"_id": "bytes@0.1.0",
- "_from": "bytes@0.1.0"
+ "dist": {
+ "shasum": "c574812228126d6369d1576925a8579db3f8e5a2"
+ },
+ "_from": "bytes@0.1.0",
+ "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz"
}
6 node_modules/express/node_modules/connect/node_modules/formidable/package.json
View
@@ -24,5 +24,9 @@
"readmeFilename": "Readme.md",
"_id": "formidable@1.0.11",
"description": "[![Build Status](https://secure.travis-ci.org/felixge/node-formidable.png?branch=master)](http://travis-ci.org/felixge/node-formidable)",
- "_from": "formidable@1.0.11"
+ "dist": {
+ "shasum": "68f63325a035e644b6f7bb3d11243b9761de1b30"
+ },
+ "_from": "formidable@1.0.11",
+ "_resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz"
}
6 node_modules/express/node_modules/connect/node_modules/pause/package.json
View
@@ -16,5 +16,9 @@
"readme": "\n# pause\n\n Pause streams...\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 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.",
"readmeFilename": "Readme.md",
"_id": "pause@0.0.1",
- "_from": "pause@0.0.1"
+ "dist": {
+ "shasum": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
+ },
+ "_from": "pause@0.0.1",
+ "_resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz"
}
6 node_modules/express/node_modules/connect/node_modules/qs/package.json
View
@@ -32,5 +32,9 @@
"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.",
"readmeFilename": "Readme.md",
"_id": "qs@0.5.1",
- "_from": "qs@0.5.1"
+ "dist": {
+ "shasum": "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0"
+ },
+ "_from": "qs@0.5.1",
+ "_resolved": "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz"
}
6 node_modules/express/node_modules/connect/package.json
View
@@ -46,5 +46,9 @@
"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",
"readmeFilename": "Readme.md",
"_id": "connect@2.7.2",
- "_from": "connect@2.7.2"
+ "dist": {
+ "shasum": "11799463bdaaaf99d5f9bef133bf2420b26e2680"
+ },
+ "_from": "connect@2.7.2",
+ "_resolved": "https://registry.npmjs.org/connect/-/connect-2.7.2.tgz"
}
6 node_modules/express/node_modules/cookie-signature/package.json
View
@@ -20,5 +20,9 @@
"readme": "\n# cookie-signature\n\n Sign and unsign cookies.\n\n## Example\n\n```js\nvar cookie = require('cookie-signature');\n\nvar val = cookie.sign('hello', 'tobiiscool');\nval.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI');\n\nvar val = cookie.sign('hello', 'tobiiscool');\ncookie.unsign(val, 'tobiiscool').should.equal('hello');\ncookie.unsign(val, 'luna').should.be.false;\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 LearnBoost &lt;tj@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.",
"readmeFilename": "Readme.md",
"_id": "cookie-signature@0.0.1",
- "_from": "cookie-signature@0.0.1"
+ "dist": {
+ "shasum": "13d3603b5cf63befbf85a8801e37aa900db46985"
+ },
+ "_from": "cookie-signature@0.0.1",
+ "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz"
}
6 node_modules/express/node_modules/cookie/package.json
View
@@ -29,5 +29,9 @@
"readme": "# cookie [![Build Status](https://secure.travis-ci.org/shtylman/node-cookie.png?branch=master)](http://travis-ci.org/shtylman/node-cookie) #\n\ncookie is a basic cookie parser and serializer. It doesn't make assumptions about how you are going to deal with your cookies. It basically just provides a way to read and write the HTTP cookie headers.\n\nSee [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies.\n\n## how?\n\n```\nnpm install cookie\n```\n\n```javascript\nvar cookie = require('cookie');\n\nvar hdr = cookie.serialize('foo', 'bar');\n// hdr = 'foo=bar';\n\nvar cookies = cookie.parse('foo=bar; cat=meow; dog=ruff');\n// cookies = { foo: 'bar', cat: 'meow', dog: 'ruff' };\n```\n\n## more\n\nThe serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values.\n\n### path\n> cookie path\n\n### expires\n> absolute expiration date for the cookie (Date object)\n\n### maxAge\n> relative max age of the cookie from when the client receives it (seconds)\n\n### domain\n> domain for the cookie\n\n### secure\n> true or false\n\n### httpOnly\n> true or false\n\n",
"readmeFilename": "README.md",
"_id": "cookie@0.0.5",
- "_from": "cookie@0.0.5"
+ "dist": {
+ "shasum": "59c210f0e43888d4afcd7e3f030e501028a14f0b"
+ },
+ "_from": "cookie@0.0.5",
+ "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz"
}
15 node_modules/express/node_modules/debug/History.md
View
@@ -1,4 +1,19 @@
+0.7.2 / 2013-02-06
+==================
+
+ * fix package.json
+ * fix: Mobile Safari (private mode) is broken with debug
+ * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
+
+0.7.1 / 2013-02-05
+==================
+
+ * add repository URL to package.json
+ * add DEBUG_COLORED to force colored output
+ * add browserify support
+ * fix component. Closes #24
+
0.7.0 / 2012-05-04
==================
4 node_modules/express/node_modules/debug/Makefile
View
@@ -1,4 +0,0 @@
-
-debug.component.js: head.js debug.js tail.js
- cat $^ > $@
-
21 node_modules/express/node_modules/debug/Readme.md
View
@@ -1,7 +1,7 @@
# debug
- tiny node.js debugging utility.
+ tiny node.js debugging utility modelled after node core's debugging technique.
## Installation
@@ -9,24 +9,9 @@
$ npm install debug
```
-## Example
+## Usage
- This module is modelled after node core's debugging technique, allowing you to enable one or more topic-specific debugging functions, for example core does the following within many modules:
-
-```js
-var debug;
-if (process.env.NODE_DEBUG && /cluster/.test(process.env.NODE_DEBUG)) {
- debug = function(x) {
- var prefix = process.pid + ',' +
- (process.env.NODE_WORKER_ID ? 'Worker' : 'Master');
- console.error(prefix, x);
- };
-} else {
- debug = function() { };
-}
-```
-
- This concept is extremely simple but it works well. 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.
+ 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.
Example _app.js_:
120 node_modules/express/node_modules/debug/debug.component.js
View
@@ -1,120 +0,0 @@
-;(function(){
-
-/**
- * Create a debugger with the given `name`.
- *
- * @param {String} name
- * @return {Type}
- * @api public
- */
-
-function debug(name) {
- if (!debug.enabled(name)) return function(){};
-
- return function(fmt){
- var curr = new Date;
- var ms = curr - (debug[name] || curr);
- debug[name] = curr;
-
- fmt = name
- + ' '
- + fmt
- + ' +' + debug.humanize(ms);
-
- // This hackery is required for IE8
- // where `console.log` doesn't have 'apply'
- window.console
- && console.log
- && Function.prototype.apply.call(console.log, console, arguments);
- }
-}
-
-/**
- * The currently active debug mode names.
- */
-
-debug.names = [];
-debug.skips = [];
-
-/**
- * Enables a debug mode by name. This can include modes
- * separated by a colon and wildcards.
- *
- * @param {String} name
- * @api public
- */
-
-debug.enable = function(name) {
- localStorage.debug = name;
-
- var split = (name || '').split(/[\s,]+/)
- , len = split.length;
-
- for (var i = 0; i < len; i++) {
- name = split[i].replace('*', '.*?');
- if (name[0] === '-') {
- debug.skips.push(new RegExp('^' + name.substr(1) + '$'));
- }
- else {
- debug.names.push(new RegExp('^' + name + '$'));
- }
- }
-};
-
-/**
- * Disable debug output.
- *
- * @api public
- */
-
-debug.disable = function(){
- debug.enable('');
-};
-
-/**
- * Humanize the given `ms`.
- *
- * @param {Number} m
- * @return {String}
- * @api private
- */
-
-debug.humanize = function(ms) {
- var sec = 1000
- , min = 60 * 1000
- , hour = 60 * min;
-
- if (ms >= hour) return (ms / hour).toFixed(1) + 'h';
- if (ms >= min) return (ms / min).toFixed(1) + 'm';
- if (ms >= sec) return (ms / sec | 0) + 's';
- return ms + 'ms';
-};
-
-/**
- * Returns true if the given mode name is enabled, false otherwise.
- *
- * @param {String} name
- * @return {Boolean}
- * @api public
- */
-
-debug.enabled = function(name) {
- for (var i = 0, len = debug.skips.length; i < len; i++) {
- if (debug.skips[i].test(name)) {
- return false;
- }
- }
- for (var i = 0, len = debug.names.length; i < len; i++) {
- if (debug.names[i].test(name)) {
- return true;
- }
- }
- return false;
-};
-
-// persist
-
-if (window.localStorage) debug.enable(localStorage.debug);
- module.exports = debug;
-
-})();
12 node_modules/express/node_modules/debug/debug.js
View
@@ -1,5 +1,11 @@
/**
+ * Expose `debug()` as the module.
+ */
+
+module.exports = debug;
+
+/**
* Create a debugger with the given `name`.
*
* @param {String} name
@@ -44,7 +50,9 @@ debug.skips = [];
*/
debug.enable = function(name) {
- localStorage.debug = name;
+ try {
+ localStorage.debug = name;
+ } catch(e){}
var split = (name || '').split(/[\s,]+/)
, len = split.length;
@@ -113,4 +121,4 @@ debug.enabled = function(name) {
// persist
-if (window.localStorage) debug.enable(localStorage.debug);
+if (window.localStorage) debug.enable(localStorage.debug);
1  node_modules/express/node_modules/debug/head.js
View
@@ -1 +0,0 @@
-;(function(){
7 node_modules/express/node_modules/debug/index.js
View
@@ -1,2 +1,5 @@
-
-module.exports = require('./lib/debug');
+if ('undefined' == typeof window) {
+ module.exports = require('./lib/debug');
+} else {
+ module.exports = require('./debug');
+}
11 node_modules/express/node_modules/debug/lib/debug.js
View
@@ -1,4 +1,3 @@
-
/**
* Module dependencies.
*/
@@ -113,10 +112,10 @@ function debug(name) {
var ms = curr - (prev[name] || curr);
prev[name] = curr;
- fmt = ' \033[9' + c + 'm' + name + ' '
- + '\033[3' + c + 'm\033[90m'
- + fmt + '\033[3' + c + 'm'
- + ' +' + humanize(ms) + '\033[0m';
+ fmt = ' \u001b[9' + c + 'm' + name + ' '
+ + '\u001b[3' + c + 'm\u001b[90m'
+ + fmt + '\u001b[3' + c + 'm'
+ + ' +' + humanize(ms) + '\u001b[0m';
console.error.apply(this, arguments);
}
@@ -129,7 +128,7 @@ function debug(name) {
colored.enabled = plain.enabled = true;
- return isatty
+ return isatty || process.env.DEBUG_COLORS
? colored
: plain;
}
24 node_modules/express/node_modules/debug/package.json
View
@@ -1,6 +1,10 @@
{
"name": "debug",
- "version": "0.7.0",
+ "version": "0.7.2",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/visionmedia/debug.git"
+ },
"description": "small debugging utility",
"keywords": [
"debug",
@@ -15,18 +19,24 @@
"devDependencies": {
"mocha": "*"
},
- "main": "index",
- "browserify": "debug.component.js",
+ "main": "lib/debug.js",
+ "browserify": "debug.js",
"engines": {
"node": "*"
},
"component": {
"scripts": {
- "debug": "debug.component.js"
+ "debug/index.js": "index.js",
+ "debug/debug.js": "debug.js"
}
},
- "readme": "\n# debug\n\n tiny node.js debugging utility.\n\n## Installation\n\n```\n$ npm install debug\n```\n\n## Example\n\n This module is modelled after node core's debugging technique, allowing you to enable one or more topic-specific debugging functions, for example core does the following within many modules:\n\n```js\nvar debug;\nif (process.env.NODE_DEBUG && /cluster/.test(process.env.NODE_DEBUG)) {\n debug = function(x) {\n var prefix = process.pid + ',' +\n (process.env.NODE_WORKER_ID ? 'Worker' : 'Master');\n console.error(prefix, x);\n };\n} else {\n debug = function() { };\n}\n```\n\n This concept is extremely simple but it works well. 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 stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\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.",
+ "readme": "\n# 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 stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\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.",
"readmeFilename": "Readme.md",
- "_id": "debug@0.7.0",
- "_from": "debug@*"
+ "_id": "debug@0.7.2",
+ "dist": {
+ "shasum": "056692c86670977f115de82917918b8e8b9a10f0"
+ },
+ "_from": "debug@*",
+ "_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.2.tgz",
+ "scripts": {}
}
4 node_modules/express/node_modules/debug/tail.js
View
@@ -1,4 +0,0 @@
-
- module.exports = debug;
-
-})();
6 node_modules/express/node_modules/fresh/package.json
View
@@ -16,5 +16,9 @@
"readme": "\n# node-fresh\n\n HTTP response freshness testing\n\n## fresh(req, res)\n\n Check freshness of `req` and `res` headers.\n\n When the cache is \"fresh\" __true__ is returned,\n otherwise __false__ is returned to indicate that\n the cache is now stale.\n\n## Example:\n\n```js\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'luna' };\nfresh(req, res);\n// => false\n\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'tobi' };\nfresh(req, res);\n// => true\n```\n\n## Installation\n\n```\n$ npm install fresh\n```",
"readmeFilename": "Readme.md",
"_id": "fresh@0.1.0",
- "_from": "fresh@0.1.0"
+ "dist": {
+ "shasum": "03e4b0178424e4c2d5d19a54d8814cdc97934850"
+ },
+ "_from": "fresh@0.1.0",
+ "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz"
}
6 node_modules/express/node_modules/methods/package.json
View
@@ -16,5 +16,9 @@
"license": "MIT",
"_id": "methods@0.0.1",
"readme": "ERROR: No README.md file found!",
- "_from": "methods@0.0.1"
+ "dist": {
+ "shasum": "277c90f8bef39709645a8371c51c3b6c648e068c"
+ },
+ "_from": "methods@0.0.1",
+ "_resolved": "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz"
}
6 node_modules/express/node_modules/mkdirp/package.json
View
@@ -29,5 +29,9 @@
"readme": "mkdirp\n======\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\nexample\n=======\n\npow.js\n------\n var mkdirp = require('mkdirp');\n \n mkdirp('/tmp/foo/bar/baz', function (err) {\n if (err) console.error(err)\n else console.log('pow!')\n });\n\nOutput\n pow!\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\nmethods\n=======\n\nvar mkdirp = require('mkdirp');\n\nmkdirp(dir, mode, cb)\n---------------------\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\nmkdirp.sync(dir, mode)\n----------------------\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\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n npm install mkdirp\n\nlicense\n=======\n\nMIT/X11\n",
"readmeFilename": "README.markdown",
"_id": "mkdirp@0.3.3",
- "_from": "mkdirp@0.3.3"
+ "dist": {
+ "shasum": "55f3d469ed6dac2b15ba71a69ca9d2bdd166cb01"
+ },
+ "_from": "mkdirp@0.3.3",
+ "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz"
}
6 node_modules/express/node_modules/range-parser/package.json
View
@@ -16,5 +16,9 @@
"readme": "\n# node-range-parser\n\n Range header field parser.\n\n## Example:\n\n```js\nassert(-1 == parse(200, 'bytes=500-20'));\nassert(-2 == parse(200, 'bytes=malformed'));\nparse(200, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 199 }]));\nparse(1000, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 499 }]));\nparse(1000, 'bytes=40-80').should.eql(arr('bytes', [{ start: 40, end: 80 }]));\nparse(1000, 'bytes=-500').should.eql(arr('bytes', [{ start: 500, end: 999 }]));\nparse(1000, 'bytes=-400').should.eql(arr('bytes', [{ start: 600, end: 999 }]));\nparse(1000, 'bytes=500-').should.eql(arr('bytes', [{ start: 500, end: 999 }]));\nparse(1000, 'bytes=400-').should.eql(arr('bytes', [{ start: 400, end: 999 }]));\nparse(1000, 'bytes=0-0').should.eql(arr('bytes', [{ start: 0, end: 0 }]));\nparse(1000, 'bytes=-1').should.eql(arr('bytes', [{ start: 999, end: 999 }]));\nparse(1000, 'items=0-5').should.eql(arr('items', [{ start: 0, end: 5 }]));\nparse(1000, 'bytes=40-80,-1').should.eql(arr('bytes', [{ start: 40, end: 80 }, { start: 999, end: 999 }]));\n```\n\n## Installation\n\n```\n$ npm install range-parser\n```",
"readmeFilename": "Readme.md",
"_id": "range-parser@0.0.4",
- "_from": "range-parser@0.0.4"
+ "dist": {
+ "shasum": "c0427ffef51c10acba0782a46c9602e744ff620b"
+ },
+ "_from": "range-parser@0.0.4",
+ "_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz"
}
6 node_modules/express/node_modules/send/node_modules/mime/package.json
View
@@ -28,5 +28,9 @@
"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. 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.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/bentomas/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",
"readmeFilename": "README.md",
"_id": "mime@1.2.6",
- "_from": "mime@1.2.6"
+ "dist": {
+ "shasum": "2d126feae49c4dfaf35b1543033ac028bde8b777"
+ },
+ "_from": "mime@1.2.6",
+ "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz"
}
6 node_modules/express/node_modules/send/package.json
View
@@ -30,5 +30,9 @@
"readme": "\n# send\n\n Send is Connect's `static()` extracted for generalized use, a streaming static file\n server supporting partial responses (Ranges), conditional-GET negotiation, high test coverage, and granular events which may be leveraged to take appropriate actions in your application or framework.\n\n## Installation\n\n $ npm install send\n\n## Examples\n\n Small:\n\n```js\nvar http = require('http');\nvar send = require('send');\n\nvar app = http.createServer(function(req, res){\n send(req, req.url).pipe(res);\n});\n```\n\n Serving from a root directory with custom error-handling:\n\n```js\nvar http = require('http');\nvar send = require('send');\n\nvar app = http.createServer(function(req, res){\n // your custom error-handling logic:\n function error(err) {\n res.statusCode = err.status || 500;\n res.end(err.message);\n }\n\n // your custom directory handling logic:\n function redirect() {\n res.statusCode = 301;\n res.setHeader('Location', req.url + '/');\n res.end('Redirecting to ' + req.url + '/');\n }\n\n // transfer arbitrary files from within\n // /www/example.com/public/*\n send(req, url.parse(req.url).pathname)\n .root('/www/example.com/public')\n .on('error', error)\n .on('directory', redirect)\n .pipe(res);\n});\n```\n\n## API\n\n### Events\n\n - `error` an error occurred `(err)`\n - `directory` a directory was requested\n - `stream` file streaming has started `(stream)`\n - `end` streaming has completed\n\n### .root(dir)\n\n Serve files relative to `path`. Aliased as `.from(dir)`.\n\n### .index(path)\n\n By default send supports \"index.html\" files, to disable this\n invoke `.index(false)` or to supply a new index pass a string.\n\n### .maxage(ms)\n\n Provide a max-age in milliseconds for http caching, defaults to 0.\n\n## Error-handling\n\n By default when no `error` listeners are present an automatic response will be made, otherwise you have full control over the response, aka you may show a 5xx page etc.\n\n## Caching\n\n It does _not_ perform internal caching, you should use a reverse proxy cache such\n as Varnish for this, or those fancy things called CDNs. If your application is small enough that it would benefit from single-node memory caching, it's small enough that it does not need caching at all ;).\n\n## Debugging\n\n To enable `debug()` instrumentation output export __DEBUG__:\n\n```\n$ DEBUG=send node app\n```\n\n## Running tests\n\n```\n$ npm install\n$ make test\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 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.",
"readmeFilename": "Readme.md",
"_id": "send@0.1.0",
- "_from": "send@0.1.0"
+ "dist": {
+ "shasum": "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640"
+ },
+ "_from": "send@0.1.0",
+ "_resolved": "https://registry.npmjs.org/send/-/send-0.1.0.tgz"
}
6 node_modules/express/package.json
View
@@ -77,5 +77,9 @@
"readme": "![express logo](http://f.cl.ly/items/0V2S1n0K1i3y1c122g04/Screen%20Shot%202012-04-11%20at%209.59.42%20AM.png)\n\n Fast, unopinionated, minimalist web framework for [node](http://nodejs.org). [![Build Status](https://secure.travis-ci.org/visionmedia/express.png)](http://travis-ci.org/visionmedia/express)\n\n```js\nvar express = require('express');\nvar app = express();\n\napp.get('/', function(req, res){\n res.send('Hello World');\n});\n\napp.listen(3000);\n```\n\n## Installation\n\n $ npm install -g express\n\n## Quick Start\n\n The quickest way to get started with express is to utilize the executable `express(1)` to generate an application as shown below:\n\n Create the app:\n\n $ npm install -g express\n $ express /tmp/foo && cd /tmp/foo\n\n Install dependencies:\n\n $ npm install\n\n Start the server:\n\n $ node app\n\n## Features\n\n * Built on [Connect](http://github.com/senchalabs/connect)\n * Robust routing\n * HTTP helpers (redirection, caching, etc)\n * View system supporting 14+ template engines\n * Content negotiation\n * Focus on high performance\n * Environment based configuration\n * Executable for generating applications quickly\n * High test coverage\n\n## Philosophy\n\n The Express philosophy is to provide small, robust tooling for HTTP servers. Making\n it a great solution for single page applications, web sites, hybrids, or public\n HTTP APIs.\n \n Built on Connect you can use _only_ what you need, and nothing more, applications\n can be as big or as small as you like, even a single file. Express does\n not force you to use any specific ORM or template engine. With support for over\n 14 template engines via [Consolidate.js](http://github.com/visionmedia/consolidate.js)\n you can quickly craft your perfect framework.\n\n## More Information\n\n * Join #express on freenode\n * [Google Group](http://groups.google.com/group/express-js) for discussion\n * Follow [tjholowaychuk](http://twitter.com/tjholowaychuk) on twitter for updates\n * Visit the [Wiki](http://github.com/visionmedia/express/wiki)\n * [日本語ドキュメンテーション](http://hideyukisaito.com/doc/expressjs/) by [hideyukisaito](https://github.com/hideyukisaito)\n * [Русскоязычная документация](http://express-js.ru/)\n\n## Viewing Examples\n\nClone the Express repo, then install the dev dependencies to install all the example / test suite deps:\n\n $ git clone git://github.com/visionmedia/express.git --depth 1\n $ cd express\n $ npm install\n\nthen run whichever tests you want:\n\n $ node examples/content-negotiation\n\n## Running Tests\n\nTo run the test suite first invoke the following command within the repo, installing the development dependencies:\n\n $ npm install\n\nthen run the tests:\n\n $ make test\n\n## Contributors\n\n```\nproject: express\ncommits: 3559\nactive : 468 days\nfiles : 237\nauthors: \n 1891\tTj Holowaychuk 53.1%\n 1285\tvisionmedia 36.1%\n 182\tTJ Holowaychuk 5.1%\n 54\tAaron Heckmann 1.5%\n 34\tcsausdev 1.0%\n 26\tciaranj 0.7%\n 21\tRobert Sköld 0.6%\n 6\tGuillermo Rauch 0.2%\n 3\tDav Glass 0.1%\n 3\tNick Poulden 0.1%\n 2\tRandy Merrill 0.1%\n 2\tBenny Wong 0.1%\n 2\tHunter Loftis 0.1%\n 2\tJake Gordon 0.1%\n 2\tBrian McKinney 0.1%\n 2\tRoman Shtylman 0.1%\n 2\tBen Weaver 0.1%\n 2\tDave Hoover 0.1%\n 2\tEivind Fjeldstad 0.1%\n 2\tDaniel Shaw 0.1%\n 1\tMatt Colyer 0.0%\n 1\tPau Ramon 0.0%\n 1\tPero Pejovic 0.0%\n 1\tPeter Rekdal Sunde 0.0%\n 1\tRaynos 0.0%\n 1\tTeng Siong Ong 0.0%\n 1\tViktor Kelemen 0.0%\n 1\tctide 0.0%\n 1\t8bitDesigner 0.0%\n 1\tisaacs 0.0%\n 1\tmgutz 0.0%\n 1\tpikeas 0.0%\n 1\tshuwatto 0.0%\n 1\ttstrimple 0.0%\n 1\tewoudj 0.0%\n 1\tAdam Sanderson 0.0%\n 1\tAndrii Kostenko 0.0%\n 1\tAndy Hiew 0.0%\n 1\tArpad Borsos 0.0%\n 1\tAshwin Purohit 0.0%\n 1\tBenjen 0.0%\n 1\tDarren Torpey 0.0%\n 1\tGreg Ritter 0.0%\n 1\tGregory Ritter 0.0%\n 1\tJames Herdman 0.0%\n 1\tJim Snodgrass 0.0%\n 1\tJoe McCann 0.0%\n 1\tJonathan Dumaine 0.0%\n 1\tJonathan Palardy 0.0%\n 1\tJonathan Zacsh 0.0%\n 1\tJustin Lilly 0.0%\n 1\tKen Sato 0.0%\n 1\tMaciej Małecki 0.0%\n 1\tMasahiro Hayashi 0.0%\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2009-2012 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",
"readmeFilename": "Readme.md",
"_id": "express@3.0.6",
- "_from": "express"
+ "dist": {
+ "shasum": "d274fcb868b95788bf4af62168d75d13fd77d8b4"
+ },
+ "_from": "express@3.0.6",
+ "_resolved": "https://registry.npmjs.org/express/-/express-3.0.6.tgz"
}
20 node_modules/jade/Readme.md
View
@@ -1,6 +1,6 @@
- [![Build Status](https://secure.travis-ci.org/visionmedia/jade.png)](http://travis-ci.org/visionmedia/jade)
-
-# Jade - template engine
+# Jade - template engine
+[![Build Status](https://secure.travis-ci.org/visionmedia/jade.png)](http://travis-ci.org/visionmedia/jade)
+[![Dependency Status](https://gemnasium.com/visionmedia/jade.png)](https://gemnasium.com/visionmedia/jade)
Jade is a high performance template engine heavily influenced by [Haml](http://haml-lang.com)
and implemented with JavaScript for [node](http://nodejs.org). For discussion join the [Google Group](http://groups.google.com/group/jadejs).
@@ -417,11 +417,11 @@ head
outputs:
```html
-<body>
+<head>
<!--[if lt IE 8]>
<script src="/ie-sucks.js"></script>
<![endif]-->
-</body>
+</head>
```
<a name="a6-6"/>
@@ -864,7 +864,7 @@ for user in users
p= user.name
```
- Jade also provides have `unless` which is equivalent to `if (!(expr))`:
+ Jade also provides `unless` which is equivalent to `if (!(expr))`:
```jade
for user in users
@@ -1205,17 +1205,19 @@ function anonymous(locals) {
Below is an example Makefile used to compile _pages/*.jade_
into _pages/*.html_ files by simply executing `make`.
+_Note:_ If you try to run this snippet and `make` throws a `missing separator` error, you should make sure all indented lines use a tab for indentation instead of spaces. (For whatever reason, GitHub renders this code snippet with 4-space indentation although the actual README file uses tabs in this snippet.)
+
```make
-JADE = $(shell find pages/*.jade)
+JADE = $(shell find . -wholename './pages/*.jade')
HTML = $(JADE:.jade=.html)
all: $(HTML)
%.html: %.jade
- jade < $< --path $< > $@
+ jade < $< --path $< > $@
clean:
- rm -f $(HTML)
+ rm -f $(HTML)
.PHONY: clean
```
2  node_modules/jade/lib/jade.js
View
@@ -20,7 +20,7 @@ var Parser = require('./parser')
* Library version.
*/
-exports.version = '0.28.0';
+exports.version = '0.28.2';
/**
* Expose self closing tags.
16 node_modules/jade/lib/parser.js
View
@@ -1,4 +1,3 @@
-
/*!
* Jade - Parser
* Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
@@ -393,10 +392,10 @@ Parser.prototype = {
if (!this.filename)
throw new Error('the "filename" option is required to extend templates');
- var path = this.expect('extends').val.trim();
+ path = this.expect('extends').val.trim();
var dir = dirname(this.filename);
- var path = join(dir, path + '.jade');
+ path = join(dir, path + '.jade');
var str = fs.readFileSync(path, 'utf8');
var parser = new Parser(str, path, this.options);
@@ -450,8 +449,9 @@ Parser.prototype = {
var dirname = path.dirname;
var basename = path.basename;
var join = path.join;
+ var str;
- var path = this.expect('include').val.trim();
+ path = this.expect('include').val.trim();
var dir = dirname(this.filename);
if (!this.filename)
@@ -464,16 +464,16 @@ Parser.prototype = {
// non-jade
if ('.jade' != path.substr(-5)) {
- var path = join(dir, path);
- var str = fs.readFileSync(path, 'utf8');
+ path = join(dir, path);
+ str = fs.readFileSync(path, 'utf8').replace(/\r/g, '');
var ext = extname(path).slice(1);
var filter = filters[ext];
if (filter) str = filter(str, { filename: path }).replace(/\\n/g, '\n');
return new nodes.Literal(str);
}
- var path = join(dir, path);
- var str = fs.readFileSync(path, 'utf8');
+ path = join(dir, path);
+ str = fs.readFileSync(path, 'utf8');
var parser = new Parser(str, path, this.options);
parser.blocks = utils.merge({}, this.blocks);
parser.mixins = this.mixins;
1  node_modules/jade/node_modules/.bin/cake
View
1  node_modules/jade/node_modules/.bin/coffee
View
11 node_modules/jade/node_modules/coffee-script/.npmignore
View
@@ -1,11 +0,0 @@
-*.coffee
-*.html
-.DS_Store
-.git*
-Cakefile
-documentation/
-examples/
-extras/coffee-script.js
-raw/
-src/
-test/
1  node_modules/jade/node_modules/coffee-script/CNAME
View
@@ -1 +0,0 @@
-coffeescript.org
9 node_modules/jade/node_modules/coffee-script/CONTRIBUTING.md
View
@@ -1,9 +0,0 @@
-## How to contribute to CoffeeScript
-
-* Before you open a ticket or send a pull request, [search](https://github.com/jashkenas/coffee-script/issues) for previous discussions about the same feature or issue. Add to the earlier ticket if you find one.
-
-* Before sending a pull request for a feature, be sure to have [tests](https://github.com/jashkenas/coffee-script/tree/master/test).
-
-* Use the same coding style as the rest of the [codebase](https://github.com/jashkenas/coffee-script/tree/master/src). If you're just getting started with CoffeeScript, there's a nice [style guide](https://github.com/polarmobile/coffeescript-style-guide).
-
-* In your pull request, do not add documentation to `index.html` or re-build the minified `coffee-script.js` file. We'll do those things before cutting a new release.
22 node_modules/jade/node_modules/coffee-script/LICENSE
View
@@ -1,22 +0,0 @@
-Copyright (c) 2009-2012 Jeremy Ashkenas
-
-Permission 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:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE 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.
51 node_modules/jade/node_modules/coffee-script/README
View
@@ -1,51 +0,0 @@
-
- {
- } } {
- { { } }
- } }{ {
- { }{ } } _____ __ __
- ( }{ }{ { ) / ____| / _|/ _|
- .- { { } { }} -. | | ___ | |_| |_ ___ ___
- ( ( } { } { } } ) | | / _ \| _| _/ _ \/ _ \
- |`-..________ ..-'| | |___| (_) | | | || __/ __/
- | | \_____\___/|_| |_| \___|\___|
- | ;--.
- | (__ \ _____ _ _
- | | ) ) / ____| (_) | |
- | |/ / | (___ ___ _ __ _ _ __ | |_
- | ( / \___ \ / __| '__| | '_ \| __|
- | |/ ____) | (__| | | | |_) | |_
- | | |_____/ \___|_| |_| .__/ \__|
- `-.._________..-' | |
- |_|
-
-
- CoffeeScript is a little language that compiles into JavaScript.
-
- Install Node.js, and then the CoffeeScript compiler:
- sudo bin/cake install
-
- Or, if you have the Node Package Manager installed:
- npm install -g coffee-script
- (Leave off the -g if you don't wish to install globally.)
-
- Execute a script:
- coffee /path/to/script.coffee
-
- Compile a script:
- coffee -c /path/to/script.coffee
-
- For documentation, usage, and examples, see:
- http://coffeescript.org/
-
- To suggest a feature, report a bug, or general discussion:
- http://github.com/jashkenas/coffee-script/issues/
-
- If you'd like to chat, drop by #coffeescript on Freenode IRC,
- or on webchat.freenode.net.
-
- The source repository:
- git://github.com/jashkenas/coffee-script.git
-
- All contributors are listed here:
- http://github.com/jashkenas/coffee-script/contributors
78 node_modules/jade/node_modules/coffee-script/Rakefile
View
@@ -1,78 +0,0 @@
-require 'rubygems'
-require 'erb'
-require 'fileutils'
-require 'rake/testtask'
-require 'json'
-
-desc "Build the documentation page"
-task :doc do
- source = 'documentation/index.html.erb'
- child = fork { exec "bin/coffee -bcw -o documentation/js documentation/coffee/*.coffee" }
- at_exit { Process.kill("INT", child) }
- Signal.trap("INT") { exit }
- loop do
- mtime = File.stat(source).mtime
- if !@mtime || mtime > @mtime
- rendered = ERB.new(File.read(source)).result(binding)
- File.open('index.html', 'w+') {|f| f.write(rendered) }
- end
- @mtime = mtime
- sleep 1
- end
-end
-
-desc "Build coffee-script-source gem"
-task :gem do
- require 'rubygems'
- require 'rubygems/package'
-
- gemspec = Gem::Specification.new do |s|
- s.name = 'coffee-script-source'
- s.version = JSON.parse(File.read('package.json'))["version"]
- s.date = Time.now.strftime("%Y-%m-%d")
-
- s.homepage = "http://jashkenas.github.com/coffee-script/"
- s.summary = "The CoffeeScript Compiler"
- s.description = <<-EOS
- CoffeeScript is a little language that compiles into JavaScript.
- Underneath all of those embarrassing braces and semicolons,
- JavaScript has always had a gorgeous object model at its heart.
- CoffeeScript is an attempt to expose the good parts of JavaScript
- in a simple way.
- EOS
-
- s.files = [
- 'lib/coffee_script/coffee-script.js',
- 'lib/coffee_script/source.rb'
- ]
-
- s.authors = ['Jeremy Ashkenas']
- s.email = 'jashkenas@gmail.com'
- s.rubyforge_project = 'coffee-script-source'
- end
-
- file = File.open("coffee-script-source.gem", "w")
- Gem::Package.open(file, 'w') do |pkg|
- pkg.metadata = gemspec.to_yaml
-
- path = "lib/coffee_script/source.rb"
- contents = <<-ERUBY
-module CoffeeScript
- module Source
- def self.bundled_path
- File.expand_path("../coffee-script.js", __FILE__)
- end
- end
-end
- ERUBY
- pkg.add_file_simple(path, 0644, contents.size) do |tar_io|
- tar_io.write(contents)
- end
-
- contents = File.read("extras/coffee-script.js")
- path = "lib/coffee_script/coffee-script.js"
- pkg.add_file_simple(path, 0644, contents.size) do |tar_io|
- tar_io.write(contents)
- end
- end
-end
7 node_modules/jade/node_modules/coffee-script/bin/cake
View
@@ -1,7 +0,0 @@
-#!/usr/bin/env node
-
-var path = require('path');
-var fs = require('fs');
-var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
-
-require(lib + '/coffee-script/cake').run();
7 node_modules/jade/node_modules/coffee-script/bin/coffee
View
@@ -1,7 +0,0 @@
-#!/usr/bin/env node
-
-var path = require('path');
-var fs = require('fs');
-var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
-
-require(lib + '/coffee-script/command').run();
44 node_modules/jade/node_modules/coffee-script/extras/jsl.conf
View
@@ -1,44 +0,0 @@
-# JavaScriptLint configuration file for CoffeeScript.
-
-+no_return_value # function {0} does not always return a value
-+duplicate_formal # duplicate formal argument {0}
--equal_as_assign # test for equality (==) mistyped as assignment (=)?{0}
-+var_hides_arg # variable {0} hides argument
-+redeclared_var # redeclaration of {0} {1}
--anon_no_return_value # anonymous function does not always return a value
-+missing_semicolon # missing semicolon
-+meaningless_block # meaningless block; curly braces have no impact
--comma_separated_stmts # multiple statements separated by commas (use semicolons?)
-+unreachable_code # unreachable code
-+missing_break # missing break statement
--missing_break_for_last_case # missing break statement for last case in switch
--comparison_type_conv # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==)
--inc_dec_within_stmt # increment (++) and decrement (--) operators used as part of greater statement
--useless_void # use of the void type may be unnecessary (void is always undefined)
-+multiple_plus_minus # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs
-+use_of_label # use of label
--block_without_braces # block statement without curly braces
-+leading_decimal_point # leading decimal point may indicate a number or an object member
-+trailing_decimal_point # trailing decimal point may indicate a number or an object member
-+octal_number # leading zeros make an octal number
-+nested_comment # nested comment
-+misplaced_regex # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma
-+ambiguous_newline # unexpected end of line; it is ambiguous whether these lines are part of the same statement
-+empty_statement # empty statement or extra semicolon
--missing_option_explicit # the "option explicit" control comment is missing
-+partial_option_explicit # the "option explicit" control comment, if used, must be in the first script tag
-+dup_option_explicit # duplicate "option explicit" control comment
-+useless_assign # useless assignment
-+ambiguous_nested_stmt # block statements containing block statements should use curly braces to resolve ambiguity
-+ambiguous_else_stmt # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent)
--missing_default_case # missing default case in switch statement
-+duplicate_case_in_switch # duplicate case in switch statements
-+default_not_at_end # the default case is not at the end of the switch statement
-+legacy_cc_not_understood # couldn't understand control comment using /*@keyword@*/ syntax
-+jsl_cc_not_understood # couldn't understand control comment using /*jsl:keyword*/ syntax
-+useless_comparison # useless comparison; comparing identical expressions
-+with_statement # with statement hides undeclared variables; use temporary variable instead
-+trailing_comma_in_array # extra comma is not recommended in array initializers
-+assign_to_function_call # assignment to a function call
-+parseint_missing_radix # parseInt missing radix parameter
-+lambda_assign_requires_semicolon
92 node_modules/jade/node_modules/coffee-script/lib/coffee-script/browser.js
View
@@ -1,92 +0,0 @@
-// Generated by CoffeeScript 1.4.0
-(function() {
- var CoffeeScript, runScripts;
-
- CoffeeScript = require('./coffee-script');
-
- CoffeeScript.require = require;
-
- CoffeeScript["eval"] = function(code, options) {
- var _ref;
- if (options == null) {
- options = {};
- }
- if ((_ref = options.bare) == null) {
- options.bare = true;
- }
- return eval(CoffeeScript.compile(code, options));
- };
-
- CoffeeScript.run = function(code, options) {
- if (options == null) {
- options = {};
- }
- options.bare = true;
- return Function(CoffeeScript.compile(code, options))();
- };
-
- if (typeof window === "undefined" || window === null) {
- return;
- }
-
- CoffeeScript.load = function(url, callback) {
- var xhr;
- xhr = window.ActiveXObject ? new window.ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
- xhr.open('GET', url, true);
- if ('overrideMimeType' in xhr) {
- xhr.overrideMimeType('text/plain');
- }
- xhr.onreadystatechange = function() {
- var _ref;
- if (xhr.readyState === 4) {
- if ((_ref = xhr.status) === 0 || _ref === 200) {
- CoffeeScript.run(xhr.responseText);
- } else {
- throw new Error("Could not load " + url);
- }
- if (callback) {
- return callback();
- }
- }
- };
- return xhr.send(null);
- };
-
- runScripts = function() {
- var coffees, execute, index, length, s, scripts;
- scripts = document.getElementsByTagName('script');
- coffees = (function() {
- var _i, _len, _results;
- _results = [];
- for (_i = 0, _len = scripts.length; _i < _len; _i++) {
- s = scripts[_i];
- if (s.type === 'text/coffeescript') {
- _results.push(s);
- }
- }
- return _results;
- })();
- index = 0;
- length = coffees.length;
- (execute = function() {
- var script;
- script = coffees[index++];
- if ((script != null ? script.type : void 0) === 'text/coffeescript') {
- if (script.src) {
- return CoffeeScript.load(script.src, execute);
- } else {
- CoffeeScript.run(script.innerHTML);
- return execute();
- }
- }
- })();
- return null;
- };
-
- if (window.addEventListener) {
- addEventListener('DOMContentLoaded', runScripts, false);
- } else {
- attachEvent('onload', runScripts);
- }
-
-}).call(this);
113 node_modules/jade/node_modules/coffee-script/lib/coffee-script/cake.js
View
@@ -1,113 +0,0 @@
-// Generated by CoffeeScript 1.4.0
-(function() {
- var CoffeeScript, cakefileDirectory, existsSync, fatalError, fs, helpers, missingTask, oparse, options, optparse, path, printTasks, switches, tasks;
-
- fs = require('fs');
-
- path = require('path');
-
- helpers = require('./helpers');
-
- optparse = require('./optparse');
-
- CoffeeScript = require('./coffee-script');
-
- existsSync = fs.existsSync || path.existsSync;
-
- tasks = {};
-
- options = {};
-
- switches = [];
-
- oparse = null;
-
- helpers.extend(global, {
- task: function(name, description, action) {
- var _ref;
- if (!action) {
- _ref = [description, action], action = _ref[0], description = _ref[1];
- }
- return tasks[name] = {
- name: name,
- description: description,
- action: action
- };
- },
- option: function(letter, flag, description) {
- return switches.push([letter, flag, description]);
- },
- invoke: function(name) {
- if (!tasks[name]) {
- missingTask(name);
- }
- return tasks[name].action(options);
- }
- });
-
- exports.run = function() {
- var arg, args, _i, _len, _ref, _results;
- global.__originalDirname = fs.realpathSync('.');
- process.chdir(cakefileDirectory(__originalDirname));
- args = process.argv.slice(2);
- CoffeeScript.run(fs.readFileSync('Cakefile').toString(), {
- filename: 'Cakefile'
- });
- oparse = new optparse.OptionParser(switches);
- if (!args.length) {
- return printTasks();
- }
- try {
- options = oparse.parse(args);
- } catch (e) {
- return fatalError("" + e);
- }
- _ref = options["arguments"];
- _results = [];
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
- arg = _ref[_i];
- _results.push(invoke(arg));
- }
- return _results;
- };
-
- printTasks = function() {
- var cakefilePath, desc, name, relative, spaces, task;
- relative = path.relative || path.resolve;
- cakefilePath = path.join(relative(__originalDirname, process.cwd()), 'Cakefile');
- console.log("" + cakefilePath + " defines the following tasks:\n");
- for (name in tasks) {
- task = tasks[name];
- spaces = 20 - name.length;
- spaces = spaces > 0 ? Array(spaces + 1).join(' ') : '';
- desc = task.description ? "# " + task.description : '';
- console.log("cake " + name + spaces + " " + desc);
- }
- if (switches.length) {
- return console.log(oparse.help());
- }
- };
-
- fatalError = function(message) {
- console.error(message + '\n');
- console.log('To see a list of all tasks/options, run "cake"');
- return process.exit(1);
- };
-
- missingTask = function(task) {
- return fatalError("No such task: " + task);
- };
-
- cakefileDirectory = function(dir) {
- var parent;
- if (existsSync(path.join(dir, 'Cakefile'))) {
- return dir;
- }
- parent = path.normalize(path.join(dir, '..'));
- if (parent !== dir) {
- return cakefileDirectory(parent);
- }
- throw new Error("Cakefile not found in " + (process.cwd()));
- };
-
-}).call(this);
171 node_modules/jade/node_modules/coffee-script/lib/coffee-script/coffee-script.js
View
@@ -1,171 +0,0 @@
-// Generated by CoffeeScript 1.4.0
-(function() {
- var Lexer, RESERVED, compile, fs, lexer, parser, path, stripBOM, vm, _ref,
- __hasProp = {}.hasOwnProperty;
-
- fs = require('fs');
-
- path = require('path');
-
- _ref = require('./lexer'), Lexer = _ref.Lexer, RESERVED = _ref.RESERVED;
-
- parser = require('./parser').parser;
-
- vm = require('vm');
-
- stripBOM = function(content) {
- if (content.charCodeAt(0) === 0xFEFF) {
- return content.substring(1);
- } else {
- return content;
- }
- };
-
- if (require.extensions) {
- require.extensions['.coffee'] = function(module, filename) {
- var content;
- content = compile(stripBOM(fs.readFileSync(filename, 'utf8')), {
- filename: filename
- });
- return module._compile(content, filename);
- };
- }
-
- exports.VERSION = '1.4.0';
-
- exports.RESERVED = RESERVED;
-
- exports.helpers = require('./helpers');
-
- exports.compile = compile = function(code, options) {
- var header, js, merge;
- if (options == null) {
- options = {};
- }
- merge = exports.helpers.merge;
- try {
- js = (parser.parse(lexer.tokenize(code))).compile(options);
- if (!options.header) {
- return js;
- }
- } catch (err) {
- if (options.filename) {
- err.message = "In " + options.filename + ", " + err.message;
- }
- throw err;
- }
- header = "Generated by CoffeeScript " + this.VERSION;
- return "// " + header + "\n" + js;
- };
-
- exports.tokens = function(code, options) {
- return lexer.tokenize(code, options);
- };
-
- exports.nodes = function(source, options) {
- if (typeof source === 'string') {
- return parser.parse(lexer.tokenize(source, options));
- } else {
- return parser.parse(source);
- }
- };
-
- exports.run = function(code, options) {
- var mainModule;
- if (options == null) {
- options = {};
- }
- mainModule = require.main;
- mainModule.filename = process.argv[1] = options.filename ? fs.realpathSync(options.filename) : '.';
- mainModule.moduleCache && (mainModule.moduleCache = {});
- mainModule.paths = require('module')._nodeModulePaths(path.dirname(fs.realpathSync(options.filename)));
- if (path.extname(mainModule.filename) !== '.coffee' || require.extensions) {
- return mainModule._compile(compile(code, options), mainModule.filename);
- } else {
- return mainModule._compile(code, mainModule.filename);
- }
- };
-
- exports["eval"] = function(code, options) {
- var Module, Script, js, k, o, r, sandbox, v, _i, _len, _module, _ref1, _ref2, _require;
- if (options == null) {
- options = {};
- }
- if (!(code = code.trim())) {
- return;
- }
- Script = vm.Script;
- if (Script) {
- if (options.sandbox != null) {
- if (options.sandbox instanceof Script.createContext().constructor) {
- sandbox = options.sandbox;
- } else {
- sandbox = Script.createContext();
- _ref1 = options.sandbox;
- for (k in _ref1) {
- if (!__hasProp.call(_ref1, k)) continue;
- v = _ref1[k];
- sandbox[k] = v;
- }
- }
- sandbox.global = sandbox.root = sandbox.GLOBAL = sandbox;
- } else {
- sandbox = global;
- }
- sandbox.__filename = options.filename || 'eval';
- sandbox.__dirname = path.dirname(sandbox.__filename);
- if (!(sandbox !== global || sandbox.module || sandbox.require)) {
- Module = require('module');
- sandbox.module = _module = new Module(options.modulename || 'eval');
- sandbox.require = _require = function(path) {
- return Module._load(path, _module, true);
- };
- _module.filename = sandbox.__filename;
- _ref2 = Object.getOwnPropertyNames(require);
- for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
- r = _ref2[_i];
- if (r !== 'paths') {
- _require[r] = require[r];
- }
- }
- _require.paths = _module.paths = Module._nodeModulePaths(process.cwd());
- _require.resolve = function(request) {
- return Module._resolveFilename(request, _module);
- };
- }
- }
- o = {};
- for (k in options) {
- if (!__hasProp.call(options, k)) continue;
- v = options[k];
- o[k] = v;
- }
- o.bare = true;
- js = compile(code, o);
- if (sandbox === global) {
- return vm.runInThisContext(js);
- } else {
- return vm.runInContext(js, sandbox);
- }
- };
-
- lexer = new Lexer;
-
- parser.lexer = {
- lex: function() {
- var tag, _ref1;
- _ref1 = this.tokens[this.pos++] || [''], tag = _ref1[0], this.yytext = _ref1[1], this.yylineno = _ref1[2];
- return tag;
- },
- setInput: function(tokens) {
- this.tokens = tokens;
- return this.pos = 0;
- },
- upcomingInput: function() {
- return "";
- }
- };
-
- parser.yy = require('./nodes');
-
-}).call(this);
502 node_modules/jade/node_modules/coffee-script/lib/coffee-script/command.js
View
@@ -1,502 +0,0 @@
-// Generated by CoffeeScript 1.4.0
-(function() {
- var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compilePath, compileScript, compileStdio, exec, exists, forkNode, fs, helpers, hidden, joinTimeout, lint, loadRequires, notSources, optionParser, optparse, opts, outputPath, parseOptions, path, printLine, printTokens, printWarn, removeSource, sourceCode, sources, spawn, timeLog, unwatchDir, usage, version, wait, watch, watchDir, watchers, writeJs, _ref;
-
- fs = require('fs');
-
- path = require('path');
-
- helpers = require('./helpers');
-
- optparse = require('./optparse');
-
- CoffeeScript = require('./coffee-script');
-
- _ref = require('child_process'), spawn = _ref.spawn, exec = _ref.exec;
-
- EventEmitter = require('events').EventEmitter;
-
- exists = fs.exists || path.exists;
-
- helpers.extend(CoffeeScript, new EventEmitter);
-
- printLine = function(line) {
- return process.stdout.write(line + '\n');
- };
-
- printWarn = function(line) {
- return process.stderr.write(line + '\n');
- };
-
- hidden = function(file) {
- return /^\.|~$/.test(file);
- };
-
- BANNER = 'Usage: coffee [options] path/to/script.coffee -- [args]\n\nIf called without options, `coffee` will run your script.';
-
- SWITCHES = [['-b', '--bare', 'compile without a top-level function wrapper'], ['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-e', '--eval', 'pass a string from the command line as input'], ['-h', '--help', 'display this help message'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-j', '--join [FILE]', 'concatenate the source CoffeeScript before compiling'], ['-l', '--lint', 'pipe the compiled JavaScript through JavaScript Lint'], ['-n', '--nodes', 'print out the parse tree that the parser produces'], ['--nodejs [ARGS]', 'pass options directly to the "node" binary'], ['-o', '--output [DIR]', 'set the output directory for compiled JavaScript'], ['-p', '--print', 'print out the compiled JavaScript'], ['-r', '--require [FILE*]', 'require a library before executing your script'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'], ['-v', '--version', 'display the version number'], ['-w', '--watch', 'watch scripts for changes and rerun commands']];
-
- opts = {};
-
- sources = [];
-
- sourceCode = [];
-
- notSources = {};
-
- watchers = {};
-
- optionParser = null;
-
- exports.run = function() {
- var literals, source, _i, _len, _results;
- parseOptions();
- if (opts.nodejs) {
- return forkNode();
- }
- if (opts.help) {
- return usage();
- }
- if (opts.version) {
- return version();
- }
- if (opts.require) {
- loadRequires();
- }
- if (opts.interactive) {
- return require('./repl');
- }
- if (opts.watch && !fs.watch) {
- return printWarn("The --watch feature depends on Node v0.6.0+. You are running " + process.version + ".");
- }
- if (opts.stdio) {
- return compileStdio();
- }
- if (opts["eval"]) {
- return compileScript(null, sources[0]);
- }
- if (!sources.length) {
- return require('./repl');
- }
- literals = opts.run ? sources.splice(1) : [];
- process.argv = process.argv.slice(0, 2).concat(literals);
- process.argv[0] = 'coffee';
- process.execPath = require.main.filename;
- _results = [];
- for (_i = 0, _len = sources.length; _i < _len; _i++) {
- source = sources[_i];
- _results.push(compilePath(source, true, path.normalize(source)));
- }
- return _results;
- };
-
- compilePath = function(source, topLevel, base) {
- return fs.stat(source, function(err, stats) {
- if (err && err.code !== 'ENOENT') {
- throw err;
- }
- if ((err != null ? err.code : void 0) === 'ENOENT') {
- if (topLevel && source.slice(-7) !== '.coffee') {
- source = sources[sources.indexOf(source)] = "" + source + ".coffee";
- return compilePath(source, topLevel, base);
- }
- if (topLevel) {
- console.error("File not found: " + source);
- process.exit(1);
- }
- return;
- }
- if (stats.isDirectory()) {
- if (opts.watch) {
- watchDir(source, base);
- }
- return fs.readdir(source, function(err, files) {
- var file, index, _ref1, _ref2;
- if (err && err.code !== 'ENOENT') {
- throw err;
- }
- if ((err != null ? err.code : void 0) === 'ENOENT') {
- return;
- }
- index = sources.indexOf(source);
- files = files.filter(function(file) {
- return !hidden(file);
- });
- [].splice.apply(sources, [index, index - index + 1].concat(_ref1 = (function() {
- var _i, _len, _results;
- _results = [];
- for (_i = 0, _len = files.length; _i < _len; _i++) {
- file = files[_i];
- _results.push(path.join(source, file));
- }
- return _results;
- })())), _ref1;
- [].splice.apply(sourceCode, [index, index - index + 1].concat(_ref2 = files.map(function() {
- return null;
- }))), _ref2;
- return files.forEach(function(file) {
- return compilePath(path.join(source, file), false, base);
- });
- });
- } else if (topLevel || path.extname(source) === '.coffee') {
- if (opts.watch) {
- watch(source, base);
- }
- return fs.readFile(source, function(err, code) {
- if (err && err.code !== 'ENOENT') {
- throw err;
- }
- if ((err != null ? err.code : void 0) === 'ENOENT') {
- return;
- }
- return compileScript(source, code.toString(), base);
- });
- } else {
- notSources[source] = true;
- return removeSource(source, base);
- }
- });
- };
-
- compileScript = function(file, input, base) {
- var o, options, t, task;
- o = opts;
- options = compileOptions(file);
- try {
- t = task = {
- file: file,
- input: input,
- options: options
- };
- CoffeeScript.emit('compile', task);
- if (o.tokens) {
- return printTokens(CoffeeScript.tokens(t.input));
- } else if (o.nodes) {
- return printLine(CoffeeScript.nodes(t.input).toString().trim());
- } else if (o.run) {
- return CoffeeScript.run(t.input, t.options);
- } else if (o.join && t.file !== o.join) {
- sourceCode[sources.indexOf(t.file)] = t.input;
- return compileJoin();
- } else {
- t.output = CoffeeScript.compile(t.input, t.options);
- CoffeeScript.emit('success', task);
- if (o.print) {
- return printLine(t.output.trim());
- } else if (o.compile) {
- return writeJs(t.file, t.output, base);
- } else if (o.lint) {
- return lint(t.file, t.output);
- }
- }
- } catch (err) {
- CoffeeScript.emit('failure', err, task);
- if (CoffeeScript.listeners('failure').length) {
- return;
- }
- if (o.watch) {
- return printLine(err.message + '\x07');
- }
- printWarn(err instanceof Error && err.stack || ("ERROR: " + err));
- return process.exit(1);
- }
- };
-
- compileStdio = function() {
- var code, stdin;
- code = '';
- stdin = process.openStdin();
- stdin.on('data', function(buffer) {
- if (buffer) {
- return code += buffer.toString();
- }
- });
- return stdin.on('end', function() {
- return compileScript(null, code);
- });
- };
-
- joinTimeout = null;
-
- compileJoin = function() {
- if (!opts.join) {
- return;
- }
- if (!sourceCode.some(function(code) {
- return code === null;
- })) {
- clearTimeout(joinTimeout);
- return joinTimeout = wait(100, function() {
- return compileScript(opts.join, sourceCode.join('\n'), opts.join);
- });
- }
- };
-
- loadRequires = function() {
- var realFilename, req, _i, _len, _ref1;
- realFilename = module.filename;
- module.filename = '.';
- _ref1 = opts.require;
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
- req = _ref1[_i];
- require(req);
- }
- return module.filename = realFilename;
- };
-
- watch = function(source, base) {
- var compile, compileTimeout, prevStats, rewatch, watchErr, watcher;
- prevStats = null;
- compileTimeout = null;
- watchErr = function(e) {
- if (e.code === 'ENOENT') {
- if (sources.indexOf(source) === -1) {
- return;
- }
- try {
- rewatch();
- return compile();
- } catch (e) {
- removeSource(source, base, true);
- return compileJoin();
- }
- } else {
- throw e;
- }
- };
- compile = function() {
- clearTimeout(compileTimeout);
- return compileTimeout = wait(25, function() {
- return fs.stat(source, function(err, stats) {
- if (err) {
- return watchErr(err);
- }
- if (prevStats && stats.size === prevStats.size && stats.mtime.getTime() === prevStats.mtime.getTime()) {
- return rewatch();
- }
- prevStats = stats;
- return fs.readFile(source, function(err, code) {
- if (err) {
- return watchErr(err);
- }
- compileScript(source, code.toString(), base);
- return rewatch();
- });
- });
- });
- };
- try {
- watcher = fs.watch(source, compile);
- } catch (e) {
- watchErr(e);
- }
- return rewatch = function() {
- if (watcher != null) {
- watcher.close();
- }
- return watcher = fs.watch(source, compile);
- };
- };
-
- watchDir = function(source, base) {
- var readdirTimeout, watcher;
- readdirTimeout = null;
- try {
- return watcher = fs.watch(source, function() {
- clearTimeout(readdirTimeout);
- return readdirTimeout = wait(25, function() {
- return fs.readdir(source, function(err, files) {
- var file, _i, _len, _results;
- if (err) {
- if (err.code !== 'ENOENT') {
- throw err;
- }
- watcher.close();
- return unwatchDir(source, base);
- }
- _results = [];
- for (_i = 0, _len = files.length; _i < _len; _i++) {
- file = files[_i];
- if (!(!hidden(file) && !notSources[file])) {
- continue;
- }
- file = path.join(source, file);
- if (sources.some(function(s) {
- return s.indexOf(file) >= 0;
- })) {
- continue;
- }
- sources.push(file);
- sourceCode.push(null);
- _results.push(compilePath(file, false, base));
- }
- return _results;
- });
- });
- });
- } catch (e) {
- if (e.code !== 'ENOENT') {
- throw e;
- }
- }
- };
-
- unwatchDir = function(source, base) {
- var file, prevSources, toRemove, _i, _len;
- prevSources = sources.slice(0);
- toRemove = (function() {
- var _i, _len, _results;
- _results = [];
- for (_i = 0, _len = sources.length; _i < _len; _i++) {
- file = sources[_i];
- if (file.indexOf(source) >= 0) {
- _results.push(file);
- }
- }
- return _results;
- })();
- for (_i = 0, _len = toRemove.length; _i < _len; _i++) {
- file = toRemove[_i];
- removeSource(file, base, true);
- }
- if (!sources.some(function(s, i) {
- return prevSources[i] !== s;
- })) {
- return;
- }
- return compileJoin();
- };
-
- removeSource = function(source, base, removeJs) {
- var index, jsPath;
- index = sources.indexOf(source);
- sources.splice(index, 1);
- sourceCode.splice(index, 1);
- if (removeJs && !opts.join) {
- jsPath = outputPath(source, base);
- return exists(jsPath, function(itExists) {
- if (itExists) {
- return fs.unlink(jsPath, function(err) {
- if (err && err.code !== 'ENOENT') {
- throw err;
- }
- return timeLog("removed " + source);
- });
- }
- });
- }
- };
-
- outputPath = function(source, base) {
- var baseDir, dir, filename, srcDir;
- filename = path.basename(source, path.extname(source)) + '.js';
- srcDir = path.dirname(source);
- baseDir = base === '.' ? srcDir : srcDir.substring(base.length);
- dir = opts.output ? path.join(opts.output, baseDir) : srcDir;
- return path.join(dir, filename);
- };
-
- writeJs = function(source, js, base) {
- var compile, jsDir, jsPath;
- jsPath = outputPath(source, base);
- jsDir = path.dirname(jsPath);
- compile = function() {
- if (js.length <= 0) {
- js = ' ';
- }
- return fs.writeFile(jsPath, js, function(err) {
- if (err) {
- return printLine(err.message);
- } else if (opts.compile && opts.watch) {
- return timeLog("compiled " + source);
- }
- });
- };
- return exists(jsDir, function(itExists) {
- if (itExists) {
- return compile();
- } else {
- return exec("mkdir -p " + jsDir, compile);
- }
- });
- };
-
- wait = function(milliseconds, func) {
- return setTimeout(func, milliseconds);
- };
-
- timeLog = function(message) {
- return console.log("" + ((new Date).toLocaleTimeString()) + " - " + message);
- };
-
- lint = function(file, js) {
- var conf, jsl, printIt;
- printIt = function(buffer) {
- return printLine(file + ':\t' + buffer.toString().trim());
- };
- conf = __dirname + '/../../extras/jsl.conf';
- jsl = spawn('jsl', ['-nologo', '-stdin', '-conf', conf]);
- jsl.stdout.on('data', printIt);
- jsl.stderr.on('data', printIt);
- jsl.stdin.write(js);
- return jsl.stdin.end();
- };
-
- printTokens = function(tokens) {
- var strings, tag, token, value;
- strings = (function() {
- var _i, _len, _ref1, _results;
- _results = [];
- for (_i = 0, _len = tokens.length; _i < _len; _i++) {
- token = tokens[_i];
- _ref1 = [token[0], token[1].toString().replace(/\n/, '\\n')], tag = _ref1[0], value = _ref1[1];
- _results.push("[" + tag + " " + value + "]");
- }
- return _results;
- })();
- return printLine(strings.join(' '));
- };
-
- parseOptions = function() {
- var i, o, source, _i, _len;
- optionParser = new optparse.OptionParser(SWITCHES, BANNER);
- o = opts = optionParser.parse(process.argv.slice(2));
- o.compile || (o.compile = !!o.output);
- o.run = !(o.compile || o.print || o.lint);
- o.print = !!(o.print || (o["eval"] || o.stdio && o.compile));
- sources = o["arguments"];
- for (i = _i = 0, _len = sources.length; _i < _len; i = ++_i) {
- source = sources[i];
- sourceCode[i] = null;
- }
- };
-
- compileOptions = function(filename) {
- return {
- filename: filename,
- bare: opts.bare,
- header: opts.compile
- };
- };
-
- forkNode = function() {
- var args, nodeArgs;
- nodeArgs = opts.nodejs.split(/\s+/);
- args = process.argv.slice(1);
- args.splice(args.indexOf('--nodejs'), 2);
- return spawn(process.execPath, nodeArgs.concat(args), {
- cwd: process.cwd(),
- env: process.env,
- customFds: [0, 1, 2]
- });
- };
-
- usage = function() {
- return printLine((new optparse.OptionParser(SWITCHES, BANNER)).help());
- };
-
- version = function() {
- return printLine("CoffeeScript version " + CoffeeScript.VERSION);
- };
-
-}).call(this);
606 node_modules/jade/node_modules/coffee-script/lib/coffee-script/grammar.js
View
@@ -1,606 +0,0 @@
-// Generated by CoffeeScript 1.4.0
-(function() {
- var Parser, alt, alternatives, grammar, name, o, operators, token, tokens, unwrap;
-
- Parser = require('jison').Parser;
-
- unwrap = /^function\s*\(\)\s*\{\s*return\s*([\s\S]*);\s*\}/;
-
- o = function(patternString, action, options) {
- var match;
- patternString = patternString.replace(/\s{2,}/g, ' ');
- if (!action) {
- return [patternString, '$$ = $1;', options];
- }
- action = (match = unwrap.exec(action)) ? match[1] : "(" + action + "())";
- action = action.replace(/\bnew /g, '$&yy.');
- action = action.replace(/\b(?:Block\.wrap|extend)\b/g, 'yy.$&');
- return [patternString, "$$ = " + action + ";", options];
- };
-
- grammar = {
- Root: [
- o('', function() {
- return new Block;
- }), o('Body'), o('Block TERMINATOR')
- ],
- Body: [
- o('Line', function() {
- return Block.wrap([$1]);
- }), o('Body TERMINATOR Line', function() {
- return $1.push($3);
- }), o('Body TERMINATOR')
- ],
- Line: [o('Expression'), o('Statement')],
- Statement: [
- o('Return'), o('Comment'), o('STATEMENT', function() {
- return new Literal($1);
- })
- ],
- Expression: [o('Value'), o('Invocation'), o('Code'), o('Operation'), o('Assign'), o('If'), o('Try'), o('While'), o('For'), o('Switch'), o('Class'), o('Throw')],
- Block: [
- o('INDENT OUTDENT', function() {
- return new Block;
- }), o('INDENT Body OUTDENT', function() {
- return $2;
- })
- ],
- Identifier: [
- o('IDENTIFIER', function() {
- return new Literal($1);
- })
- ],
- AlphaNumeric: [
- o('NUMBER', function() {
- return new Literal($1);
- }), o('STRING', function() {
- return new Literal($1);
- })
- ],
- Literal: [
- o('AlphaNumeric'), o('JS', function() {
- return new Literal($1);
- }), o('REGEX', function() {
- return new Literal($1);
- }), o('DEBUGGER', function() {
- return new Literal($1);
- }), o('UNDEFINED', function() {
- return new Undefined;
- }), o('NULL', function() {
- return new Null;
- }), o('BOOL', function() {
- return new Bool($1);
- })
- ],
- Assign: [
- o('Assignable = Expression', function() {
- return new Assign($1, $3);
- }), o('Assignable = TERMINATOR Expression', function() {
- return new Assign($1, $4);
- }), o('Assignable = INDENT Expression OUTDENT', function() {
- return new Assign($1, $4);
- })
- ],
- AssignObj: [
- o('ObjAssignable', function() {
- return new Value($1);
- }), o('ObjAssignable : Expression', function() {
- return new Assign(new Value($1), $3, 'object');
- }), o('ObjAssignable :\
- INDENT Expression OUTDENT', function() {
- return new Assign(new Value($1), $4, 'object');
- }), o('Comment')
- ],
- ObjAssignable: [o('Identifier'), o('AlphaNumeric'), o('ThisProperty')],
- Return: [
- o('RETURN Expression', function() {
- return new Return($2);
- }), o('RETURN', function() {
- return new Return;
- })
- ],
- Comment: [
- o('HERECOMMENT', function() {
- return new Comment($1);
- })
- ],
- Code: [
- o('PARAM_START ParamList PARAM_END FuncGlyph Block', function() {
- return new Code($2, $5, $4);
- }), o('FuncGlyph Block', function() {
- return new Code([], $2, $1);
- })