diff --git a/demo.js b/demo.js
index 81a1fd0..9382385 100644
--- a/demo.js
+++ b/demo.js
@@ -1,2 +1,6 @@
-var jsEdit = require('./')({ container: document.querySelector('#editor') })
-jsEdit.setValue(document.querySelector('#program').text)
+var jsEdit = require('./')({
+ container: document.querySelector('#editor'),
+ injectStyles: true,
+})
+
+jsEdit.setValue(document.querySelector('#program').text)
\ No newline at end of file
diff --git a/index.html b/index.html
index 6add227..46ee928 100644
--- a/index.html
+++ b/index.html
@@ -2,9 +2,6 @@
javascript-editor
-
-
-
diff --git a/index.js b/index.js
index 87a8bf1..a3bac14 100644
--- a/index.js
+++ b/index.js
@@ -1,3 +1,4 @@
+var path = require('path')
var events = require('events')
var inherits = require('inherits')
var extend = require('extend')
@@ -20,6 +21,7 @@ function Editor(opts) {
var defaults = {
value: "// hello world\n",
mode: "javascript",
+ theme: 'mistakes',
lineNumbers: true,
autofocus: (window === window.top),
matchBrackets: true,
@@ -28,11 +30,12 @@ function Editor(opts) {
tabSize: 2,
indentUnit: 2,
updateInterval: 500,
- dragAndDrop: true
+ dragAndDrop: true,
+ injectStyles: false
}
this.opts = extend({}, defaults, opts)
this.editor = CodeMirror( this.opts.container, this.opts )
- this.editor.setOption("theme", "mistakes") // borrowed from mistakes.io
+ this.editor.setOption("theme", opts.theme)
this.editor.setCursor(this.editor.lineCount(), 0)
this.editor.on('change', function (e) {
self.emit('change')
@@ -47,16 +50,43 @@ function Editor(opts) {
tabSize: 2,
readOnly: 'nocursor'
})
- this.results.setOption("theme", 'mistakes')
+ this.results.setOption("theme", opts.theme)
}
this.update()
if (this.opts.dragAndDrop) this.addDropHandler()
+ if (this.opts.injectStyles) {
+ // required for callback
+ window.__jsEditor = this;
+ injectStyles()
+ }
}
inherits(Editor, events.EventEmitter)
+function injectStyles() {
+ ['./css/codemirror.css','./css/style.css','./css/theme.css'].forEach(function(cssFile) {
+ var pathname = path.join(__dirname,cssFile)
+ injectStyle( pathname )
+ })
+}
+
+function injectStyle( pathname ) {
+ var fileref = document.createElement("link")
+ fileref.setAttribute("rel", "stylesheet")
+ fileref.setAttribute("type", "text/css")
+ fileref.setAttribute("href", pathname)
+ fileref.setAttribute("onload", "__jsEditor.refresh()")
+ document.getElementsByTagName("head")[0].appendChild(fileref)
+}
+
+Editor.prototype.refresh = function() {
+ this.editor.refresh()
+}
+
Editor.prototype.update = function() {
- return this.validate(this.editor.getValue())
+ var hasErrors = this.validate(this.editor.getValue())
+ this.emit('valid', hasErrors)
+ return hasErrors
}
Editor.prototype.validate = function(value) {
diff --git a/package.json b/package.json
index 2ec6fda..33548cb 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "javascript-editor",
- "version": "0.1.0",
+ "version": "0.2.0",
"description": "codemirror + esprima powered html5 javascript editor component",
"repository": {
"type": "git",
@@ -10,7 +10,7 @@
"extend": "1.1.3",
"inherits": "1.0.0",
"esprima": "1.0.2",
- "codemirror": "https://github.com/tmcw/CodeMirror/archive/module-export.tar.gz"
+ "codemirror": "^5.11.0"
},
"devDependencies": {
"browserify": "2.4.3",
@@ -18,8 +18,5 @@
},
"scripts": {
"start": "./node_modules/browservefy/bin/browservefy demo.js:bundle.js 8080 --browserify=./node_modules/browserify/bin/cmd.js -- -d"
- },
- "engines": {
- "node": "0.8.x"
}
}
diff --git a/readme.md b/readme.md
index bcda76f..0104cb5 100644
--- a/readme.md
+++ b/readme.md
@@ -27,6 +27,10 @@ var editor = createEditor({ container: document.querySelector('#editor') })
editor.on('change', function() {
var value = editor.getValue()
})
+
+editor.on('valid', function(noErrors) {
+ // noErrors is a boolean
+})
```
### default options
@@ -42,10 +46,14 @@ var defaults = {
tabSize: 2,
indentUnit: 2,
updateInterval: 500,
- dragAndDrop: true
+ dragAndDrop: true,
+ injectStyles: false,
}
```
+### inject styles
+if you want to use the default styles automatically, use the option `injectStyles: true`, or manually include them yourself
+
## license
BSD
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..808d094
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,523 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+Base64@~0.1.2:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.1.4.tgz#e9f6c6bef567fd635ea4162ab14dd329e74aa6de"
+ integrity sha1-6fbGvvVn/WNepBYqsU3TKedKpt4=
+
+JSONStream@~0.4.3:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.4.4.tgz#cc2cf119286c45be150423cbc128d480e9b54ae2"
+ integrity sha1-zCzxGShsRb4VBCPLwSjUgOm1SuI=
+ dependencies:
+ jsonparse "0.0.5"
+
+astw@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/astw/-/astw-0.0.0.tgz#4490866a3ef116aaf91adba63ca7ddf70b6d59bd"
+ integrity sha1-RJCGaj7xFqr5GtumPKfd9wttWb0=
+ dependencies:
+ esprima "1.0.2"
+
+backoff@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/backoff/-/backoff-1.0.0.tgz#00982f78158ec6d03f99693ec0fb5f7b2ad1e28e"
+ integrity sha1-AJgveBWOxtA/mWk+wPtfeyrR4o4=
+
+bal-util@1.13.x:
+ version "1.13.13"
+ resolved "https://registry.yarnpkg.com/bal-util/-/bal-util-1.13.13.tgz#632c49520a367ec5aa854688e10827d9b519325f"
+ integrity sha1-YyxJUgo2fsWqhUaI4Qgn2bUZMl8=
+
+base64-js@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.2.tgz#024f0f72afa25b75f9c0ee73cd4f55ec1bed9784"
+ integrity sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=
+
+bops@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/bops/-/bops-0.0.6.tgz#082d1d55fa01e60dbdc2ebc2dba37f659554cf3a"
+ integrity sha1-CC0dVfoB5g29wuvC26N/ZZVUzzo=
+ dependencies:
+ base64-js "0.0.2"
+ to-utf8 "0.0.1"
+
+browser-pack@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-0.3.0.tgz#129530378559fb7fe90d268688cf73b885725796"
+ integrity sha1-EpUwN4VZ+3/pDSaGiM9zuIVyV5Y=
+ dependencies:
+ JSONStream "~0.4.3"
+ duplexer "~0.0.3"
+ through "~2.2.0"
+ uglify-js "1.3.4"
+
+browser-resolve@~0.0.2, browser-resolve@~0.0.3:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-0.0.5.tgz#8f06cab80054abe5da17704afc89f1d516fafd59"
+ integrity sha1-jwbKuABUq+XaF3BK/Inx1Rb6/Vk=
+ dependencies:
+ buffer-browserify "0.0.4"
+ console-browserify "0.1.6"
+ crypto-browserify "0.2.1"
+ http-browserify "0.1.6"
+ resolve "0.3.0"
+ vm-browserify "0.0.1"
+ zlib-browserify "0.0.1"
+
+browserify-server@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/browserify-server/-/browserify-server-2.0.4.tgz#b64a5f4eab90bf76418f9492664db41f9c4f7a86"
+ integrity sha1-tkpfTquQv3ZBj5SSZk20H5xPeoY=
+ dependencies:
+ browserify "~1.16.1"
+ ecstatic "~0.1.6"
+ filed "0.0.7"
+ optimist "~0.3.4"
+
+browserify@2.4.3:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/browserify/-/browserify-2.4.3.tgz#0fb55a323921644d7d8b4a999ab71cba112000a0"
+ integrity sha1-D7VaMjkhZE19i0qZmrccuhEgAKA=
+ dependencies:
+ JSONStream "~0.4.3"
+ browser-pack "~0.3.0"
+ browser-resolve "~0.0.3"
+ duplexer "~0.0.2"
+ inherits "~1.0.0"
+ insert-module-globals "~0.1.0"
+ module-deps "~0.5.0"
+ optimist "~0.3.5"
+ shell-quote "~0.0.1"
+ syntax-error "~0.0.0"
+ through "~2.2.0"
+
+browserify@~1.16.1:
+ version "1.16.8"
+ resolved "https://registry.yarnpkg.com/browserify/-/browserify-1.16.8.tgz#d33788cedbb2661eb2ef778f5e20ded69d451f01"
+ integrity sha1-0zeIztuyZh6y73ePXiDe1p1FHwE=
+ dependencies:
+ buffer-browserify "~0.0.1"
+ coffee-script "1.x.x"
+ commondir "~0.0.1"
+ crypto-browserify "~0"
+ deputy "~0.0.3"
+ detective "~0.2.0"
+ http-browserify "~0.1.1"
+ nub "~0.0.0"
+ optimist "~0.3.4"
+ resolve "~0.2.0"
+ syntax-error "~0.0.0"
+ vm-browserify "~0.0.0"
+
+browservefy@0.0.9:
+ version "0.0.9"
+ resolved "https://registry.yarnpkg.com/browservefy/-/browservefy-0.0.9.tgz#32a1cdb87ee3e7c298e91c9de380531983e9c715"
+ integrity sha1-MqHNuH7j58KY6Ryd44BTGYPpxxU=
+ dependencies:
+ colors "~0.6.0-1"
+ filed "0.0.7"
+ live-reload "~0.2.0"
+ optimist "~0.3.5"
+ response-stream "0.0.0"
+ through "~2.2.0"
+
+buffer-browserify@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/buffer-browserify/-/buffer-browserify-0.0.4.tgz#4b0db6c3a935b71fad6f12add55ace466c04c2e5"
+ integrity sha1-Sw22w6k1tx+tbxKt1VrORmwEwuU=
+ dependencies:
+ base64-js "0.0.2"
+
+buffer-browserify@~0.0.1:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/buffer-browserify/-/buffer-browserify-0.0.5.tgz#8aa68631c8a8829c6a4ee7ef9a3ac7f2c31e983e"
+ integrity sha1-iqaGMciogpxqTufvmjrH8sMemD4=
+ dependencies:
+ base64-js "0.0.2"
+
+codemirror@^5.11.0:
+ version "5.59.1"
+ resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.59.1.tgz#cd6465555a87f8a2243eb41ffb460c777e15212c"
+ integrity sha512-d0SSW/PCCD4LoSCBPdnP0BzmZB1v3emomCUtVlIWgZHJ06yVeBOvBtOH7vYz707pfAvEeWbO9aP6akh8vl1V3w==
+
+coffee-script@1.x.x:
+ version "1.12.7"
+ resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53"
+ integrity sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==
+
+colors@~0.6.0-1:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
+ integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=
+
+commondir@~0.0.1:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-0.0.2.tgz#c49c8880c6fe96844bb3525dd2e7314050c389ee"
+ integrity sha1-xJyIgMb+loRLs1Jd0ucxQFDDie4=
+
+concat-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-0.0.8.tgz#a7ea79d0ccb0b40499091db930050fb304f62d7d"
+ integrity sha1-p+p50MywtASZCR25MAUPswT2LX0=
+
+concat-stream@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-0.1.1.tgz#d7f4e278b90cfc4f0f3ef77fe4c03b40eb3f7900"
+ integrity sha1-1/TieLkM/E8PPvd/5MA7QOs/eQA=
+
+concat-stream@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.0.1.tgz#018b18bc1c7d073a2dc82aa48442341a2c4dd79f"
+ integrity sha1-AYsYvBx9BzotyCqkhEI0GixN158=
+ dependencies:
+ bops "0.0.6"
+
+console-browserify@0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-0.1.6.tgz#d128a3c0bb88350eb5626c6e7c71a6f0fd48983c"
+ integrity sha1-0SijwLuINQ61YmxufHGm8P1ImDw=
+
+crypto-browserify@0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-0.2.1.tgz#303ed9046f8604a3d7c35ec4a6d46d2268712078"
+ integrity sha1-MD7ZBG+GBKPXw17EptRtImhxIHg=
+
+crypto-browserify@~0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-0.4.0.tgz#246f6a337b884c99ffe8bfb085a184aee60c33f3"
+ integrity sha1-JG9qM3uITJn/6L+whaGEruYMM/M=
+
+deputy@~0.0.3:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/deputy/-/deputy-0.0.4.tgz#edc00a9ef5c53527c405328534c99795ada41cbf"
+ integrity sha1-7cAKnvXFNSfEBTKFNMmXla2kHL8=
+ dependencies:
+ detective "~0.2.0"
+ mkdirp "~0.3.3"
+
+detective@~0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-0.2.1.tgz#9ce92601fd223810c29432ad034f8c62d8b8654f"
+ integrity sha1-nOkmAf0iOBDClDKtA0+MYti4ZU8=
+ dependencies:
+ esprima "~0.9.9"
+
+detective@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-2.0.0.tgz#5a47720e6ad59b763abb960be90e9e74a09d3cf9"
+ integrity sha1-WkdyDmrVm3Y6u5YL6Q6edKCdPPk=
+ dependencies:
+ escodegen "0.0.15"
+ esprima "1.0.2"
+
+duplexer@~0.0.2, duplexer@~0.0.3:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.0.4.tgz#afcb7f1f8b8d74f820726171d5d64ac9e4a8ff20"
+ integrity sha1-r8t/H4uNdPggcmFx1dZKyeSo/yA=
+
+ecstatic@~0.1.6:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/ecstatic/-/ecstatic-0.1.7.tgz#b2210568789c029f610ea4e00395bbaf62201034"
+ integrity sha1-siEFaHicAp9hDqTgA5W7r2IgEDQ=
+ dependencies:
+ ent "0.0.x"
+ mime "1.2.5"
+
+ent@0.0.x:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/ent/-/ent-0.0.7.tgz#835d4e7f9e7a8d4921c692e9010ec976da5e9949"
+ integrity sha1-g11Of556jUkhxpLpAQ7JdtpemUk=
+
+escodegen@0.0.15:
+ version "0.0.15"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-0.0.15.tgz#ffda9cb26b70b34f7cc19f1d88756539afb543bd"
+ integrity sha1-/9qcsmtws098wZ8diHVlOa+1Q70=
+ dependencies:
+ esprima ">= 1.0.0"
+ optionalDependencies:
+ source-map ">= 0.1.2"
+
+esprima@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.2.tgz#8039bf9ceac4d9d2c15f623264fb292b5502ceaf"
+ integrity sha1-gDm/nOrE2dLBX2IyZPspK1UCzq8=
+
+"esprima@>= 1.0.0":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esprima@~0.9.9:
+ version "0.9.9"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-0.9.9.tgz#1b90925c975d632d7282939c3bb9c3a423c30490"
+ integrity sha1-G5CSXJddYy1ygpOcO7nDpCPDBJA=
+
+extend@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-1.1.3.tgz#5ae3d12e33009879dfb574e911a2da1e3da29ef4"
+ integrity sha1-WuPRLjMAmHnftXTpEaLaHj2invQ=
+
+faye-websocket@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.4.0.tgz#e9a8fc6b3e5a610f3308e8b9782876a01a745799"
+ integrity sha1-6aj8az5aYQ8zCOi5eCh2oBp0V5k=
+
+faye-websocket@0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.4.4.tgz#c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc"
+ integrity sha1-wUxbO/FNdBf/v9mQwKdJXNnzN7w=
+
+filed@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/filed/-/filed-0.0.7.tgz#3087ec531fb9a78600a6ec8e0b106e2c574d9773"
+ integrity sha1-MIfsUx+5p4YApuyOCxBuLFdNl3M=
+
+h@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/h/-/h-0.1.0.tgz#24211fe1d9cef2b36cae8ff8255606ea12ecdfb5"
+ integrity sha1-JCEf4dnO8rNsro/4JVYG6hLs37U=
+
+hound@~1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/hound/-/hound-1.0.5.tgz#59bbd39220eb4a541dff4e2de341d6daf6f8a289"
+ integrity sha1-WbvTkiDrSlQd/04t40HW2vb4ook=
+
+http-browserify@0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-0.1.6.tgz#ea11de6c739d479e7bacd1e685b0627b4c626d96"
+ integrity sha1-6hHebHOdR557rNHmhbBie0xibZY=
+ dependencies:
+ concat-stream "0.0.8"
+
+http-browserify@~0.1.1:
+ version "0.1.14"
+ resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-0.1.14.tgz#9c8b3f94002204547c7cbe5269afe2ea62f71c7f"
+ integrity sha1-nIs/lAAiBFR8fL5Saa/i6mL3HH8=
+ dependencies:
+ Base64 "~0.1.2"
+ concat-stream "~1.0.0"
+
+indexof@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+ integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
+
+inherits@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.0.tgz#38e1975285bf1f7ba9c84da102bb12771322ac48"
+ integrity sha1-OOGXUoW/H3upyE2hArsSdxMirEg=
+
+inherits@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
+ integrity sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=
+
+insert-module-globals@~0.1.0:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-0.1.3.tgz#1f4d758e18011d9246f520ac080db4a6d9ac768b"
+ integrity sha1-H011jhgBHZJG9SCsCA20ptmsdos=
+ dependencies:
+ JSONStream "~0.4.3"
+ browser-resolve "~0.0.2"
+ commondir "~0.0.1"
+ duplexer "~0.0.3"
+ lexical-scope "~0.0.5"
+ process "~0.5.1"
+ through "~2.2.0"
+
+jsonparse@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64"
+ integrity sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=
+
+lexical-scope@~0.0.5:
+ version "0.0.15"
+ resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-0.0.15.tgz#ca595997aaed87b155cb041f48dc0438f48a04dc"
+ integrity sha1-yllZl6rth7FVywQfSNwEOPSKBNw=
+ dependencies:
+ astw "~0.0.0"
+
+live-reload@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/live-reload/-/live-reload-0.2.0.tgz#fc0b2ce4aa1900b2055ea7ee25c1c3fe0abacf73"
+ integrity sha1-/Ass5KoZALIFXqfuJcHD/gq6z3M=
+ dependencies:
+ browserify-server "~2.0.3"
+ filed "0.0.7"
+ hound "~1.0.4"
+ optimist "~0.3.4"
+ reconnect "~0.1.3"
+ shoe "0.0.5"
+ watchr "~2.1.5"
+
+mime@1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.5.tgz#9eed073022a8bf5e16c8566c6867b8832bfbfa13"
+ integrity sha1-nu0HMCKov14WyFZsaGe4gyv7+hM=
+
+mkdirp@~0.3.3:
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7"
+ integrity sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=
+
+module-deps@~0.5.0:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-0.5.3.tgz#dd9415d781c2ca6c27c150b5263e43cc7667d792"
+ integrity sha1-3ZQV14HCymwnwVC1Jj5DzHZn15I=
+ dependencies:
+ JSONStream "~0.4.3"
+ browser-resolve "~0.0.3"
+ concat-stream "~0.1.1"
+ detective "~2.0.0"
+ resolve "~0.3.0"
+ through "~2.2.0"
+
+node-uuid@1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.3.3.tgz#d3db4d7b56810d9e4032342766282af07391729b"
+ integrity sha1-09tNe1aBDZ5AMjQnZigq8HORcps=
+
+nub@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/nub/-/nub-0.0.0.tgz#b369bd32bdde66af59605c3b0520bc219dccc04f"
+ integrity sha1-s2m9Mr3eZq9ZYFw7BSC8IZ3MwE8=
+
+optimist@~0.3.4, optimist@~0.3.5:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9"
+ integrity sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=
+ dependencies:
+ wordwrap "~0.0.2"
+
+process@~0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
+ integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
+
+reconnect@~0.1.3:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/reconnect/-/reconnect-0.1.5.tgz#dffea252d61bebfb302ec170cef73d2d2e7658f2"
+ integrity sha1-3/6iUtYb6/swLsFwzvc9LS52WPI=
+ dependencies:
+ backoff "~1.0.0"
+ h "~0.1.0"
+ shoe "~0.0.7"
+
+resolve@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.3.0.tgz#c9ca553334490ac68f75494aee2083e600994dce"
+ integrity sha1-ycpVMzRJCsaPdUlK7iCD5gCZTc4=
+
+resolve@~0.2.0:
+ version "0.2.8"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.2.8.tgz#fdb17d4abb0ecaf6f80d67ac03cf290088f6c0d0"
+ integrity sha1-/bF9SrsOyvb4DWesA88pAIj2wNA=
+
+resolve@~0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.3.1.tgz#34c63447c664c70598d1c9b126fc43b2a24310a4"
+ integrity sha1-NMY0R8ZkxwWY0cmxJvxDsqJDEKQ=
+
+response-stream@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/response-stream/-/response-stream-0.0.0.tgz#da4b17cc7684c98c962beb4d95f668c8dcad09d5"
+ integrity sha1-2ksXzHaEyYyWK+tNlfZoyNytCdU=
+
+shell-quote@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-0.0.1.tgz#1a41196f3c0333c482323593d6886ecf153dd986"
+ integrity sha1-GkEZbzwDM8SCMjWT1ohuzxU92YY=
+
+shoe@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/shoe/-/shoe-0.0.5.tgz#7b42dc20aca63166ac57f14852d495a1ccd3fbb3"
+ integrity sha1-e0LcIKymMWasV/FIUtSVoczT+7M=
+ dependencies:
+ sockjs-client "git://github.com/substack/sockjs-client.git#browserify-npm"
+ sockjs-windows "~0.3.1"
+
+shoe@~0.0.7:
+ version "0.0.15"
+ resolved "https://registry.yarnpkg.com/shoe/-/shoe-0.0.15.tgz#baed8f1a7f08f530b66f0914287fcaa65b12443a"
+ integrity sha1-uu2PGn8I9TC2bwkUKH/KplsSRDo=
+ dependencies:
+ sockjs "0.3.7"
+
+"sockjs-client@git://github.com/substack/sockjs-client.git#browserify-npm":
+ version "0.0.0-unreleasable"
+ resolved "git://github.com/substack/sockjs-client.git#40d48d06b4dba884416bf88a051f76ca3c8ffcae"
+
+sockjs-windows@~0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/sockjs-windows/-/sockjs-windows-0.3.1.tgz#9985a4e435791d769408299954bd96de569c8ff6"
+ integrity sha1-mYWk5DV5HXaUCCmZVL2W3lacj/Y=
+ dependencies:
+ faye-websocket "0.4.0"
+ node-uuid "1.3.3"
+
+sockjs@0.3.7:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.7.tgz#2950e0586d8a9d3044958a831ade68db197749cb"
+ integrity sha1-KVDgWG2KnTBElYqDGt5o2xl3Scs=
+ dependencies:
+ faye-websocket "0.4.4"
+ node-uuid "1.3.3"
+
+"source-map@>= 0.1.2":
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+
+syntax-error@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-0.0.1.tgz#019d075348cd8c5b79f0603c73e53891a7c5235d"
+ integrity sha1-AZ0HU0jNjFt58GA8c+U4kafFI10=
+ dependencies:
+ esprima "~0.9.9"
+
+through@~2.2.0:
+ version "2.2.7"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.2.7.tgz#6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd"
+ integrity sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=
+
+to-utf8@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/to-utf8/-/to-utf8-0.0.1.tgz#d17aea72ff2fba39b9e43601be7b3ff72e089852"
+ integrity sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=
+
+uglify-js@1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-1.3.4.tgz#282cec40db568798e0ec6d71d0c989d323f0636b"
+ integrity sha1-KCzsQNtWh5jg7G1x0MmJ0yPwY2s=
+
+vm-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.1.tgz#51d25979366ab219dfe35a3fc65ecd6af3631d54"
+ integrity sha1-UdJZeTZqshnf41o/xl7NavNjHVQ=
+
+vm-browserify@~0.0.0:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
+ integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=
+ dependencies:
+ indexof "0.0.1"
+
+watchr@~2.1.5:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/watchr/-/watchr-2.1.6.tgz#6dc895bf6c95ab6f5e06d811948b320a98413891"
+ integrity sha1-bciVv2yVq29eBtgRlIsyCphBOJE=
+ dependencies:
+ bal-util "1.13.x"
+
+wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+ integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
+
+zlib-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/zlib-browserify/-/zlib-browserify-0.0.1.tgz#4fa6a45d00dbc15f318a4afa1d9afc0258e176cc"
+ integrity sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=