diff --git a/node_modules/coalesce/coalesce.js b/node_modules/coalesce/coalesce.js
index db5df7cd..bdf9421e 100644
--- a/node_modules/coalesce/coalesce.js
+++ b/node_modules/coalesce/coalesce.js
@@ -212,7 +212,7 @@ module.exports=require('theory')((function(){
,match: '*'
,flow: 0
,on: state.err
- })
+ });
state.req = (function(req,res){
req.url = state.url(req);
req.file = state.file(req);
@@ -578,7 +578,7 @@ module.exports=require('theory')((function(){
if(a(run.on,way+'.meta.state')){ return fn(true) } // change API
return fn(false);
}
- console.log("RUN :-->"+" testing "+opt.file)
+ console.log("RUN :-->"+" testing "+opt.file);
var ts = a.time.is()
, p = fork(opt.file,[],{env:process.env})
, gear = run.on[way] || (run.on[way]={meta:{},cogs:{}})
@@ -596,7 +596,7 @@ module.exports=require('theory')((function(){
}
web.state.ways.push(a(m,'mod.state'));
web.state.ways.sort(web.state.sort);
- opt.invincible = gear.meta.invincible
+ opt.invincible = gear.meta.invincible;
run.track(opt,opt.reply);
fn(p.pid||true); fn = function(){};
return;
diff --git a/node_modules/coalesce/node_modules/formidable/package.json b/node_modules/coalesce/node_modules/formidable/package.json
index 177f84f0..0d15f403 100644
--- a/node_modules/coalesce/node_modules/formidable/package.json
+++ b/node_modules/coalesce/node_modules/formidable/package.json
@@ -24,5 +24,9 @@
"readmeFilename": "Readme.md",
"description": "[](http://travis-ci.org/felixge/node-formidable)",
"_id": "formidable@1.0.11",
- "_from": "formidable@1.0.11"
+ "dist": {
+ "shasum": "2c56edbf30989db453ab311ac38b373ca8949b60"
+ },
+ "_from": "formidable@1.0.11",
+ "_resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz"
}
diff --git a/node_modules/coalesce/node_modules/node-static/node_modules/colors/package.json b/node_modules/coalesce/node_modules/node-static/node_modules/colors/package.json
index 1ccd4c41..5d5f4d5d 100644
--- a/node_modules/coalesce/node_modules/node-static/node_modules/colors/package.json
+++ b/node_modules/coalesce/node_modules/node-static/node_modules/colors/package.json
@@ -25,5 +25,9 @@
"readme": "# colors.js - get color and style in your node.js console ( and browser ) like what\n\n\n\n\n## Installation\n\n npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require('./colors');\n\nconsole.log('hello'.green); // outputs green text\nconsole.log('i like cake and pies'.underline.red) // outputs red underlined text\nconsole.log('inverse the color'.inverse); // inverses the color\nconsole.log('OMG Rainbows!'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar colors = require('colors');\n\ncolors.setTheme({\n silly: 'rainbow',\n input: 'grey',\n verbose: 'cyan',\n prompt: 'grey',\n info: 'green',\n data: 'grey',\n help: 'cyan',\n warn: 'yellow',\n debug: 'blue',\n error: 'red'\n});\n\n// outputs red text\nconsole.log(\"this is an error\".error);\n\n// outputs yellow text\nconsole.log(\"this is a warning\".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej MaĆecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n",
"readmeFilename": "ReadMe.md",
"_id": "colors@0.6.2",
- "_from": "colors@>=0.6.0"
+ "dist": {
+ "shasum": "feb92acb58bc6d82083ec15e6c8718877e2dd746"
+ },
+ "_from": "colors@>=0.6.0",
+ "_resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz"
}
diff --git a/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/minimist/package.json b/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/minimist/package.json
index de49bb51..a7876d8f 100644
--- a/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/minimist/package.json
+++ b/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/minimist/package.json
@@ -46,5 +46,9 @@
"url": "https://github.com/substack/minimist/issues"
},
"_id": "minimist@0.0.8",
- "_from": "minimist@~0.0.1"
+ "dist": {
+ "shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d"
+ },
+ "_from": "minimist@~0.0.1",
+ "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
}
diff --git a/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/wordwrap/package.json b/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/wordwrap/package.json
index df8dc051..9ba95a3a 100644
--- a/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/wordwrap/package.json
+++ b/node_modules/coalesce/node_modules/node-static/node_modules/optimist/node_modules/wordwrap/package.json
@@ -41,5 +41,9 @@
},
"homepage": "https://github.com/substack/node-wordwrap",
"_id": "wordwrap@0.0.2",
- "_from": "wordwrap@~0.0.2"
+ "dist": {
+ "shasum": "624b9d3e54ad494743ebeb222c78828a452556bf"
+ },
+ "_from": "wordwrap@~0.0.2",
+ "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
}
diff --git a/node_modules/coalesce/node_modules/node-static/node_modules/optimist/package.json b/node_modules/coalesce/node_modules/node-static/node_modules/optimist/package.json
index 84d984d3..82dd72ba 100644
--- a/node_modules/coalesce/node_modules/node-static/node_modules/optimist/package.json
+++ b/node_modules/coalesce/node_modules/node-static/node_modules/optimist/package.json
@@ -43,5 +43,9 @@
},
"homepage": "https://github.com/substack/node-optimist",
"_id": "optimist@0.6.1",
- "_from": "optimist@>=0.3.4"
+ "dist": {
+ "shasum": "da3ea74686fa21a19a111c326e90eb15a0196686"
+ },
+ "_from": "optimist@>=0.3.4",
+ "_resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"
}
diff --git a/node_modules/coalesce/node_modules/node-static/package.json b/node_modules/coalesce/node_modules/node-static/package.json
index 8249ce2a..830a89d9 100644
--- a/node_modules/coalesce/node_modules/node-static/package.json
+++ b/node_modules/coalesce/node_modules/node-static/package.json
@@ -50,5 +50,9 @@
},
"homepage": "https://github.com/cloudhead/node-static",
"_id": "node-static@0.7.1",
- "_from": "node-static@0.7.1"
+ "dist": {
+ "shasum": "abda969541fc828572002a308831d0e7c64489c6"
+ },
+ "_from": "node-static@0.7.1",
+ "_resolved": "https://registry.npmjs.org/node-static/-/node-static-0.7.1.tgz"
}
diff --git a/node_modules/coalesce/node_modules/sockjs-client/node_modules/node-uuid/package.json b/node_modules/coalesce/node_modules/sockjs-client/node_modules/node-uuid/package.json
index c6d3d81f..23949263 100644
--- a/node_modules/coalesce/node_modules/sockjs-client/node_modules/node-uuid/package.json
+++ b/node_modules/coalesce/node_modules/sockjs-client/node_modules/node-uuid/package.json
@@ -31,5 +31,9 @@
},
"homepage": "https://github.com/broofa/node-uuid",
"_id": "node-uuid@1.3.3",
- "_from": "node-uuid@1.3.3"
+ "dist": {
+ "shasum": "d7a9a5131a4851c74f0836c74a37c1e1341a9fa7"
+ },
+ "_from": "node-uuid@1.3.3",
+ "_resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz"
}
diff --git a/node_modules/coalesce/node_modules/sockjs-client/package.json b/node_modules/coalesce/node_modules/sockjs-client/package.json
index bf193142..bc70fac2 100644
--- a/node_modules/coalesce/node_modules/sockjs-client/package.json
+++ b/node_modules/coalesce/node_modules/sockjs-client/package.json
@@ -24,5 +24,9 @@
},
"homepage": "https://github.com/sockjs/sockjs-client-node",
"_id": "sockjs-client@0.1.3",
- "_from": "sockjs-client@~>0.1.3"
+ "dist": {
+ "shasum": "aaaf2f27bf4bf6f101e69f71008c8dbe6e810a81"
+ },
+ "_from": "sockjs-client@~>0.1.3",
+ "_resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-0.1.3.tgz"
}
diff --git a/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/node_modules/websocket-driver/package.json b/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/node_modules/websocket-driver/package.json
index 37f7c8ed..6bfbb150 100644
--- a/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/node_modules/websocket-driver/package.json
+++ b/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/node_modules/websocket-driver/package.json
@@ -32,5 +32,9 @@
"readme": "# websocket-driver [](https://travis-ci.org/faye/websocket-driver-node)\n\nThis module provides a complete implementation of the WebSocket protocols that\ncan be hooked up to any I/O stream. It aims to simplify things by decoupling\nthe protocol details from the I/O layer, such that users only need to implement\ncode to stream data in and out of it without needing to know anything about how\nthe protocol actually works. Think of it as a complete WebSocket system with\npluggable I/O.\n\nDue to this design, you get a lot of things for free. In particular, if you\nhook this module up to some I/O object, it will do all of this for you:\n\n* Select the correct server-side driver to talk to the client\n* Generate and send both server- and client-side handshakes\n* Recognize when the handshake phase completes and the WS protocol begins\n* Negotiate subprotocol selection based on `Sec-WebSocket-Protocol`\n* Buffer sent messages until the handshake process is finished\n* Deal with proxies that defer delivery of the draft-76 handshake body\n* Notify you when the socket is open and closed and when messages arrive\n* Recombine fragmented messages\n* Dispatch text, binary, ping and close frames\n* Manage the socket-closing handshake process\n* Automatically reply to ping frames with a matching pong\n* Apply masking to messages sent by the client\n\nThis library was originally extracted from the [Faye](http://faye.jcoglan.com)\nproject but now aims to provide simple WebSocket support for any Node-based\nproject.\n\n\n## Installation\n\n```\n$ npm install websocket-driver\n```\n\n\n## Usage\n\nThis module provides protocol drivers that have the same interface on the\nserver and on the client. A WebSocket driver is an object with two duplex\nstreams attached; one for incoming/outgoing messages and one for managing the\nwire protocol over an I/O stream. The full API is described below.\n\n\n### Server-side with HTTP\n\nA Node webserver emits a special event for 'upgrade' requests, and this is\nwhere you should handle WebSockets. You first check whether the request is a\nWebSocket, and if so you can create a driver and attach the request's I/O\nstream to it.\n\n```js\nvar http = require('http'),\n websocket = require('websocket-driver');\n\nvar server = http.createServer();\n\nserver.on('upgrade', function(request, socket, body) {\n if (!websocket.isWebSocket(request)) return;\n\n var driver = websocket.http(request);\n\n driver.io.write(body);\n socket.pipe(driver.io).pipe(socket);\n\n driver.messages.on('data', function(message) {\n console.log('Got a message', message);\n });\n\n driver.start();\n});\n```\n\nNote the line `driver.io.write(body)` - you must pass the `body` buffer to the\nsocket driver in order to make certain versions of the protocol work.\n\n\n### Server-side with TCP\n\nYou can also handle WebSocket connections in a bare TCP server, if you're not\nusing an HTTP server and don't want to implement HTTP parsing yourself.\n\nThe driver will emit a `connect` event when a request is received, and at this\npoint you can detect whether it's a WebSocket and handle it as such. Here's an\nexample using the Node `net` module:\n\n```js\nvar net = require('net'),\n websocket = require('websocket-driver');\n\nvar server = net.createServer(function(connection) {\n var driver = websocket.server();\n\n driver.on('connect', function() {\n if (websocket.isWebSocket(driver)) {\n driver.start();\n } else {\n // handle other HTTP requests\n }\n });\n\n driver.on('close', function() { connection.end() });\n connection.on('error', function() {});\n\n connection.pipe(driver.io).pipe(connection);\n\n driver.messages.pipe(driver.messages);\n});\n\nserver.listen(4180);\n```\n\nIn the `connect` event, the driver gains several properties to describe the\nrequest, similar to a Node request object, such as `method`, `url` and\n`headers`. However you should remember it's not a real request object; you\ncannot write data to it, it only tells you what request data we parsed from the\ninput.\n\nIf the request has a body, it will be in the `driver.body` buffer, but only as\nmuch of the body as has been piped into the driver when the `connect` event\nfires.\n\n\n### Client-side\n\nSimilarly, to implement a WebSocket client you just need to make a driver by\npassing in a URL. After this you use the driver API as described below to\nprocess incoming data and send outgoing data.\n\n\n```js\nvar net = require('net'),\n websocket = require('websocket-driver');\n\nvar driver = websocket.client('ws://www.example.com/socket'),\n tcp = net.createConnection(80, 'www.example.com');\n\ntcp.pipe(driver.io).pipe(tcp);\n\ndriver.messages.on('data', function(message) {\n console.log('Got a message', message);\n});\n\ntcp.on('connect', function() {\n driver.start();\n});\n```\n\nClient drivers have two additional properties for reading the HTTP data that\nwas sent back by the server:\n\n* `driver.statusCode` - the integer value of the HTTP status code\n* `driver.headers` - an object containing the response headers\n\n\n### Driver API\n\nDrivers are created using one of the following methods:\n\n```js\ndriver = websocket.http(request, options)\ndriver = websocket.server(options)\ndriver = websocket.client(url, options)\n```\n\nThe `http` method returns a driver chosen using the headers from a Node HTTP\nrequest object. The `server` method returns a driver that will parse an HTTP\nrequest and then decide which driver to use for it using the `http` method. The\n`client` method always returns a driver for the RFC version of the protocol\nwith masking enabled on outgoing frames.\n\nThe `options` argument is optional, and is an object. It may contain the\nfollowing fields:\n\n* `maxLength` - the maximum allowed size of incoming message frames, in bytes.\n The default value is `2^26 - 1`, or 1 byte short of 64 MiB.\n* `protocols` - an array of strings representing acceptable subprotocols for\n use over the socket. The driver will negotiate one of these to use via the\n `Sec-WebSocket-Protocol` header if supported by the other peer.\n\nA driver has two duplex streams attached to it:\n\n* `driver.io` - this stream should be attached to an I/O socket like a\n TCP stream. Pipe incoming TCP chunks to this stream for them to be parsed,\n and pipe this stream back into TCP to send outgoing frames.\n* `driver.messages` - this stream emits messages received over the\n WebSocket. Writing to it sends messages to the other peer by emitting frames\n via the `driver.io` stream.\n\nAll drivers respond to the following API methods, but some of them are no-ops\ndepending on whether the client supports the behaviour.\n\nNote that most of these methods are commands: if they produce data that should\nbe sent over the socket, they will give this to you by emitting `data` events\non the `driver.io` stream.\n\n#### `driver.on('open', function(event) {})`\n\nSets the callback to execute when the socket becomes open.\n\n#### `driver.on('message', function(event) {})`\n\nSets the callback to execute when a message is received. `event` will have a\n`data` attribute containing either a string in the case of a text message or a\n`Buffer` in the case of a binary message.\n\nYou can also listen for messages using the `driver.messages.on('data')` event,\nwhich emits strings for text messages and buffers for binary messages.\n\n#### `driver.on('error', function(event) {})`\n\nSets the callback to execute when a protocol error occurs due to the other peer\nsending an invalid byte sequence. `event` will have a `message` attribute\ndescribing the error.\n\n#### `driver.on('close', function(event) {})`\n\nSets the callback to execute when the socket becomes closed. The `event` object\nhas `code` and `reason` attributes.\n\n#### `driver.setHeader(name, value)`\n\nSets a custom header to be sent as part of the handshake response, either from\nthe server or from the client. Must be called before `start()`, since this is\nwhen the headers are serialized and sent.\n\n#### `driver.start()`\n\nInitiates the protocol by sending the handshake - either the response for a\nserver-side driver or the request for a client-side one. This should be the\nfirst method you invoke. Returns `true` iff a handshake was sent.\n\n#### `driver.parse(string)`\n\nTakes a string and parses it, potentially resulting in message events being\nemitted (see `on('message')` above) or in data being sent to `driver.io`. You\nshould send all data you receive via I/O to this method by piping a stream into\n`driver.io`.\n\n#### `driver.text(string)`\n\nSends a text message over the socket. If the socket handshake is not yet\ncomplete, the message will be queued until it is. Returns `true` if the message\nwas sent or queued, and `false` if the socket can no longer send messages.\n\nThis method is equivalent to `driver.messages.write(string)`.\n\n#### `driver.binary(buffer)`\n\nTakes a `Buffer` and sends it as a binary message. Will queue and return `true`\nor `false` the same way as the `text` method. It will also return `false` if\nthe driver does not support binary messages.\n\nThis method is equivalent to `driver.messages.write(buffer)`.\n\n#### `driver.ping(string = '', function() {})`\n\nSends a ping frame over the socket, queueing it if necessary. `string` and the\ncallback are both optional. If a callback is given, it will be invoked when the\nsocket receives a pong frame whose content matches `string`. Returns `false` if\nframes can no longer be sent, or if the driver does not support ping/pong.\n\n#### `driver.close()`\n\nInitiates the closing handshake if the socket is still open. For drivers with\nno closing handshake, this will result in the immediate execution of the\n`on('close')` driver. For drivers with a closing handshake, this sends a\nclosing frame and `emit('close')` will execute when a response is received or a\nprotocol error occurs.\n\n#### `driver.version`\n\nReturns the WebSocket version in use as a string. Will either be `hixie-75`,\n`hixie-76` or `hybi-$version`.\n\n#### `driver.protocol`\n\nReturns a string containing the selected subprotocol, if any was agreed upon\nusing the `Sec-WebSocket-Protocol` mechanism. This value becomes available\nafter `emit('open')` has fired.\n\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2010-2013 James Coglan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the 'Software'), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n",
"readmeFilename": "README.md",
"_id": "websocket-driver@0.3.2",
- "_from": "websocket-driver@>=0.3.0"
+ "dist": {
+ "shasum": "f177ef6611390e2401ae47f35e8386dda987daca"
+ },
+ "_from": "websocket-driver@>=0.3.0",
+ "_resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.2.tgz"
}
diff --git a/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/package.json b/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/package.json
index e97437a5..8ac64232 100644
--- a/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/package.json
+++ b/node_modules/coalesce/node_modules/sockjs/node_modules/faye-websocket/package.json
@@ -37,5 +37,9 @@
"readme": "# faye-websocket\n\n* Travis CI build: [](http://travis-ci.org/faye/faye-websocket-node)\n* Autobahn tests: [server](http://faye.jcoglan.com/autobahn/servers/),\n [client](http://faye.jcoglan.com/autobahn/clients/)\n\nThis is a general-purpose WebSocket implementation extracted from the\n[Faye](http://faye.jcoglan.com) project. It provides classes for easily\nbuilding WebSocket servers and clients in Node. It does not provide a server\nitself, but rather makes it easy to handle WebSocket connections within an\nexisting [Node](http://nodejs.org/) application. It does not provide any\nabstraction other than the standard [WebSocket\nAPI](http://dev.w3.org/html5/websockets/).\n\nIt also provides an abstraction for handling\n[EventSource](http://dev.w3.org/html5/eventsource/) connections, which are\none-way connections that allow the server to push data to the client. They are\nbased on streaming HTTP responses and can be easier to access via proxies than\nWebSockets.\n\n\n## Installation\n\n```\n$ npm install faye-websocket\n```\n\n\n## Handling WebSocket connections in Node\n\nYou can handle WebSockets on the server side by listening for HTTP Upgrade\nrequests, and creating a new socket for the request. This socket object exposes\nthe usual WebSocket methods for receiving and sending messages. For example this\nis how you'd implement an echo server:\n\n```js\nvar WebSocket = require('faye-websocket'),\n http = require('http');\n\nvar server = http.createServer();\n\nserver.on('upgrade', function(request, socket, body) {\n if (WebSocket.isWebSocket(request)) {\n var ws = new WebSocket(request, socket, body);\n \n ws.on('message', function(event) {\n ws.send(event.data);\n });\n \n ws.on('close', function(event) {\n console.log('close', event.code, event.reason);\n ws = null;\n });\n }\n});\n\nserver.listen(8000);\n```\n\n`WebSocket` objects are also duplex streams, so you could replace the\n`ws.on('message', ...)` line with:\n\n```js\n ws.pipe(ws);\n```\n\nNote that under certain circumstances (notably a draft-76 client connecting\nthrough an HTTP proxy), the WebSocket handshake will not be complete after you\ncall `new WebSocket()` because the server will not have received the entire\nhandshake from the client yet. In this case, calls to `ws.send()` will buffer\nthe message in memory until the handshake is complete, at which point any\nbuffered messages will be sent to the client.\n\nIf you need to detect when the WebSocket handshake is complete, you can use the\n`onopen` event.\n\nIf the connection's protocol version supports it, you can call `ws.ping()` to\nsend a ping message and wait for the client's response. This method takes a\nmessage string, and an optional callback that fires when a matching pong\nmessage is received. It returns `true` iff a ping message was sent. If the\nclient does not support ping/pong, this method sends no data and returns\n`false`.\n\n```js\nws.ping('Mic check, one, two', function() {\n // fires when pong is received\n});\n```\n\n\n## Using the WebSocket client\n\nThe client supports both the plain-text `ws` protocol and the encrypted `wss`\nprotocol, and has exactly the same interface as a socket you would use in a web\nbrowser. On the wire it identifies itself as `hybi-13`.\n\n```js\nvar WebSocket = require('faye-websocket'),\n ws = new WebSocket.Client('ws://www.example.com/');\n\nws.on('open', function(event) {\n console.log('open');\n ws.send('Hello, world!');\n});\n\nws.on('message', function(event) {\n console.log('message', event.data);\n});\n\nws.on('close', function(event) {\n console.log('close', event.code, event.reason);\n ws = null;\n});\n```\n\nThe WebSocket client also lets you inspect the status and headers of the\nhandshake response via its `statusCode` and `headers` properties.\n\n\n## Subprotocol negotiation\n\nThe WebSocket protocol allows peers to select and identify the application\nprotocol to use over the connection. On the client side, you can set which\nprotocols the client accepts by passing a list of protocol names when you\nconstruct the socket:\n\n```js\nvar ws = new WebSocket.Client('ws://www.example.com/', ['irc', 'amqp']);\n```\n\nOn the server side, you can likewise pass in the list of protocols the server\nsupports after the other constructor arguments:\n\n```js\nvar ws = new WebSocket(request, socket, body, ['irc', 'amqp']);\n```\n\nIf the client and server agree on a protocol, both the client- and server-side\nsocket objects expose the selected protocol through the `ws.protocol` property.\n\n\n## Initialization options\n\nBoth the server- and client-side classes allow an options object to be passed\nin at initialization time, for example:\n\n```js\nvar ws = new WebSocket(request, socket, body, protocols, options);\nvar ws = new WebSocket.Client(url, protocols, options);\n```\n\n`protocols` is an array of subprotocols as described above, or `null`.\n`options` is an optional object containing any of these fields:\n\n* `headers` - an object containing key-value pairs representing HTTP headers to\n be sent during the handshake process\n* `ping` - an integer that sets how often the WebSocket should send ping\n frames, measured in seconds\n\n\n## WebSocket API\n\nBoth server- and client-side `WebSocket` objects support the following API.\n\n* `on('open', function(event) {})` fires when the socket connection is\n established. Event has no attributes.\n* `on('message', function(event) {})` fires when the socket receives a\n message. Event has one attribute, `data`, which is either a `String`\n (for text frames) or a `Buffer` (for binary frames).\n* `on('error', function(event) {})` fires when there is a protocol error\n due to bad data sent by the other peer. This event is purely informational,\n you do not need to implement error recover.\n* `on('close', function(event) {})` fires when either the client or the\n server closes the connection. Event has two optional attributes,\n `code` and `reason`, that expose the status code and message\n sent by the peer that closed the connection.\n* `send(message)` accepts either a `String` or a `Buffer` and sends a\n text or binary message over the connection to the other peer.\n* `ping(message = '', function() {})` sends a ping frame with an\n optional message and fires the callback when a matching pong is received.\n* `close(code, reason)` closes the connection, sending the given status\n code and reason text, both of which are optional.\n* `version` is a string containing the version of the `WebSocket`\n protocol the connection is using.\n* `protocol` is a string (which may be empty) identifying the\n subprotocol the socket is using.\n\n\n## Handling EventSource connections in Node\n\nEventSource connections provide a very similar interface, although because they\nonly allow the server to send data to the client, there is no `onmessage` API.\nEventSource allows the server to push text messages to the client, where each\nmessage has an optional event-type and ID.\n\n```js\nvar WebSocket = require('faye-websocket'),\n EventSource = WebSocket.EventSource,\n http = require('http');\n\nvar server = http.createServer();\n\nserver.on('request', function(request, response) {\n if (EventSource.isEventSource(request)) {\n var es = new EventSource(request, response);\n console.log('open', es.url, es.lastEventId);\n \n // Periodically send messages\n var loop = setInterval(function() { es.send('Hello') }, 1000);\n \n es.on('close', function() {\n clearInterval(loop);\n es = null;\n });\n \n } else {\n // Normal HTTP request\n response.writeHead(200, {'Content-Type': 'text/plain'});\n response.end('Hello');\n }\n});\n\nserver.listen(8000);\n```\n\nThe `send` method takes two optional parameters, `event` and `id`. The default\nevent-type is `'message'` with no ID. For example, to send a `notification`\nevent with ID `99`:\n\n```js\nes.send('Breaking News!', {event: 'notification', id: '99'});\n```\n\nThe `EventSource` object exposes the following properties:\n\n* `url` is a string containing the URL the client used to create the\n EventSource.\n* `lastEventId` is a string containing the last event ID received by the\n client. You can use this when the client reconnects after a dropped\n connection to determine which messages need resending.\n\nWhen you initialize an EventSource with ` new EventSource()`, you can pass\nconfiguration options after the `response` parameter. Available options are:\n\n* `headers` is an object containing custom headers to be set on the\n EventSource response.\n* `retry` is a number that tells the client how long (in seconds) it\n should wait after a dropped connection before attempting to reconnect.\n* `ping` is a number that tells the server how often (in seconds) to\n send 'ping' packets to the client to keep the connection open, to defeat\n timeouts set by proxies. The client will ignore these messages.\n\nFor example, this creates a connection that allows access from any origin, pings\nevery 15 seconds and is retryable every 10 seconds if the connection is broken:\n\n```js\nvar es = new EventSource(request, response, {\n headers: {'Access-Control-Allow-Origin': '*'},\n ping: 15,\n retry: 10\n});\n```\n\nYou can send a ping message at any time by calling `es.ping()`. Unlike\nWebSocket, the client does not send a response to this; it is merely to send\nsome data over the wire to keep the connection alive.\n\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2010-2013 James Coglan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the 'Software'), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n",
"readmeFilename": "README.md",
"_id": "faye-websocket@0.7.0",
- "_from": "faye-websocket@0.7.0"
+ "dist": {
+ "shasum": "c16c50ec0d483357a8eafd1ec6fcc313d027f5be"
+ },
+ "_from": "faye-websocket@0.7.0",
+ "_resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz"
}
diff --git a/node_modules/coalesce/node_modules/sockjs/node_modules/node-uuid/package.json b/node_modules/coalesce/node_modules/sockjs/node_modules/node-uuid/package.json
index c6d3d81f..bf72ee7c 100644
--- a/node_modules/coalesce/node_modules/sockjs/node_modules/node-uuid/package.json
+++ b/node_modules/coalesce/node_modules/sockjs/node_modules/node-uuid/package.json
@@ -31,5 +31,10 @@
},
"homepage": "https://github.com/broofa/node-uuid",
"_id": "node-uuid@1.3.3",
- "_from": "node-uuid@1.3.3"
+ "dist": {
+ "shasum": "d7a9a5131a4851c74f0836c74a37c1e1341a9fa7"
+ },
+ "_from": "node-uuid@1.3.3",
+ "_resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz",
+ "scripts": {}
}
diff --git a/node_modules/coalesce/node_modules/sockjs/package.json b/node_modules/coalesce/node_modules/sockjs/package.json
index 1d16d9b8..edf63b23 100644
--- a/node_modules/coalesce/node_modules/sockjs/package.json
+++ b/node_modules/coalesce/node_modules/sockjs/package.json
@@ -28,5 +28,9 @@
"url": "https://github.com/sockjs/sockjs-node/issues"
},
"_id": "sockjs@0.3.8",
- "_from": "sockjs@~>0.3.1"
+ "dist": {
+ "shasum": "b512849ed629f7ec2372ded3061bb05735ee45e9"
+ },
+ "_from": "sockjs@~>0.3.1",
+ "_resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.8.tgz"
}
diff --git a/node_modules/coalesce/package.json b/node_modules/coalesce/package.json
index be628f8e..d64e5153 100644
--- a/node_modules/coalesce/package.json
+++ b/node_modules/coalesce/package.json
@@ -1,6 +1,6 @@
{
"name": "coalesce",
- "version": "0.1.9-bu",
+ "version": "0.1.9-bv",
"author": {
"name": "Mark Nadal"
},
@@ -20,6 +20,10 @@
"main": "coalesce",
"readme": "Coalesce\r\n========\r\n\r\n_Fuses your code into an emergent superstructure._\r\n\r\n[](http://vimeo.com/85853754)\r\n\r\nAs simple as:\r\n```\r\nnpm install coalesce && node -e \"require('coalesce')({port:8888, sec: -2})\"\r\n```\r\n\r\nThat is it, now you can create infinite new projects, like this one:\r\n\r\n**hello.html**\r\n```\r\n\r\n\r\n\t