Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

fixed template to work with coffeekup

  • Loading branch information...
commit 366f2b8c3f35eee8ab456135a0430337150a0075 1 parent 4e13241
@twilson63 twilson63 authored
Showing with 109 additions and 7,815 deletions.
  1. +20 −0 LICENSE
  2. +12 −34 app.coffee
  3. +0 −774 npm-debug.log
  4. +0 −92 public/javascripts/Math.uuid.js
  5. +0 −58 public/javascripts/pretty_date.js
  6. +0 −3  public/javascripts/socket.io/.gitmodules
  7. +0 −175 public/javascripts/socket.io/README.md
  8. +0 −51 public/javascripts/socket.io/build.js
  9. +0 −23 public/javascripts/socket.io/lib/io.js
  10. +0 −94 public/javascripts/socket.io/lib/socket.js
  11. +0 −76 public/javascripts/socket.io/lib/transport.js
  12. +0 −38 public/javascripts/socket.io/lib/transports/flashsocket.js
  13. +0 −64 public/javascripts/socket.io/lib/transports/htmlfile.js
  14. +0 −49 public/javascripts/socket.io/lib/transports/websocket.js
  15. +0 −26 public/javascripts/socket.io/lib/transports/xhr-multipart.js
  16. +0 −36 public/javascripts/socket.io/lib/transports/xhr-polling.js
  17. +0 −69 public/javascripts/socket.io/lib/transports/xhr.js
  18. +0 −30 public/javascripts/socket.io/lib/util/array.js
  19. +0 −67 public/javascripts/socket.io/lib/util/events.js
  20. +0 −482 public/javascripts/socket.io/lib/util/json.js
  21. +0 −46 public/javascripts/socket.io/lib/util/object.js
  22. +0 −106 public/javascripts/socket.io/lib/util/oo.js
  23. +0 −25 public/javascripts/socket.io/lib/util/options.js
  24. +0 −9 public/javascripts/socket.io/lib/util/util.js
  25. +0 −1  public/javascripts/socket.io/lib/vendor/web-socket-js/.gitignore
  26. +0 −604 public/javascripts/socket.io/lib/vendor/web-socket-js/FABridge.js
  27. +0 −78 public/javascripts/socket.io/lib/vendor/web-socket-js/README.txt
  28. BIN  public/javascripts/socket.io/lib/vendor/web-socket-js/WebSocketMain.swf
  29. +0 −254 public/javascripts/socket.io/lib/vendor/web-socket-js/flash-src/WebSocket.as
  30. +0 −83 public/javascripts/socket.io/lib/vendor/web-socket-js/flash-src/WebSocketMain.as
  31. +0 −30 public/javascripts/socket.io/lib/vendor/web-socket-js/flash-src/WebSocketMessageEvent.as
  32. +0 −32 public/javascripts/socket.io/lib/vendor/web-socket-js/flash-src/WebSocketStateEvent.as
  33. +0 −943 public/javascripts/socket.io/lib/vendor/web-socket-js/flash-src/bridge/FABridge.as
  34. +0 −204 public/javascripts/socket.io/lib/vendor/web-socket-js/flash-src/com/adobe/net/proxies/RFC2817Socket.as
  35. +0 −69 public/javascripts/socket.io/lib/vendor/web-socket-js/sample.html
  36. +0 −4 public/javascripts/socket.io/lib/vendor/web-socket-js/swfobject.js
  37. +0 −311 public/javascripts/socket.io/lib/vendor/web-socket-js/web_socket.js
  38. +0 −1,203 public/javascripts/socket.io/socket.io.js
  39. +0 −731 public/javascripts/strftime.js
  40. +0 −694 public/javascripts/underscore.js
  41. +0 −17 public/javascripts/underscore.min.js
  42. +0 −52 public/stylesheets/reset.css
  43. +36 −13 readme.md
  44. +0 −17 server.js
  45. +0 −22 test/test-helper.js
  46. +0 −10 views/app.css.sass
  47. +0 −1  views/app.js.coffee
  48. +1 −0  views/index.coffee
  49. +0 −1  views/index.html.haml
  50. +40 −0 views/layout.coffee
  51. +0 −14 views/layout.html.haml
View
20 LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2011 Tom Wilson
+
+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.
View
46 app.coffee
@@ -1,38 +1,16 @@
+express = require('express')
+app = express.createServer()
-require("express")
+# Setup Template Engine
+app.register '.coffee', require('coffeekup')
+app.set 'view engine', 'coffee'
-app = express.createServer()
+# Setup Static Files
+app.use express.static(__dirname + '/public')
-app
- .get '/', (req, resp) ->
- resp.send 'hello'
- #
- # .register('.haml', require('hamljs'))
- # .get '/', (req, resp) ->
- # @render 'index.html.haml'
- #
- #
- # .get '/*.js', (file) ->
- # try
- # @render "${file}.js.coffee", { layout: false }
- # catch e
- # @pass "/${file}.js"
- #
- # .get '/*.css', (file) ->
- # try
- # @render "${file}.css.sass", { layout: false }
- # catch e
- # @pass "/${file}.css"
- #
- # .get '/*', (file) ->
- # try
- # @render "${file}.html.haml"
- # catch e
- # throw e if e.errno != 2
- # @pass "/${file}"
- #
- # .get '/*', (file) ->
- # @pass "/public/${file}"
- #
-server = app.listen(parseInt(process.env.PORT || 8000), null)
+# App Routes
+app.get '/', (request, response) ->
+ response.render 'index'
+# Listen
+app.listen 3000
View
774 npm-debug.log
@@ -1,774 +0,0 @@
-info it worked if it ends with ok
-verbose cli [ 'node',
-verbose cli '/Users/twilson63/local/bin/npm',
-verbose cli 'install',
-verbose cli 'hamljs' ]
-info using npm@1.0.6
-info using node@v0.5.0-pre
-verbose config file /Users/twilson63/.npmrc
-verbose config file /Users/twilson63/local/etc/npmrc
-silly testEngine { name: 'coffee-script',
-silly testEngine description: 'Unfancy JavaScript',
-silly testEngine keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
-silly testEngine author: { name: 'Jeremy Ashkenas' },
-silly testEngine version: '1.1.1',
-silly testEngine licenses:
-silly testEngine [ { type: 'MIT',
-silly testEngine url: 'http://github.com/jashkenas/coffee-script/raw/master/LICENSE' } ],
-silly testEngine engines: { node: '>=0.2.5' },
-silly testEngine directories: { lib: './lib' },
-silly testEngine main: './lib/coffee-script',
-silly testEngine bin: { coffee: './bin/coffee', cake: './bin/cake' },
-silly testEngine homepage: 'http://coffeescript.org',
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/jashkenas/coffee-script.git' },
-silly testEngine dependencies: {},
-silly testEngine devDependencies: {},
-silly testEngine _id: 'coffee-script@1.1.1',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/coffee-script/package.json
-verbose loadDefaults coffee-script@1.1.1
-silly testEngine { name: 'coffeekup',
-silly testEngine description: 'Markup as CoffeeScript.',
-silly testEngine version: '0.2.2',
-silly testEngine author:
-silly testEngine { name: 'Maurice Machado',
-silly testEngine email: 'maurice@bitbending.com' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Maurice Machado',
-silly testEngine email: 'maurice@bitbending.com' },
-silly testEngine { name: 'Vladimir Dronnikov',
-silly testEngine email: 'dronnikov@gmail.com' } ],
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/mauricemach/coffeekup.git' },
-silly testEngine dependencies: { 'coffee-script': '>= 1.0.0' },
-silly testEngine keywords: [ 'template', 'view', 'coffeescript' ],
-silly testEngine bin: { coffeekup: './bin/coffeekup.coffee' },
-silly testEngine directories: { lib: './lib' },
-silly testEngine engines: { node: '>= 0.2.6' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'coffeekup@0.2.2',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/coffeekup/package.json
-verbose loadDefaults coffeekup@0.2.2
-silly testEngine { name: 'connect',
-silly testEngine version: '1.4.0',
-silly testEngine description: 'High performance middleware framework',
-silly testEngine keywords: [ 'framework', 'web', 'middleware', 'connect', 'rack' ],
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/senchalabs/connect.git' },
-silly testEngine author:
-silly testEngine { name: 'TJ Holowaychuk',
-silly testEngine email: 'tj@vision-media.ca',
-silly testEngine url: 'http://tjholowaychuk.com' },
-silly testEngine dependencies: { qs: '>= 0.0.6', mime: '>= 0.0.1' },
-silly testEngine main: 'index',
-silly testEngine engines: { node: '>= 0.4.1 < 0.5.0' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'connect@1.4.0',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/connect/package.json
-verbose loadDefaults connect@1.4.0
-silly testEngine { name: 'express',
-silly testEngine description: 'Sinatra inspired web development framework',
-silly testEngine version: '2.3.4',
-silly testEngine author:
-silly testEngine { name: 'TJ Holowaychuk',
-silly testEngine email: 'tj@vision-media.ca' },
-silly testEngine contributors:
-silly testEngine [ { name: 'TJ Holowaychuk',
-silly testEngine email: 'tj@vision-media.ca' },
-silly testEngine { name: 'Aaron Heckmann',
-silly testEngine email: 'aaron.heckmann+github@gmail.com' },
-silly testEngine { name: 'Ciaran Jessup', email: 'ciaranj@gmail.com' },
-silly testEngine { name: 'Guillermo Rauch', email: 'rauchg@gmail.com' } ],
-silly testEngine dependencies:
-silly testEngine { connect: '>= 1.4.0 < 2.0.0',
-silly testEngine mime: '>= 0.0.1',
-silly testEngine qs: '>= 0.0.6' },
-silly testEngine keywords: [ 'framework', 'sinatra', 'web', 'rest', 'restful' ],
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/visionmedia/express.git' },
-silly testEngine main: 'index',
-silly testEngine bin: { express: './bin/express' },
-silly testEngine engines: { node: '>= 0.4.1 < 0.5.0' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'express@2.3.4',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/express/package.json
-verbose loadDefaults express@2.3.4
-silly testEngine { name: 'fermata',
-silly testEngine version: '0.5.2',
-silly testEngine homepage: 'https://github.com/andyet/fermata',
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/andyet/fermata.git' },
-silly testEngine author: { name: '&yet, LLC', url: 'http://andyet.net' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Nathan Vander Wilt',
-silly testEngine email: 'nate@andyet.net',
-silly testEngine url: 'http://cloudcartography.com' } ],
-silly testEngine description: 'Succinct native REST client, for client-side web apps and node.js. Turns URLs into magic JavaScript objects.',
-silly testEngine licenses:
-silly testEngine [ { type: 'MIT',
-silly testEngine url: 'https://github.com/andyet/fermata/raw/master/README.md' } ],
-silly testEngine dependencies: { 'node-proxy': '0.3.2' },
-silly testEngine main: 'fermata',
-silly testEngine devDependencies: {},
-silly testEngine _id: 'fermata@0.5.2',
-silly testEngine engines: { node: '*' },
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/fermata/package.json
-verbose loadDefaults fermata@0.5.2
-silly testEngine { name: 'jasmine-node',
-silly testEngine version: '1.0.6',
-silly testEngine description: 'DOM-less simple JavaScript BDD testing framework for Node',
-silly testEngine homepage:
-silly testEngine [ 'http://pivotal.github.com/jasmine',
-silly testEngine 'https://github.com/mhevery/jasmine-node' ],
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/mhevery/jasmine-node.git' },
-silly testEngine keywords: [ 'testing', 'bdd' ],
-silly testEngine author: { name: 'Misko Hevery', email: 'misko@hevery.com' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Rajan Agaskar' },
-silly testEngine { name: 'Christian Williams' },
-silly testEngine { name: 'Davis W. Frank',
-silly testEngine email: 'dwfrank@pivotallabs.com' },
-silly testEngine { name: 'Matteo Collina',
-silly testEngine email: 'matteo.collina@gmail.com' } ],
-silly testEngine maintainers: 'Martin Häger <martin.haeger@gmail.com>',
-silly testEngine licenses: [ 'MIT' ],
-silly testEngine dependencies: { 'coffee-script': '>=1.0.1' },
-silly testEngine bin: { 'jasmine-node': 'bin/jasmine-node' },
-silly testEngine main: 'lib/jasmine-node',
-silly testEngine devDependencies: {},
-silly testEngine _id: 'jasmine-node@1.0.6',
-silly testEngine engines: { node: '*' },
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/jasmine-node/package.json
-verbose loadDefaults jasmine-node@1.0.6
-silly testEngine { name: 'markdown-js',
-silly testEngine version: '0.0.3',
-silly testEngine keywords: [ 'markdown', 'md', 'markup', 'parser' ],
-silly testEngine description: 'A port of markdown to JavaScript.',
-silly testEngine author: { name: 'John Fraser' },
-silly testEngine contributors:
-silly testEngine [ { name: 'John Gruber' },
-silly testEngine { name: 'George Moschovitis' },
-silly testEngine { name: 'Kris Kowal' },
-silly testEngine { name: 'Irakli Gozalishvili',
-silly testEngine email: 'rfobic@gmail.com',
-silly testEngine url: 'http://jeditoolkit.com' } ],
-silly testEngine directories: { lib: './lib', test: './test' },
-silly testEngine dependencies: { test: '>=0.0.5' },
-silly testEngine engines: { node: '>=0.1.103', teleport: '>=0.2.0' },
-silly testEngine main: './lib/markdown.js',
-silly testEngine scripts: { test: 'node test/all.js' },
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/Gozala/markdown-js.git' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'markdown-js@0.0.3',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/markdown-js/package.json
-verbose loadDefaults markdown-js@0.0.3
-silly testEngine { readme: 'http://github.com/coffeemate/meryl#readme',
-silly testEngine version: '1.0.1',
-silly testEngine description: 'Minimalist web framework for NodeJS',
-silly testEngine main: 'index',
-silly testEngine author: { name: 'Kadir Pekel', email: 'kadirpekel@gmail.com' },
-silly testEngine name: 'meryl',
-silly testEngine bin: { meryl: './lib/cli.js' },
-silly testEngine engines: { node: '>=0.4.0' },
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/coffeemate/meryl.git' },
-silly testEngine dependencies: {},
-silly testEngine devDependencies: {},
-silly testEngine _id: 'meryl@1.0.1',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/meryl/package.json
-verbose loadDefaults meryl@1.0.1
-silly testEngine { name: 'mongodb',
-silly testEngine description: 'A node.js driver for MongoDB',
-silly testEngine version: '0.9.4-3',
-silly testEngine author:
-silly testEngine { name: 'Christian Amor Kvalheim',
-silly testEngine email: 'christkv@gmail.com' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Nathan White', email: 'nw@nwhite.net' },
-silly testEngine { name: 'Adam Wiggins', email: 'adam@heroku.com' },
-silly testEngine { name: 'Ian Millington',
-silly testEngine email: 'idmillington@googlemail.com' },
-silly testEngine { name: 'Aaron Heckmann',
-silly testEngine email: 'aaron.heckmann+github@gmail.com' },
-silly testEngine { name: 'Ciaran Jessup', email: 'ciaranj@gmail.com' },
-silly testEngine { name: 'Christoph Pojer' },
-silly testEngine { name: 'Erik Abele' },
-silly testEngine { name: 'Henrik Johansson',
-silly testEngine email: 'dahankzter@gmail.com' } ],
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/christkv/node-mongodb-native.git' },
-silly testEngine bugs:
-silly testEngine { email: 'node-mongodb-native@googlegroups.com',
-silly testEngine url: 'http://github.com/christkv/node-mongodb-native/issues' },
-silly testEngine os: [ 'linux', 'darwin', 'freebsd' ],
-silly testEngine main: './lib/mongodb/index',
-silly testEngine directories: { lib: './lib/mongodb' },
-silly testEngine engines: { node: '>=0.4.0' },
-silly testEngine scripts: { install: 'bash ./install.sh' },
-silly testEngine licenses:
-silly testEngine [ { type: 'Apache License, Version 2.0',
-silly testEngine url: 'http://www.apache.org/licenses/LICENSE-2.0' } ],
-silly testEngine dependencies: {},
-silly testEngine devDependencies: {},
-silly testEngine _id: 'mongodb@0.9.4-3',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/mongodb/package.json
-verbose loadDefaults mongodb@0.9.4-3
-silly testEngine { name: 'mongoose',
-silly testEngine description: 'Mongoose MongoDB ORM',
-silly testEngine version: '1.3.3',
-silly testEngine author:
-silly testEngine { name: 'Guillermo Rauch',
-silly testEngine email: 'guillermo@learnboost.com' },
-silly testEngine keywords:
-silly testEngine [ 'mongodb',
-silly testEngine 'mongoose',
-silly testEngine 'orm',
-silly testEngine 'data',
-silly testEngine 'datastore',
-silly testEngine 'nosql' ],
-silly testEngine dependencies: {},
-silly testEngine directories: { lib: './lib/mongoose' },
-silly testEngine scripts: { test: 'make test' },
-silly testEngine main: './index.js',
-silly testEngine engines: { node: '>= 0.2.0' },
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/LearnBoost/mongoose.git' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'mongoose@1.3.3',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/mongoose/package.json
-verbose loadDefaults mongoose@1.3.3
-silly testEngine { name: 'mongoskin',
-silly testEngine description: 'The future layer above node-mongodb-native',
-silly testEngine version: '0.1.2',
-silly testEngine author: { name: 'Jason Green', email: 'guileen@gmail.com' },
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/guileen/node-mongoskin.git' },
-silly testEngine bugs:
-silly testEngine { email: 'guileen@gmail.com',
-silly testEngine url: 'http://github.com/guileen/node-mongoskin/issues' },
-silly testEngine main: 'index',
-silly testEngine keywords: [ 'mongodb' ],
-silly testEngine engines: { node: '*' },
-silly testEngine dependencies: { mongodb: '*' },
-silly testEngine devDependencies: {},
-silly testEngine directories: { lib: 'lib/mongoskin' },
-silly testEngine _id: 'mongoskin@0.1.2',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/mongoskin/package.json
-verbose loadDefaults mongoskin@0.1.2
-silly testEngine { name: 'node-restclient',
-silly testEngine version: '0.0.1',
-silly testEngine description: 'node-restclient adds easy-to-use api for basic http methods',
-silly testEngine keywords: [ 'rest', 'http' ],
-silly testEngine engines: [ 'node', node: '*' ],
-silly testEngine directories: { lib: './lib' },
-silly testEngine main: './lib/restclient.js',
-silly testEngine dependencies: {},
-silly testEngine devDependencies: {},
-silly testEngine _id: 'node-restclient@0.0.1',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/node-restclient/package.json
-verbose loadDefaults node-restclient@0.0.1
-silly testEngine { name: 'nodester-cli',
-silly testEngine description: 'A CLI tool to allow interaction with the http://nodester.com/ platform.',
-silly testEngine version: '0.2.12',
-silly testEngine homepage: 'http://nodester.com/',
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/nodester/nodester-cli.git' },
-silly testEngine author:
-silly testEngine { name: 'Daniel Bartlett',
-silly testEngine email: 'dan@f-box.org',
-silly testEngine url: 'http://danb-uk.net/' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Dav Glass', email: 'davglass@gmail.com' },
-silly testEngine { name: 'Chris Matthieu', email: 'chris@matthieu.us' },
-silly testEngine { name: 'Abraham Williams',
-silly testEngine email: '4braham@gmail.com' } ],
-silly testEngine bin: { nodester: 'bin/nodester.js' },
-silly testEngine main: './lib/commands.js',
-silly testEngine engines: { node: '*' },
-silly testEngine dependencies:
-silly testEngine { 'nodester-api': '0.1.8',
-silly testEngine colors: '0.3.0',
-silly testEngine iniparser: '1.0.1' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'nodester-cli@0.2.12',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/nodester-cli/package.json
-verbose loadDefaults nodester-cli@0.2.12
-silly testEngine { name: 'nohm',
-silly testEngine version: '0.4.0',
-silly testEngine engines: { node: '>=0.4.0' },
-silly testEngine author: { name: 'Moritz Peters' },
-silly testEngine directories: { lib: './lib' },
-silly testEngine description: 'redis ORM (Object relational mapper)',
-silly testEngine main: './lib/nohm',
-silly testEngine dependencies: { async: '0.1.8', redis: '>=0.5.9' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'nohm@0.4.0',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/nohm/package.json
-verbose loadDefaults nohm@0.4.0
-silly testEngine { name: 'now',
-silly testEngine description: 'An easy to use real-time RPC library',
-silly testEngine version: '0.5.3',
-silly testEngine homepage: 'http://nowjs.com',
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/Flotype/now.git' },
-silly testEngine author: { name: 'Flotype Inc.', email: 'team@flotype.com' },
-silly testEngine main: 'lib/nowServerLib.js',
-silly testEngine directories: { lib: 'lib' },
-silly testEngine engines: { node: '*' },
-silly testEngine dependencies: { 'socket.io': '0.6.17', 'node-proxy': '0.3.2' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'now@0.5.3',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/now/package.json
-verbose loadDefaults now@0.5.3
-silly testEngine { name: 'redis',
-silly testEngine version: '0.6.0',
-silly testEngine description: 'Redis client library',
-silly testEngine author: { name: 'Matt Ranney', email: 'mjr@ranney.com' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Rick Olson' },
-silly testEngine { name: 'Tim-Smart' },
-silly testEngine { name: 'TJ Holowaychuk' },
-silly testEngine { name: 'Orion Henry' },
-silly testEngine { name: 'Hank Sims' },
-silly testEngine { name: 'Aivo Paas' },
-silly testEngine { name: 'Paul Carey' },
-silly testEngine { name: 'Pieter Noordhuis' },
-silly testEngine { name: 'Andy Ray' },
-silly testEngine { name: 'Vladimir Dronnikov' } ],
-silly testEngine main: './index.js',
-silly testEngine scripts: { test: 'node ./test.js' },
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/mranney/node_redis.git' },
-silly testEngine dependencies: {},
-silly testEngine devDependencies: {},
-silly testEngine _id: 'redis@0.6.0',
-silly testEngine engines: { node: '*' },
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/redis/package.json
-verbose loadDefaults redis@0.6.0
-silly testEngine { name: 'vows',
-silly testEngine description: 'Asynchronous BDD & continuous integration for node.js',
-silly testEngine url: 'http://vowsjs.org',
-silly testEngine keywords: [ 'testing', 'spec', 'test', 'BDD' ],
-silly testEngine author:
-silly testEngine { name: 'Alexis Sellier',
-silly testEngine email: 'self@cloudhead.net' },
-silly testEngine contributors: [],
-silly testEngine dependencies: { eyes: '>=0.1.6' },
-silly testEngine main: './lib/vows',
-silly testEngine bin: { vows: './bin/vows' },
-silly testEngine directories: { test: './test' },
-silly testEngine version: '0.5.8',
-silly testEngine engines: { node: '>=0.2.6' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'vows@0.5.8',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/vows/package.json
-verbose loadDefaults vows@0.5.8
-silly testEngine { name: 'zappa',
-silly testEngine description: 'Web development, cut-the-crap style.',
-silly testEngine version: '0.1.4',
-silly testEngine author:
-silly testEngine { name: 'Maurice Machado',
-silly testEngine email: 'maurice@bitbending.com' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Maurice Machado',
-silly testEngine email: 'maurice@bitbending.com' },
-silly testEngine { name: 'Nicholas Kinsey',
-silly testEngine email: 'nicholas.kinsey@feistystudios.com' },
-silly testEngine { name: 'Jae Kwon',
-silly testEngine email: 'jae@flywheelnetworks.com' },
-silly testEngine { name: 'Vladimir Dronnikov',
-silly testEngine email: 'dronnikov@gmail.com' },
-silly testEngine { name: 'Isaac Wolkerstorfer',
-silly testEngine email: 'agnoster@gmail.com' } ],
-silly testEngine dependencies:
-silly testEngine { express: '>= 1.0.1',
-silly testEngine coffeekup: '>= 0.2.2',
-silly testEngine 'coffee-script': '>= 1.0.0',
-silly testEngine 'socket.io': '>= 0.6.3',
-silly testEngine jquery: '>= 1.4.3' },
-silly testEngine keywords: [ 'framework', 'websockets', 'coffeescript' ],
-silly testEngine bin: { zappa: './bin/zappa.coffee' },
-silly testEngine directories: { lib: './lib' },
-silly testEngine engines: { node: '>= 0.2.6' },
-silly testEngine devDependencies: {},
-silly testEngine _id: 'zappa@0.1.4',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true }
-verbose caching /Users/twilson63/node_modules/zappa/package.json
-verbose loadDefaults zappa@0.1.4
-verbose has wscript [ undefined,
-verbose has wscript { file: '/Users/twilson63/node_modules/zombie/package.json',
-verbose has wscript contributors: false,
-verbose has wscript serverjs: false,
-verbose has wscript wscript: true } ]
-silly testEngine { name: 'zombie',
-silly testEngine version: '0.9.5',
-silly testEngine description: 'Insanely fast, full-stack, headless browser testing using Node.js',
-silly testEngine homepage: 'http://zombie.labnotes.org/',
-silly testEngine author:
-silly testEngine { name: 'Assaf Arkin',
-silly testEngine email: 'assaf@labnotes.org',
-silly testEngine url: 'http://labnotes.org/' },
-silly testEngine contributors:
-silly testEngine [ { name: 'Bob Lail',
-silly testEngine email: 'bob.lailfamily@gmail.com',
-silly testEngine url: 'http://boblail.tumblr.com/' },
-silly testEngine { name: 'Damian Janowski' },
-silly testEngine { name: 'José Valim',
-silly testEngine email: 'jose.valim@plataformatec.com.br',
-silly testEngine url: 'http://blog.plataformatec.com.br/' } ],
-silly testEngine keywords:
-silly testEngine [ 'test',
-silly testEngine 'tests',
-silly testEngine 'testing',
-silly testEngine 'TDD',
-silly testEngine 'spec',
-silly testEngine 'specs',
-silly testEngine 'BDD',
-silly testEngine 'headless',
-silly testEngine 'browser',
-silly testEngine 'html',
-silly testEngine 'html5',
-silly testEngine 'dom',
-silly testEngine 'css',
-silly testEngine 'javascript',
-silly testEngine 'integration',
-silly testEngine 'ajax',
-silly testEngine 'full-stack' ],
-silly testEngine directories: { doc: './doc', lib: './lib', man: './man7' },
-silly testEngine files:
-silly testEngine [ 'Cakefile',
-silly testEngine 'CHANGELOG.md',
-silly testEngine 'doc',
-silly testEngine 'lib',
-silly testEngine 'man7',
-silly testEngine 'MIT-LICENSE',
-silly testEngine 'README.md',
-silly testEngine 'spec',
-silly testEngine 'src',
-silly testEngine 'TODO.md',
-silly testEngine 'xpath',
-silly testEngine 'wscript' ],
-silly testEngine main: 'lib/zombie/index.js',
-silly testEngine scripts:
-silly testEngine { install: 'node-waf configure build',
-silly testEngine build: 'cake build',
-silly testEngine test: 'cake test' },
-silly testEngine engines: { node: '>= 0.2.6' },
-silly testEngine dependencies:
-silly testEngine { html5: '0.2.14',
-silly testEngine jsdom: '0.1.23',
-silly testEngine mime: '1.2.1',
-silly testEngine 'websocket-client': '1.0.0' },
-silly testEngine devDependencies:
-silly testEngine { 'coffee-script': '>= 1.0.1',
-silly testEngine docco: '0.3.0',
-silly testEngine express: '2.0.0',
-silly testEngine ronn: '0.3.6',
-silly testEngine vows: '0.5.8' },
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/assaf/zombie.git' },
-silly testEngine bugs: { url: 'http://github.com/assaf/zombie/issues' },
-silly testEngine licenses:
-silly testEngine [ { type: 'MIT',
-silly testEngine url: 'http://github.com/assaf/zombie/raw/master/MIT-LICENSE' } ],
-silly testEngine _id: 'zombie@0.9.5',
-silly testEngine _engineSupported: true,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true,
-silly testEngine man:
-silly testEngine [ 'man7/changelog.7',
-silly testEngine 'man7/api.7',
-silly testEngine 'man7/guts.7',
-silly testEngine 'man7/selectors.7',
-silly testEngine 'man7/todo.7',
-silly testEngine 'man7/troubleshoot.7',
-silly testEngine 'man7/zombie.7' ] }
-verbose caching /Users/twilson63/node_modules/zombie/package.json
-verbose loadDefaults zombie@0.9.5
-verbose into /Users/twilson63 [ 'hamljs' ]
-verbose cache add [ 'hamljs', null ]
-info addNamed [ 'hamljs', '' ]
-verbose addNamed [ null, '' ]
-verbose GET hamljs
-verbose raw, before any munging hamljs
-verbose url resolving [ 'http://registry.npmjs.org/', './hamljs' ]
-verbose url resolved http://registry.npmjs.org/hamljs
-verbose url parsed { protocol: 'http:',
-verbose url parsed slashes: true,
-verbose url parsed host: 'registry.npmjs.org',
-verbose url parsed hostname: 'registry.npmjs.org',
-verbose url parsed pathname: '/hamljs',
-verbose url parsed href: 'http://registry.npmjs.org/hamljs' }
-verbose response http://registry.npmjs.org/hamljs
-silly chunk {"_id":"hamljs","_rev":"10-a01c7214b69992352bde44938418ebf4","name":"hamljs","description":"Faster / Express compliant Haml implementation","dist-tags":{"latest":"0.5.1"},"versions":{"0.4.5":{"name":"hamljs","description":"Faster, harder, better HAML template engine","keywords":["haml","template","engine","view","nodejs"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"version":"0.4.5","directories":{"lib":"."},"_id":"hamljs@0.4.5","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"http://registry.npmjs.org/hamljs/-/hamljs-0.4.5.tgz"}},"0.5.0":{"name":"hamljs","description":"Faster / Express compliant Haml implementation","version":"0.5.0","repository":{"type":"git","url":"git://github.com/visionmedia/haml.js.git"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"main":"index","directories":{"lib":"lib"},"engines":{"node":"0.4.x"},"_id":"hamljs@0.5.0","_engineSupported":true,"_npmVersion":"0.3.13","_nodeVersion":"v0.4.2","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"170a0c7ab3dd236ff6ab6fcc0e28ff27fafde583","tarball":"http://registry.npmjs.org/hamljs/-/hamljs-0.5.0.tgz"}},"0.5.1":{"name":"ham
-silly chunk ljs","description":"Faster / Express compliant Haml implementation","version":"0.5.1","repository":{"type":"git","url":"git://github.com/visionmedia/haml.js.git"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"main":"index","engines":{"node":"0.4.x"},"_id":"hamljs@0.5.1","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.3","directories":{"lib":"./lib"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"ce4ac23b23cb2886fa72c898acc96c8ec08a91a3","tarball":"http://registry.npmjs.org/hamljs/-/hamljs-0.5.1.tgz"}}},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"repository":{"type":"git","url":"git://github.com/visionmedia/haml.js.git"},"time":{"0.4.5":"2011-03-04T16:42:46.184Z","0.5.0":"2011-03-04T16:42:46.184Z","0.5.1":"2011-03-30T17:31:51.080Z"}}
-silly get cb [ 200,
-silly get cb { vary: 'Accept',
-silly get cb server: 'CouchDB/1.0.2 (Erlang OTP/R14B)',
-silly get cb etag: '"CVFSICDQFJ1N7UBZM47NH0T3H"',
-silly get cb date: 'Fri, 13 May 2011 18:18:43 GMT',
-silly get cb 'content-type': 'application/json',
-silly get cb 'content-length': '2193' } ]
-verbose mkdir done: /Users/twilson63/.npm/hamljs 755
-verbose GET hamljs/0.5.1
-verbose raw, before any munging hamljs/0.5.1
-verbose url resolving [ 'http://registry.npmjs.org/', './hamljs/0.5.1' ]
-verbose url resolved http://registry.npmjs.org/hamljs/0.5.1
-verbose url parsed { protocol: 'http:',
-verbose url parsed slashes: true,
-verbose url parsed host: 'registry.npmjs.org',
-verbose url parsed hostname: 'registry.npmjs.org',
-verbose url parsed pathname: '/hamljs/0.5.1',
-verbose url parsed href: 'http://registry.npmjs.org/hamljs/0.5.1' }
-verbose response http://registry.npmjs.org/hamljs/0.5.1
-silly chunk {"name":"hamljs","description":"Faster / Express compliant Haml implementation","version":"0.5.1","repository":{"type":"git","url":"git://github.com/visionmedia/haml.js.git"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"main":"index","engines":{"node":"0.4.x"},"_id":"hamljs@0.5.1","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.3","directories":{"lib":"./lib"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"ce4ac23b23cb2886fa72c898acc96c8ec08a91a3","tarball":"http://registry.npmjs.org/hamljs/-/hamljs-0.5.1.tgz"}}
-silly get cb [ 200,
-silly get cb { vary: 'Accept',
-silly get cb server: 'CouchDB/1.0.2 (Erlang OTP/R14B)',
-silly get cb etag: '"CVFSICDQFJ1N7UBZM47NH0T3H"',
-silly get cb date: 'Fri, 13 May 2011 18:18:43 GMT',
-silly get cb 'content-type': 'application/json',
-silly get cb 'content-length': '597' } ]
-verbose mkdir done: /Users/twilson63/.npm/hamljs/0.5.1 755
-verbose bin dist [ null,
-verbose bin dist { shasum: 'ce4ac23b23cb2886fa72c898acc96c8ec08a91a3',
-verbose bin dist tarball: 'http://registry.npmjs.org/hamljs/-/hamljs-0.5.1.tgz' } ]
-verbose addRemoteTarball [ 'http://registry.npmjs.org/hamljs/-/hamljs-0.5.1.tgz',
-verbose addRemoteTarball 'ce4ac23b23cb2886fa72c898acc96c8ec08a91a3' ]
-verbose mkdir done: /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229 755
-info fetch http://registry.npmjs.org/hamljs/-/hamljs-0.5.1.tgz
-verbose fetch to /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/tmp.tgz
-silly updated sha bytes 8216
-info shasum ce4ac23b23cb2886fa72c898acc96c8ec08a91a3
-info shasum /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/tmp.tgz
-verbose mkdir done: /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm 755
-verbose unpack_ uid, gid [ undefined, undefined ]
-verbose unpackTarget /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package
-silly gunzTarPerm modes [ '755', '644' ]
-verbose success gzip "--decompress" "--stdout" "/var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/tmp.tgz"
-verbose success tar "-mvxpf" "-" "--no-same-owner" "-C" "/var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm"
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/.gitmodules
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/.ignore
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/.npmignore
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/History.md
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/index.js
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/Makefile
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/package.json
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/Readme.md
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/lib/
-silly asyncMap in gTP /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package/lib/haml.js
-verbose gunzed /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package
-verbose rm'ed /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package
-verbose renamed [ '/var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/___package.npm/package',
-verbose renamed '/var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package' ]
-silly testEngine { name: 'hamljs',
-silly testEngine description: 'Faster / Express compliant Haml implementation',
-silly testEngine version: '0.5.1',
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/visionmedia/haml.js.git' },
-silly testEngine author:
-silly testEngine { name: 'TJ Holowaychuk',
-silly testEngine email: 'tj@vision-media.ca',
-silly testEngine url: 'http://tjholowaychuk.com' },
-silly testEngine main: 'index',
-silly testEngine engines: { node: '0.4.x' },
-silly testEngine dependencies: {},
-silly testEngine devDependencies: {},
-silly testEngine _id: 'hamljs@0.5.1',
-silly testEngine _engineSupported: false,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true,
-silly testEngine path: '/var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package' }
-verbose caching /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package/package.json
-verbose loadDefaults hamljs@0.5.1
-verbose tarball contents [ 'package' ]
-verbose from cache /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package/package.json
-verbose pack /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package /Users/twilson63/.npm/hamljs/0.5.1/package.tgz
-verbose from cache /var/folders/vn/vnCvkEV-GrC5Ai8RZW1Zd++++TI/-Tmp-/npm-1305310723564/1305310723564-0.7087905090302229/contents/package/package.json
-verbose mkdir'ed /Users/twilson63/.npm/hamljs/0.5.1
-verbose tar about to write tar and gzip it.
-silly tar args [ '-cvf',
-silly tar args '-',
-silly tar args 'package/.ignore',
-silly tar args 'package/.gitmodules',
-silly tar args 'package/History.md',
-silly tar args 'package/.npmignore',
-silly tar args 'package/Makefile',
-silly tar args 'package/package.json',
-silly tar args 'package/Readme.md',
-silly tar args 'package/index.js',
-silly tar args 'package/lib/haml.js' ]
-verbose success tar -cvf - <file list elided>
-verbose success gzip "--stdout"
-verbose mkdir done: /Users/twilson63/.npm/hamljs/0.5.1/___package.npm 755
-verbose unpack_ uid, gid [ undefined, undefined ]
-verbose unpackTarget /Users/twilson63/.npm/hamljs/0.5.1/package
-silly gunzTarPerm modes [ '755', '644' ]
-verbose success gzip "--decompress" "--stdout" "/Users/twilson63/.npm/hamljs/0.5.1/package.tgz"
-verbose success tar "-mvxpf" "-" "--no-same-owner" "-C" "/Users/twilson63/.npm/hamljs/0.5.1/___package.npm"
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/.gitmodules
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/.ignore
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/.npmignore
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/History.md
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/index.js
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/Makefile
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/package.json
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/Readme.md
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/lib/
-silly asyncMap in gTP /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package/lib/haml.js
-verbose gunzed /Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package
-verbose rm'ed /Users/twilson63/.npm/hamljs/0.5.1/package
-verbose renamed [ '/Users/twilson63/.npm/hamljs/0.5.1/___package.npm/package',
-verbose renamed '/Users/twilson63/.npm/hamljs/0.5.1/package' ]
-silly testEngine { name: 'hamljs',
-silly testEngine description: 'Faster / Express compliant Haml implementation',
-silly testEngine version: '0.5.1',
-silly testEngine repository:
-silly testEngine { type: 'git',
-silly testEngine url: 'git://github.com/visionmedia/haml.js.git' },
-silly testEngine author:
-silly testEngine { name: 'TJ Holowaychuk',
-silly testEngine email: 'tj@vision-media.ca',
-silly testEngine url: 'http://tjholowaychuk.com' },
-silly testEngine main: 'index',
-silly testEngine engines: { node: '0.4.x' },
-silly testEngine dependencies: {},
-silly testEngine devDependencies: {},
-silly testEngine _id: 'hamljs@0.5.1',
-silly testEngine _engineSupported: false,
-silly testEngine _npmVersion: '1.0.6',
-silly testEngine _nodeVersion: 'v0.5.0-pre',
-silly testEngine _defaultsLoaded: true,
-silly testEngine dist: { shasum: 'ab580ca477af10a941608546e10fef43705caa4c' } }
-verbose caching /Users/twilson63/.npm/hamljs/0.5.1/package/package.json
-verbose loadDefaults hamljs@0.5.1
-silly updated sha bytes 8196
-info shasum ab580ca477af10a941608546e10fef43705caa4c
-info shasum /Users/twilson63/.npm/hamljs/0.5.1/package.tgz
-verbose from cache /Users/twilson63/.npm/hamljs/0.5.1/package/package.json
-verbose chmod /Users/twilson63/.npm/hamljs/0.5.1/package.json 644
-verbose chmod /Users/twilson63/.npm/hamljs/0.5.1/package.tgz 644
-silly resolved [ { name: 'hamljs',
-silly resolved description: 'Faster / Express compliant Haml implementation',
-silly resolved version: '0.5.1',
-silly resolved repository:
-silly resolved { type: 'git',
-silly resolved url: 'git://github.com/visionmedia/haml.js.git' },
-silly resolved author:
-silly resolved { name: 'TJ Holowaychuk',
-silly resolved email: 'tj@vision-media.ca',
-silly resolved url: 'http://tjholowaychuk.com' },
-silly resolved main: 'index',
-silly resolved engines: { node: '0.4.x' },
-silly resolved dependencies: {},
-silly resolved devDependencies: {},
-silly resolved _id: 'hamljs@0.5.1',
-silly resolved _engineSupported: false,
-silly resolved _npmVersion: '1.0.6',
-silly resolved _nodeVersion: 'v0.5.0-pre',
-silly resolved _defaultsLoaded: true,
-silly resolved dist: { shasum: 'ab580ca477af10a941608546e10fef43705caa4c' } } ]
-info into /Users/twilson63 hamljs@0.5.1
-info installOne hamljs@0.5.1
-verbose installOne cb hamljs@0.5.1
-ERR! Unsupported
-ERR! Not compatible with your version of node/npm: hamljs@0.5.1
-ERR! Required: {"node":"0.4.x"}
-ERR! Actual: {"npm":"1.0.6","node":"v0.5.0-pre"}
-ERR!
-ERR! System Darwin 10.7.0
-ERR! command "node" "/Users/twilson63/local/bin/npm" "install" "hamljs"
-verbose exit [ 1, true ]
View
92 public/javascripts/Math.uuid.js
@@ -1,92 +0,0 @@
-/*!
-Math.uuid.js (v1.4)
-http://www.broofa.com
-mailto:robert@broofa.com
-
-Copyright (c) 2010 Robert Kieffer
-Dual licensed under the MIT and GPL licenses.
-*/
-
-/*
- * Generate a random uuid.
- *
- * USAGE: Math.uuid(length, radix)
- * length - the desired number of characters
- * radix - the number of allowable values for each character.
- *
- * EXAMPLES:
- * // No arguments - returns RFC4122, version 4 ID
- * >>> Math.uuid()
- * "92329D39-6F5C-4520-ABFC-AAB64544E172"
- *
- * // One argument - returns ID of the specified length
- * >>> Math.uuid(15) // 15 character ID (default base=62)
- * "VcydxgltxrVZSTV"
- *
- * // Two arguments - returns ID of the specified length, and radix. (Radix must be <= 62)
- * >>> Math.uuid(8, 2) // 8 character ID (base=2)
- * "01001010"
- * >>> Math.uuid(8, 10) // 8 character ID (base=10)
- * "47473046"
- * >>> Math.uuid(8, 16) // 8 character ID (base=16)
- * "098F4D35"
- */
-(function() {
- // Private array of chars to use
- var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
-
- Math.uuid = function (len, radix) {
- var chars = CHARS, uuid = [];
- radix = radix || chars.length;
-
- if (len) {
- // Compact form
- for (var i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
- } else {
- // rfc4122, version 4 form
- var r;
-
- // rfc4122 requires these characters
- uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
- uuid[14] = '4';
-
- // Fill in random data. At i==19 set the high bits of clock sequence as
- // per rfc4122, sec. 4.1.5
- for (var i = 0; i < 36; i++) {
- if (!uuid[i]) {
- r = 0 | Math.random()*16;
- uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
- }
- }
- }
-
- return uuid.join('');
- };
-
- // A more performant, but slightly bulkier, RFC4122v4 solution. We boost performance
- // by minimizing calls to random()
- Math.uuidFast = function() {
- var chars = CHARS, uuid = new Array(36), rnd=0, r;
- for (var i = 0; i < 36; i++) {
- if (i==8 || i==13 || i==18 || i==23) {
- uuid[i] = '-';
- } else if (i==14) {
- uuid[i] = '4';
- } else {
- if (rnd <= 0x02) rnd = 0x2000000 + (Math.random()*0x1000000)|0;
- r = rnd & 0xf;
- rnd = rnd >> 4;
- uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
- }
- }
- return uuid.join('');
- };
-
- // A more compact, but less performant, RFC4122v4 solution:
- Math.uuidCompact = function() {
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
- var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
- return v.toString(16);
- }).toUpperCase();
- };
-})();
View
58 public/javascripts/pretty_date.js
@@ -1,58 +0,0 @@
-/*
- * JavaScript Pretty Date
- * Copyright (c) 2008 John Resig (jquery.com)
- * Licensed under the MIT license.
- */
-
-// Takes an ISO time and returns a string representing how
-// long ago the date represents.
-function prettyDate(time){
- var date = new Date(Date.parse(time)),
- diff = (((new Date()).getTime() - date.getTime()) / 1000),
- day_diff = Math.floor(diff / 86400);
-
- if (isNaN(day_diff)) return;
-
- return day_diff < 0 && (
- day_diff == -1 && (
- diff > -60 && "in just a second" ||
- diff > -120 && "in a minute" ||
- diff > -3600 && "in " + Math.floor(-diff / 60) + " minutes" ||
- diff > -7200 && "in an hour or so" ||
- diff > -86400 && "in " + Math.floor(-diff / 3600) + " hours") ||
- day_diff == -2 && "Tomorrow" ||
- day_diff > -8 && (-1 - day_diff) + " days from now" ||
- day_diff > -48 && Math.ceil((-1 - day_diff) / 7) + " weeks from now" ||
- day_diff > -365 * 1.5 && "about " + Math.round((-1 - day_diff) / 30) + " months from now" ||
- day_diff > -365 * 2 && "about two years from now" ||
- "over " + Math.floor((-1 - day_diff) / 365) + " years from now"
- ) ||
- day_diff == 0 && (
- diff < 60 && "just now" ||
- diff < 120 && "a minute ago" ||
- diff < 3600 && Math.floor(diff / 60) + " minutes ago" ||
- diff < 7200 && "an hour ago" ||
- diff < 86400 && Math.floor(diff / 3600) + " hours ago") ||
- day_diff == 1 && "Yesterday" ||
- day_diff < 7 && day_diff + " days ago" ||
- day_diff < 48 && Math.ceil(day_diff / 7) + " weeks ago" ||
- day_diff < 365 * 1.5 && "about " + Math.round(day_diff / 30) + " months ago" ||
- day_diff < 365 * 2 && "almost two years ago" ||
- "over " + Math.floor(day_diff / 365) + " years ago";
-}
-
-// If jQuery is included in the page, adds a jQuery plugin to handle it as well
-if (typeof jQuery != "undefined") {
- jQuery.fn.prettyDate = function() {
- return this.each(function() {
- var el = jQuery(this),
- originalDate = el.data('originalDate') || el.text(),
- date = prettyDate(originalDate);
-
- if (date) {
- el.text(date);
- el.data('originalDate', originalDate)
- }
- });
- };
-}
View
3  public/javascripts/socket.io/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "lib/vendor/web-socket-js"]
- path = lib/vendor/web-socket-js
- url = git://github.com/gimite/web-socket-js.git
View
175 public/javascripts/socket.io/README.md
@@ -1,175 +0,0 @@
-socket.io Client: Sockets for the rest of us
-============================================
-
-The `socket.io` client is basically a simple HTTP Socket interface implementation. It allows you to establish a realtime connection with a server (see `socket.io` server [here](http://github.com/LearnBoost/Socket.IO-node)), hiding the complexity of the different transports (WebSocket, Flash, forever iframe, XHR long polling, XHR multipart encoded, etc).
-
-## Features
-
-- Supports
- - WebSocket
- - Adobe Flash Socket
- - ActiveX HTMLFile (IE)
- - XHR with multipart encoding
- - XHR with long-polling
-
-- ActionScript Socket is known not to work behind proxies, as it doesn't have access to the user agent proxy settings to implement the CONNECT HTTP method. If it fails, `socket.io` will try something else.
-
-- On a successful connection, it remembers the transport for next time (stores it in a cookie).
-
-- Small. Closure Compiled with all deps: 5.82kb (gzipped).
-
-- Easy to use! See [socket.io-node](http://github.com/LearnBoost/Socket.IO-node) for the server to connect to.
-
-## How to use
-
-In your head
-
- <script src="/path/to/socket.io.js">
- <script>
- io.setPath('/path/to/socket.io/');
- </script>
-
-In your code
-
- socket = new io.Socket('localhost');
- socket.connect();
- socket.send('some data');
- socket.addEvent('message', function(data){
- alert('got some data' + data);
- });
-
-For an example, check out the chat [source](https://github.com/LearnBoost/Socket.IO-node/blob/master/test/chat.html).
-
-## Notes
-
-IMPORTANT! When checking out the git repo, make sure to include the submodules. One way to do it is:
-
- git clone [repo] --recursive
-
-Another, once cloned
-
- git submodule update --init --recursive
-
-## Documentation
-
-### io.Socket
-
- new io.Socket(host, [options]);
-
-Options:
-
-- *port*
-
- Current port or 80
-
- The port `socket.io` server is attached to (defaults to the document.location port)
-
-- *resource*
-
- socket.io
-
- The resource is what allows the `socket.io` server to identify incoming connections by `socket.io` clients. In other words, any HTTP server can implement socket.io and still serve other normal, non-realtime HTTP requests.
-
-- *transports*
-
- ['websocket', 'htmlfile', 'xhr-multipart', 'xhr-polling']
-
- A list of the transports to attempt to utilize (in order of preference)
-
-- *transportOptions*
-
- {
- someTransport: {
- someOption: true
- },
- ...
- }
-
- An object containing (optional) options to pass to each transport.
-
-Properties:
-
-- *options*
-
- The passed in options combined with the defaults
-
-- *connected*
-
- Whether the socket is connected or not.
-
-- *connecting*
-
- Whether the socket is connecting or not.
-
-- *transport*
-
- The transport instance.
-
-Methods:
-
-- *connect*
-
- Establishes a connection
-
-- *send(message)*
-
- A string of data to send.
-
-- *disconnect*
-
- Closes the connection
-
-- *addEvent(event, λ)*
-
- Adds a listener for the event *event*
-
-- *removeEvent(event, λ)*
-
- Removes the listener λ for the event *event*
-
-Events:
-
-- *connect*
-
- Fired when the connection is established and the handshake successful
-
-- *message(message)*
-
- Fired when a message arrives from the server
-
-- *close*
-
- Fired when the connection is closed. Be careful with using this event, as some transports will fire it even under temporary, expected disconnections (such as XHR-Polling).
-
-- *disconnect*
-
- Fired when the connection is considered disconnected.
-
-## Credits
-
-Guillermo Rauch &lt;guillermo@learnboost.com&gt;
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2010 LearnBoost &lt;dev@learnboost.com&gt;
-
-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.
View
51 public/javascripts/socket.io/build.js
@@ -1,51 +0,0 @@
-#!/usr/bin/env node
-
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-/*
- * This file will help you take all the Socket.IO client files and build socket.io.js.
- * You can later use Google Closure Compiler on it.
- */
-
-var fs = require('fs'),
- sys = require('sys'),
- socket = require('./lib/io'),
- files = [
- 'io.js',
- 'util/util.js',
- 'util/object.js',
- 'util/array.js',
- 'util/options.js',
- 'util/events.js',
- 'util/json.js',
- 'util/oo.js',
- 'transport.js',
- 'transports/xhr.js',
- 'transports/websocket.js',
- 'transports/htmlfile.js',
- 'transports/xhr-multipart.js',
- 'transports/xhr-polling.js',
- 'socket.js',
- ],
- content = "/** Socket.IO "+ socket.io.version +" - Built with build.js */\n";
-
-sys.log('Reading files…');
-
-files.forEach(function(file){
- var path = __dirname + '/lib/' + file;
- sys.log (' + ' + path);
- content += fs.readFileSync(path) + "\n";
-});
-
-sys.log('Generating…');
-
-fs.write(fs.openSync(__dirname + '/socket.io.js', 'w'), content, 0, 'utf8');
-sys.log(' + ' + __dirname + '/socket.io.js');
-
-sys.log('All done!');
View
23 public/javascripts/socket.io/lib/io.js
@@ -1,23 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-this.io = {
- version: '0.2.1',
-
- setPath: function(path){
- this.path = /\/$/.test(path) ? path : path + '/';
-
- // this is temporary until we get a fix for injecting Flash WebSocket javascript files dynamically,
- // as io.js shouldn't be aware of specific transports.
- if ('WebSocket' in window){
- WebSocket.__swfLocation = path + 'lib/vendor/web-socket-js/WebSocketMain.swf';
- }
- }
-};
-
-if ('jQuery' in this) jQuery.io = this.io;
View
94 public/javascripts/socket.io/lib/socket.js
@@ -1,94 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-io.Socket = ioClass({
-
- include: [io.util.Events, io.util.Options],
-
- options: {
- secure: false,
- document: document,
- port: document.location.port || 80,
- resource: 'socket.io',
- transports: ['websocket', 'htmlfile', 'xhr-multipart', 'xhr-polling'],
- transportOptions: {},
- rememberTransport: true
- },
-
- init: function(host, options){
- this.host = host || document.domain;
- this.setOptions(options);
- this.connected = false;
- this.connecting = false;
- this.transport = this.getTransport();
- if (!this.transport && 'console' in window) console.error('No transport available');
- },
-
- getTransport: function(){
- var transports = this.options.transports, match;
- if (this.options.rememberTransport){
- match = this.options.document.cookie.match('(?:^|;)\\s*socket\.io=([^;]*)');
- if (match) transports = [decodeURIComponent(match[1])];
- }
- for (var i = 0; transport = transports[i]; i++){
- if (io.Transport[transport] && io.Transport[transport].check()){
- return new io.Transport[transport](this, this.options.transportOptions[transport] || {});
- }
- }
- return null;
- },
-
- connect: function(){
- if (this.transport && !this.connected && !this.connecting){
- this.connecting = true;
- this.transport.connect();
- }
- return this;
- },
-
- send: function(data){
- if (!this.transport || !this.transport.connected) return this._queue(data);
- this.transport.send(JSON.stringify([data]));
- return this;
- },
-
- disconnect: function(){
- this.transport.disconnect();
- return this;
- },
-
- _queue: function(message){
- if (!('_queueStack' in this)) this._queueStack = [];
- this._queueStack.push(message);
- return this;
- },
-
- _doQueue: function(){
- if (!('_queueStack' in this) || !this._queueStack.length) return this;
- this.transport.send(JSON.stringify([].concat(this._queueStack)));
- this._queueStack = [];
- return this;
- },
-
- _onConnect: function(){
- this.connected = true;
- this.connecting = false;
- this._doQueue();
- if (this.options.rememberTransport) this.options.document.cookie = 'socket.io=' + encodeURIComponent(this.transport.type);
- this.fireEvent('connect');
- },
-
- _onMessage: function(data){
- this.fireEvent('message', data);
- },
-
- _onDisconnect: function(){
- this.fireEvent('disconnect');
- }
-
-});
View
76 public/javascripts/socket.io/lib/transport.js
@@ -1,76 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-// abstract
-io.Transport = ioClass({
-
- include: [io.util.Events, io.util.Options],
-
- init: function(base, options){
- this.base = base;
- this.setOptions(options);
- },
-
- send: function(){
- throw new Error('Missing send() implementation');
- },
-
- connect: function(){
- throw new Error('Missing connect() implementation');
- },
-
- disconnect: function(){
- throw new Error('Missing disconnect() implementation');
- },
-
- _onData: function(data){
- try {
- var msgs = JSON.parse(data);
- } catch(e){}
- if (msgs && msgs.messages){
- for (var i = 0, l = msgs.messages.length; i < l; i++){
- this._onMessage(msgs.messages[i]);
- }
- }
- },
-
- _onMessage: function(message){
- if (!('sessionid' in this)){
- try {
- var obj = JSON.parse(message);
- } catch(e){}
- if (obj && obj.sessionid){
- this.sessionid = obj.sessionid;
- this._onConnect();
- }
- } else {
- this.base._onMessage(message);
- }
- },
-
- _onConnect: function(){
- this.connected = true;
- this.base._onConnect();
- },
-
- _onDisconnect: function(){
- if (!this.connected) return;
- this.connected = false;
- this.base._onDisconnect();
- },
-
- _prepareUrl: function(){
- return (this.base.options.secure ? 'https' : 'http')
- + '://' + this.base.host
- + ':' + this.base.options.port
- + '/' + this.base.options.resource
- + '/' + this.type
- + (this.sessionid ? ('/' + this.sessionid) : '');
- }
-
-});
View
38 public/javascripts/socket.io/lib/transports/flashsocket.js
@@ -1,38 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-io.Transport.flashsocket = io.Transport.websocket.extend({
-
- _onClose: function(){
- if (!this.base.connected){
- // something failed, we might be behind a proxy, so we'll try another transport
- this.base.options.transports.splice(io.util.Array.indexOf(this.base.options.transports, 'flashsocket'), 1);
- this.base.transport = this.base.getTransport();
- this.base.connect();
- return;
- }
- return this.__super__();
- }
-
-});
-
-io.Transport.flashsocket.check = function(){
- if (!('path' in io)) throw new Error('The `flashsocket` transport requires that you call io.setPath() with the path to the socket.io client dir.');
-
- if ('navigator' in window && 'plugins' in navigator && 'Shockwave Flash' in navigator.plugins){
- return !! navigator.plugins['Shockwave Flash'].description;
- }
-
- if ('ActiveXObject' in window){
- try {
- return !! new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');
- } catch (e){}
- }
-
- return false;
-};
View
64 public/javascripts/socket.io/lib/transports/htmlfile.js
@@ -1,64 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-(function(){
- var empty = new Function, request = io.Transport.XHR.request;
-
- io.Transport['htmlfile'] = io.Transport.extend({
-
- type: 'htmlfile',
-
- connect: function(){
- var self = this;
-
- this._doc = new ActiveXObject("htmlfile");
- this._doc.open();
- this._doc.write('<html><script>document.domain="'+ document.domain +'"</script></html>');
- this._doc.close();
-
- this.iframe = this.doc.createElement('div');
- this._doc.body.appendChild(iframe);
- iframe.innerHTML = '<iframe src="'+ this._prepareUrl() +'"></iframe>';
-
- this.doc.parentWindow.callback = function(data){ self._onData(data); };
- window.attachEvent('onunload', function(){ self._destroy(); });
- },
-
- send: function(data){
- this._sendXhr = request();
- this._sendXhr.open('POST', this._prepareUrl() + '/send');
- this._sendXhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
- this._sendXhr.send('data=' + encodeURIComponent(data));
- },
-
- disconnect: function(){
- this._destroy();
- if (this._sendXhr) this._sendXhr.abort();
- this._onClose();
- this._onDisconnect();
- },
-
- _destroy: function(){
- this._doc = null;
- CollectGarbage();
- }
-
- });
-
- io.Transport['htmlfile'].check = function(){
- return false;
- if ('ActiveXObject' in window){
- try {
- var a = new ActiveXObject('htmlfile');
- return io.Transport.XHR.check();
- } catch(e){}
- }
- return false;
- };
-
-})();
View
49 public/javascripts/socket.io/lib/transports/websocket.js
@@ -1,49 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-io.Transport.websocket = io.Transport.extend({
-
- type: 'websocket',
-
- connect: function(){
- var self = this;
- this.socket = new WebSocket(this._prepareUrl());
- this.socket.onmessage = function(ev){ self._onData(ev.data); };
- this.socket.onclose = function(ev){ self._onClose(); };
- return this;
- },
-
- send: function(data){
- this.socket.send(data);
- return this;
- },
-
- disconnect: function(){
- this.socket.close();
- return this;
- },
-
- _onClose: function(){
- this._onDisconnect();
- },
-
- _prepareUrl: function(){
- return (this.base.options.secure ? 'wss' : 'ws')
- + '://' + this.base.host
- + ':' + this.base.options.port
- + '/' + this.base.options.resource
- + '/' + this.type
- + (this.sessionid ? ('/' + this.sessionid) : '');
- }
-
-});
-
-io.Transport.websocket.check = function(){
- // we make sure WebSocket is not confounded with a previously loaded flash WebSocket
- return 'WebSocket' in window && !('__initialize' in WebSocket);
-};
View
26 public/javascripts/socket.io/lib/transports/xhr-multipart.js
@@ -1,26 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-io.Transport['xhr-multipart'] = io.Transport.XHR.extend({
-
- type: 'xhr-multipart',
-
- connect: function(){
- var self = this;
- this._xhr = this._request('', 'GET', true);
- this._xhr.onreadystatechange = function(){
- if (self._xhr.readyState == 3) self._onData(self._xhr.responseText);
- };
- this._xhr.send();
- }
-
-});
-
-io.Transport['xhr-multipart'].check = function(){
- return 'XMLHttpRequest' in window && 'multipart' in XMLHttpRequest.prototype;
-};
View
36 public/javascripts/socket.io/lib/transports/xhr-polling.js
@@ -1,36 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-(function(){
-
- var empty = new Function();
-
- io.Transport['xhr-polling'] = io.Transport.XHR.extend({
-
- type: 'xhr-polling',
-
- connect: function(){
- var self = this;
- this._xhr = this._request('', 'GET');
- this._xhr.onreadystatechange = function(){
- if (self._xhr.status == 200 && self._xhr.readyState == 4){
- if (self._xhr.responseText.length) self._onData(self._xhr.responseText);
- self._xhr.onreadystatechange = empty;
- self.connect();
- }
- };
- this._xhr.send();
- }
-
- });
-
- io.Transport['xhr-polling'].check = function(){
- return io.Transport.XHR.check();
- };
-
-})();
View
69 public/javascripts/socket.io/lib/transports/xhr.js
@@ -1,69 +0,0 @@
-/**
- * Socket.IO client
- *
- * @author Guillermo Rauch <guillermo@rosepad.com>
- * @license The MIT license.
- * @copyright Copyright (c) 2009 RosePad <dev@rosepad.com>
- */
-
-(function(){
-
- var empty = new Function;
-
- io.Transport.XHR = io.Transport.extend({
-
- connect: function(){
- this._get();
- },
-
- send: function(data){
- this._sendXhr = this._request('send', 'POST');
- this._sendXhr.send('data=' + encodeURIComponent(data));
- },
-
- disconnect: function(){
- if (this._xhr){
- this._xhr.onreadystatechange = empty;
- this._xhr.abort();
- }
- if (this._sendXhr) this._sendXhr.abort();
- this._onClose();
- this._onDisconnect();
- },
-
- _request: function(url, method, multipart){
- var req = request();
- if (multipart) req.multipart = true;
- req.open(method || 'GET', this._prepareUrl() + (url ? '/' + url : ''));
- if (method == 'POST'){
- req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
- }
- return req;
- }
-
- });
-
- var request = io.Transport.XHR.request = function(){
- if ('XMLHttpRequest' in window) return new XMLHttpRequest();
-
- try {
- var a = new ActiveXObject('MSXML2.XMLHTTP');
- return a;
- } catch(e){}
-
- try {
- var b = new ActiveXObject('Microsoft.XMLHTTP');
- return b;
- } catch(e){}
-
- return false;
- };
-
- io.Transport.XHR.check = function(){
- try {
- if (request()) return true;
- } catch(e){}
- return false;
- };
-
-})();
View
30 public/javascripts/socket.io/lib/util/array.js
@@ -1,30 +0,0 @@
-// Methods from Array.js from MooTools (MIT)
-// Copyright (c) 2006-2009 Valerio Proietti, <http://mad4milk.net/>
-
-(function(){
-
- var array = io.util.Array = {
-
- include: function(arr, item){
- if (!array.contains(arr, item)) arr.push(item);
- return arr;
- },
-
- each: function(arr, fn, bind){
- for (var i = 0, l = arr.length; i < l; i++) fn.call(bind, arr[i], i, arr);
- },
-
- contains: function(arr, item, from){
- return array.indexOf(arr, item, from) != -1;
- },
-
- indexOf: function(arr, item, from){
- for (var l = arr.length, i = (from < 0) ? Math.max(0, l + from) : from || 0; i < l; i++){
- if (arr[i] === item) return i;
- }
- return -1;
- }
-
- };
-
-})();
View
67 public/javascripts/socket.io/lib/util/events.js
@@ -1,67 +0,0 @@
-// Based on Mixin.js from MooTools (MIT)
-// Copyright (c) 2006-2009 Valerio Proietti, <http://mad4milk.net/>
-
-io.util.Events = (function(){
- var array = io.util.Array,
-
- eventsOf = function(object, type){
- type = type.replace(/^on([A-Z])/, function(full, first){
- return first.toLowerCase();
- });
- var events = object.$events;
- return events[type] || (events[type] = []);
- },
-
- removeEventsOfType = function(object, type){
- array.each(eventsOf(object, type), function(fn){
- object.removeEvent(type, fn);
- });
- };
-
- return {
- $events: {},
-
- addEvent: function(type, fn){
- array.include(eventsOf(this, type), fn);
- return this;
- },
-
- addEvents: function(events){
- for (var name in events) this.addEvent(name, events[name]);
- return this;
- },
-
- fireEvent: function(type, args){
- args = [].concat(args);
- array.each(eventsOf(this, type), function(fn){
- fn.apply(this, args);
- }, this);
- return this;
- },
-
- fireEvents: function(){
- for (var i = 0; i < arguments.length; i++) this.fireEvent(arguments[i]);
- return this;
- },
-
- removeEvent: function(type, fn){
- var events = eventsOf(this, type), index = events.indexOf(fn);
- if (index != -1) delete events[index];
-
- return this;
- },
-
- removeEvents: function(option){
- if (option === null){
- var events = this.$events;
- for (var type in events) removeEventsOfType(this, type);
- } else {
- switch (typeof option){
- case 'string': removeEventsOfType(this, option); break;
- case 'object': for (var name in option) this.removeEvent(name, option[name]); break;
- }
- }
- return this;
- }
- };
-})();
View
482 public/javascripts/socket.io/lib/util/json.js
@@ -1,482 +0,0 @@
-/*
- http://www.JSON.org/json2.js
- 2010-03-20
-
- Public Domain.
-
- NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
-
- See http://www.JSON.org/js.html
-
-
- This code should be minified before deployment.
- See http://javascript.crockford.com/jsmin.html
-
- USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
- NOT CONTROL.
-
-
- This file creates a global JSON object containing two methods: stringify
- and parse.
-
- JSON.stringify(value, replacer, space)
- value any JavaScript value, usually an object or array.
-
- replacer an optional parameter that determines how object
- values are stringified for objects. It can be a
- function or an array of strings.
-
- space an optional parameter that specifies the indentation
- of nested structures. If it is omitted, the text will
- be packed without extra whitespace. If it is a number,
- it will specify the number of spaces to indent at each
- level. If it is a string (such as '\t' or '&nbsp;'),
- it contains the characters used to indent at each level.
-
- This method produces a JSON text from a JavaScript value.
-
- When an object value is found, if the object contains a toJSON
- method, its toJSON method will be called and the result will be
- stringified. A toJSON method does not serialize: it returns the
- value represented by the name/value pair that should be serialized,
- or undefined if nothing should be serialized. The toJSON method
- will be passed the key associated with the value, and this will be
- bound to the value
-
- For example, this would serialize Dates as ISO strings.
-
- Date.prototype.toJSON = function (key) {
- function f(n) {
- // Format integers to have at least two digits.
- return n < 10 ? '0' + n : n;
- }
-
- return this.getUTCFullYear() + '-' +
- f(this.getUTCMonth() + 1) + '-' +
- f(this.getUTCDate()) + 'T' +
- f(this.getUTCHours()) + ':' +
- f(this.getUTCMinutes()) + ':' +
- f(this.getUTCSeconds()) + 'Z';
- };
-
- You can provide an optional replacer method. It will be passed the
- key and value of each member, with this bound to the containing
- object. The value that is returned from your method will be
- serialized. If your method returns undefined, then the member will
- be excluded from the serialization.
-
- If the replacer parameter is an array of strings, then it will be
- used to select the members to be serialized. It filters the results
- such that only members with keys listed in the replacer array are
- stringified.
-
- Values that do not have JSON representations, such as undefined or
- functions, will not be serialized. Such values in objects will be
- dropped; in arrays they will be replaced with null. You can use
- a replacer function to replace those with JSON values.
- JSON.stringify(undefined) returns undefined.
-
- The optional space parameter produces a stringification of the
- value that is filled with line breaks and indentation to make it
- easier to read.
-
- If the space parameter is a non-empty string, then that string will
- be used for indentation. If the space parameter is a number, then
- the indentation will be that many spaces.
-
- Example:
-
- text = JSON.stringify(['e', {pluribus: 'unum'}]);
- // text is '["e",{"pluribus":"unum"}]'
-
-
- text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
- // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
-
- text = JSON.stringify([new Date()], function (key, value) {
- return this[key] instanceof Date ?
- 'Date(' + this[key] + ')' : value;
- });
- // text is '["Date(---current time---)"]'
-
-
- JSON.parse(text, reviver)
- This method parses a JSON text to produce an object or array.
- It can throw a SyntaxError exception.
-
- The optional reviver parameter is a function that can filter and
- transform the results. It receives each of the keys and values,
- and its return value is used instead of the original value.
- If it returns what it received, then the structure is not modified.
- If it returns undefined then the member is deleted.
-
- Example:
-
- // Parse the text. Values that look like ISO date strings will
- // be converted to Date objects.
-
- myData = JSON.parse(text, function (key, value) {
- var a;
- if (typeof value === 'string') {
- a =
-/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
- if (a) {
- return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
- +a[5], +a[6]));
- }
- }
- return value;
- });
-
- myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
- var d;
- if (typeof value === 'string' &&
- value.slice(0, 5) === 'Date(' &&
- value.slice(-1) === ')') {
- d = new Date(value.slice(5, -1));
- if (d) {
- return d;
- }
- }
- return value;
- });
-
-
- This is a reference implementation. You are free to copy, modify, or
- redistribute.
-*/
-
-/*jslint evil: true, strict: false */
-
-/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
- call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
- getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
- lastIndex, length, parse, prototype, push, replace, slice, stringify,
- test, toJSON, toString, valueOf
-*/
-
-
-// Create a JSON object only if one does not already exist. We create the
-// methods in a closure to avoid creating global variables.
-
-if (!this.JSON) {
- this.JSON = {};
-}
-
-(function () {
-
- function f(n) {
- // Format integers to have at least two digits.
- return n < 10 ? '0' + n : n;
- }
-
- if (typeof Date.prototype.toJSON !== 'function') {
-
- Date.prototype.toJSON = function (key) {
-
- return isFinite(this.valueOf()) ?
- this.getUTCFullYear() + '-' +
- f(this.getUTCMonth() + 1) + '-' +
- f(this.getUTCDate()) + 'T' +
- f(this.getUTCHours()) + ':' +
- f(this.getUTCMinutes()) + ':' +
- f(this.getUTCSeconds()) + 'Z' : null;
- };
-
- String.prototype.toJSON =
- Number.prototype.toJSON =
- Boolean.prototype.toJSON = function (key) {
- return this.valueOf();
- };
- }
-
- var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
- escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
- gap,
- indent,
- meta = { // table of character substitutions
- '\b': '\\b',
- '\t': '\\t',
- '\n': '\\n',
- '\f': '\\f',
- '\r': '\\r',
- '"' : '\\"',
- '\\': '\\\\'
- },
- rep;
-
-
- function quote(string) {
-
-// If the string contains no control characters, no quote characters, and no
-// backslash characters, then we can safely slap some quotes around it.
-// Otherwise we must also replace the offending characters with safe escape
-// sequences.
-
- escapable.lastIndex = 0;
- return escapable.test(string) ?
- '"' + string.replace(escapable, function (a) {
- var c = meta[a];
- return typeof c === 'string' ? c :
- '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
- }) + '"' :
- '"' + string + '"';
- }
-
-
- function str(key, holder) {
-
-// Produce a string from holder[key].
-
- var i, // The loop counter.
- k, // The member key.
- v, // The member value.
- length,
- mind = gap,
- partial,
- value = holder[key];
-
-// If the value has a toJSON method, call it to obtain a replacement value.
-
- if (value && typeof value === 'object' &&
- typeof value.toJSON === 'function') {
- value = value.toJSON(key);
- }
-
-// If we were called with a replacer function, then call the replacer to
-// obtain a replacement value.
-
- if (typeof rep === 'function') {
- value = rep.call(holder, key, value);
- }
-
-// What happens next depends on the value's type.
-
- switch (typeof value) {
- case 'string':
- return quote(value);
-
- case 'number':
-
-// JSON numbers must be finite. Encode non-finite numbers as null.
-
- return isFinite(value) ? String(value) : 'null';
-
- case 'boolean':
- case 'null':
-
-// If the value is a boolean or null, convert it to a string. Note:
-// typeof null does not produce 'null'. The case is included here in
-// the remote chance that this gets fixed someday.
-
- return String(value);
-
-// If the type is 'object', we might be dealing with an object or an array or
-// null.
-
- case 'object':
-
-// Due to a specification blunder in ECMAScript, typeof null is 'object',
-// so watch out for that case.
-
- if (!value) {
- return 'null';
- }
-
-// Make an array to hold the partial results of stringifying this object value.
-
- gap += indent;
- partial = [];
-
-// Is the value an array?
-
- if (Object.prototype.toString.apply(value) === '[object Array]') {
-
-// The value is an array. Stringify every element. Use null as a placeholder
-// for non-JSON values.
-
- length = value.length;
- for (i = 0; i < length; i += 1) {
- partial[i] = str(i, value) || 'null';
- }
-
-// Join all of the elements together, separated with commas, and wrap them in
-// brackets.
-
- v = partial.length === 0 ? '[]' :
- gap ? '[\n' + gap +
- partial.join(',\n' + gap) + '\n' +
- mind + ']' :
- '[' + partial.join(',') + ']';
- gap = mind;
- return v;
- }
-
-// If the replacer is an array, use it to select the members to be stringified.
-
- if (rep && typeof rep === 'object') {
- length = rep.length;
- for (i = 0; i < length; i += 1) {
- k = rep[i];
- if (typeof k === 'string') {
- v = str(k, value);
- if (v) {
- partial.push(quote(k) + (gap ? ': ' : ':') + v);
- }
- }
- }
- } else {
-
-// Otherwise, iterate through all of the keys in the object.
-
- for (k in value) {
- if (Object.hasOwnProperty.call(value, k)) {
- v = str(k, value);
- if (v) {
- partial.push(quote(k) + (gap ? ': ' : ':') + v);
- }
- }
- }
- }
-
-// Join all of the member texts together, separated with commas,
-// and wrap them in braces.
-
- v = partial.length === 0 ? '{}' :
- gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
- mind + '}' : '{' + partial.join(',') + '}';
- gap = mind;
- return v;
- }
- }
-
-// If the JSON object does not yet have a stringify method, give it one.
-
- if (typeof JSON.stringify !== 'function') {
- JSON.stringify = function (value, replacer, space) {
-
-// The stringify method takes a value and an optional replacer, and an optional
-// space parameter, and returns a JSON text. The replacer can be a function
-// that can replace values, or an array of strings that will select the keys.
-// A default replacer method can be provided. Use of the space parameter can
-// produce text that is more easily readable.
-
- var i;
- gap = '';
- indent = '';
-
-// If the space parameter is a number, make an indent string containing that
-// many spaces.
-
- if (typeof space === 'number') {
- for (i = 0; i < space; i += 1) {
- indent += ' ';
- }
-
-// If the space parameter is a string, it will be used as the indent string.
-
- } else if (typeof space === 'string') {
- indent = space;
- }
-
-// If there is a replacer, it must be a function or an array.
-// Otherwise, throw an error.
-
- rep = replacer;
- if (replacer && typeof replacer !== 'function' &&
- (typeof replacer !== 'object' ||
- typeof replacer.length !== 'number')) {
- throw new Error('JSON.stringify');
- }
-
-// Make a fake root object containing our value under the key of ''.
-// Return the result of stringifying the value.
-
- return str('', {'': value});
- };
- }
-
-
-// If the JSON object does not yet have a parse method, give it one.
-
- if (typeof JSON.parse !== 'function') {
- JSON.parse = function (text, reviver) {
-
-// The parse method takes a text and an optional reviver function, and returns
-// a JavaScript value if the text is a valid JSON text.
-
- var j;
-
- function walk(holder, key) {
-
-// The walk method is used to recursively walk the resulting structure so
-// that modifications can be made.
-
- var k, v, value = holder[key];
- if (value && typeof value === 'object') {
- for (k in value) {
- if (Object.hasOwnProperty.call(value, k)) {
- v = walk(value, k);
- if (v !== undefined) {
- value[k] = v;
- } else {
- delete value[k];
- }
- }
- }
- }
- return reviver.call(holder, key, value);
- }
-
-
-// Parsing happens in four stages. In the first stage, we replace certain
-// Unicode characters with escape sequences. JavaScript handles many characters
-// incorrectly, either silently deleting them, or treating them as line endings.
-
- text = String(text);
- cx.lastIndex = 0;
- if (cx.test(text)) {
- text = text.replace(cx, function (a) {
- return '\\u' +
- ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
- });
- }
-
-// In the second stage, we run the text against regular expressions that look
-// for non-JSON patterns. We are especially concerned with '()' and 'new'
-// because they can cause invocation, and '=' because it can cause mutation.
-// But just to be safe, we want to reject all unexpected forms.
-
-// We split the second stage into 4 regexp operations in order to work around
-// crippling inefficiencies in IE's and Safari's regexp engines. First we
-// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
-// replace all simple value tokens with ']' characters. Third, we delete all
-// open brackets that follow a colon or comma or that begin the text. Finally,
-// we look to see that the remaining characters are only whitespace or ']' or
-// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
-
- if (/^[\],:{}\s]*$/.
-test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
-replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
-replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
-
-// In the third stage we use the eval function to compile the text into a
-// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
-// in JavaScript: it can begin a block or an object literal. We wrap the text
-// in parens to eliminate the ambiguity.
-
- j = eval('(' + text + ')');
-
-// In the optional fourth stage, we recursively walk the new structure, passing
-// each name/value pair to a reviver function for possible transformation.
-
- return typeof reviver === 'function' ?
- walk({'': j}, '') : j;
- }
-
-// If the text is not JSON parseable, then a SyntaxError is thrown.
-
- throw new SyntaxError('JSON.parse');
- };
- }
-}());
View
46 public/javascripts/socket.io/lib/util/object.js
@@ -1,46 +0,0 @@
-// Based on Core.js from MooTools (MIT)
-// Copyright (c) 2006-2009 Valerio Proietti, <http://mad4milk.net/>
-
-(function(){
-
- var object = io.util.Object = {
-
- clone: function(item){
- var clone;
- if (item instanceof Array){
- clone = [];
- for (var i = 0; i < item.length; i++) clone[i] = object.clone(item[i]);
- return clone;
- } else if (typeof item == 'object') {
- clone = {};
- for (var key in object) clone[key] = object.clone(object[key]);
- return clone;
- } else {
- return item;
- }
- },
-
- merge: function(source, k, v){
- if (typeof k == 'string') return mergeOne(source, k, v);
- for (var i = 1, l = arguments.length; i < l; i++){
- var object = arguments[i];
- for (var key in object) mergeOne(source, key, object[key]);
- }