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=