├── server ├── __init__.py └── views.py ├── client ├── gearheart.io.pdf ├── tsconfig.json ├── webpack.config.js ├── package.json ├── index.html ├── src │ └── index.ts └── npm-shrinkwrap.json ├── .gitignore ├── requirements.txt └── runserver.py /server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/gearheart.io.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigorC/rxjs_websocket/HEAD/client/gearheart.io.pdf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.sublime-project 2 | *.sublime-workspace 3 | *.pyc 4 | __pycache__ 5 | client/node_modules 6 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | aiohttp==1.1.3 2 | async-timeout==1.1.0 3 | chardet==2.3.0 4 | multidict==2.1.2 5 | yarl==0.7.0 6 | -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "sourceMap": true 5 | }, 6 | "exclude": [ 7 | "node_modules" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /client/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: "./src/index.ts", 3 | output: { 4 | filename: "./dist/bundle.js", 5 | library: 'rxjreconnection' 6 | }, 7 | resolve: { 8 | extensions: ['', '.webpack.js', '.web.js', '.ts', '.js'] 9 | }, 10 | module: { 11 | loaders: [ 12 | // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` 13 | { test: /\.tsx?$/, loader: 'ts-loader' } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ws-rxjs-reconnect", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "@types/es6-shim": "^0.31.32", 13 | "ts-loader": "^1.0.0", 14 | "typescript": "^2.0.7", 15 | "typings": "^1.5.0", 16 | "webpack": "^1.13.2" 17 | }, 18 | "dependencies": { 19 | "rxjs": "^5.0.0-rc.1" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /runserver.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import asyncio 4 | from aiohttp.web import Application, run_app 5 | from server import views 6 | 7 | 8 | CLIENT_FOLDER = os.path.join(os.path.dirname(__file__), 'client') 9 | 10 | 11 | async def on_shutdown(app): 12 | for ws in app['sockets']: 13 | await ws.close() 14 | 15 | 16 | async def init(loop): 17 | app = Application(loop=loop) 18 | app['sockets'] = [] 19 | app['client_folder'] = CLIENT_FOLDER 20 | app.router.add_get('/', views.index) 21 | app.router.add_get('/ws', views.wshandler) 22 | app.router.add_static('/dist', os.path.join(CLIENT_FOLDER, 'dist')) 23 | app.on_shutdown.append(on_shutdown) 24 | return app 25 | 26 | 27 | loop = asyncio.get_event_loop() 28 | app = loop.run_until_complete(init(loop)) 29 | run_app(app, shutdown_timeout=1.5) 30 | -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Websocket reconnection 8 | 9 | 14 | 15 | 16 |
17 |

RxJS websocket reconnection

18 |
19 |
20 | 21 | 22 |
23 | 24 |
25 |
26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /server/views.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | from aiohttp.web import WebSocketResponse, WSMsgType, Response 4 | 5 | 6 | def encode_msg(msg_data): 7 | return json.dumps(msg_data) 8 | 9 | 10 | async def index(request): 11 | index_path = os.path.join(request.app['client_folder'], 'index.html') 12 | with open(index_path, 'rb') as fp: 13 | return Response(body=fp.read(), content_type='text/html') 14 | 15 | 16 | async def wshandler(request): 17 | resp = WebSocketResponse() 18 | await resp.prepare(request) 19 | user_id = request.rel_url.query.get('uid') 20 | try: 21 | print('{0} joined.'.format(user_id)) 22 | for ws in request.app['sockets']: 23 | ws.send_str(encode_msg('"{0}" joined'.format(user_id))) 24 | request.app['sockets'].append(resp) 25 | 26 | async for msg in resp: 27 | print(msg.data) 28 | if msg.type == WSMsgType.TEXT: 29 | for ws in request.app['sockets']: 30 | ws.send_str(msg.data) 31 | else: 32 | return resp 33 | return resp 34 | 35 | finally: 36 | request.app['sockets'].remove(resp) 37 | print('Someone disconnected.') 38 | for ws in request.app['sockets']: 39 | if not ws.closed: 40 | ws.send_str(encode_msg('{0} disconnected.'.format(user_id))) 41 | -------------------------------------------------------------------------------- /client/src/index.ts: -------------------------------------------------------------------------------- 1 | import { Subject, Observer, Observable } from 'rxjs'; 2 | import { WebSocketSubject, WebSocketSubjectConfig } from 'rxjs/observable/dom/WebSocketSubject'; 3 | 4 | class RxWebsocketSubject extends Subject { 5 | private reconnectionObservable: Observable; 6 | private wsSubjectConfig: WebSocketSubjectConfig; 7 | private socket: WebSocketSubject; 8 | private connectionObserver: Observer; 9 | public connectionStatus: Observable; 10 | 11 | defaultResultSelector = (e: MessageEvent) => { 12 | return JSON.parse(e.data); 13 | } 14 | 15 | defaultSerializer = (data: any): string => { 16 | return JSON.stringify(data); 17 | } 18 | 19 | constructor( 20 | private url: string, 21 | private reconnectInterval: number = 5000, 22 | private reconnectAttempts: number = 10, 23 | private resultSelector?: (e: MessageEvent) => any, 24 | private serializer?: (data: any) => string, 25 | ) { 26 | super(); 27 | 28 | this.connectionStatus = new Observable((observer) => { 29 | this.connectionObserver = observer; 30 | }).share().distinctUntilChanged(); 31 | 32 | if (!resultSelector) { 33 | this.resultSelector = this.defaultResultSelector; 34 | } 35 | if (!this.serializer) { 36 | this.serializer = this.defaultSerializer; 37 | } 38 | 39 | this.wsSubjectConfig = { 40 | url: url, 41 | closeObserver: { 42 | next: (e: CloseEvent) => { 43 | this.socket = null; 44 | this.connectionObserver.next(false); 45 | } 46 | }, 47 | openObserver: { 48 | next: (e: Event) => { 49 | this.connectionObserver.next(true); 50 | } 51 | } 52 | }; 53 | this.connect(); 54 | this.connectionStatus.subscribe((isConnected) => { 55 | if (!this.reconnectionObservable && typeof(isConnected) == "boolean" && !isConnected) { 56 | this.reconnect(); 57 | } 58 | }); 59 | } 60 | 61 | connect(): void { 62 | this.socket = new WebSocketSubject(this.wsSubjectConfig); 63 | this.socket.subscribe( 64 | (m) => { 65 | this.next(m); 66 | }, 67 | (error: Event) => { 68 | if (!this.socket) { 69 | this.reconnect(); 70 | } 71 | }); 72 | } 73 | 74 | reconnect(): void { 75 | this.reconnectionObservable = Observable.interval(this.reconnectInterval) 76 | .takeWhile((v, index) => { 77 | return index < this.reconnectAttempts && !this.socket 78 | }); 79 | this.reconnectionObservable.subscribe( 80 | () => { 81 | this.connect(); 82 | }, 83 | null, 84 | () => { 85 | this.reconnectionObservable = null; 86 | if (!this.socket) { 87 | this.complete(); 88 | this.connectionObserver.complete(); 89 | } 90 | }); 91 | } 92 | 93 | send(data: any): void { 94 | this.socket.next(this.serializer(data)); 95 | } 96 | } 97 | 98 | let getWsUrl = (s: string): string => { 99 | let l = window.location; 100 | return ((l.protocol === "https:") ? "wss://" : "ws://") + l.host + l.pathname + s; 101 | } 102 | let randomId = Math.random().toString(36).substr(2, 5); // random id 103 | 104 | let wsSubject = new RxWebsocketSubject(getWsUrl('ws') + `?uid=${randomId}`); 105 | 106 | let textareaLog: HTMLTextAreaElement = document.getElementById('connectionLog'); 107 | let sendMsgBtn: HTMLButtonElement = document.getElementById('sendMessageButton'); 108 | let clickCount: number = 0; 109 | 110 | let addLogMessage = (msg: string): void => { 111 | textareaLog.value += `${msg}\n`; 112 | textareaLog.scrollTop = textareaLog.scrollHeight; 113 | } 114 | 115 | Observable.fromEvent(sendMsgBtn, 'click').subscribe((e) => { 116 | clickCount += 1; 117 | wsSubject.send(String(clickCount)); 118 | }); 119 | 120 | wsSubject.subscribe( 121 | function(e) { 122 | addLogMessage(`Message from server: "${e}"`); 123 | }, 124 | function(e) { 125 | console.log('Unclean close', e); 126 | }, 127 | function() { 128 | console.log('Closed'); 129 | } 130 | ); 131 | 132 | wsSubject.connectionStatus.subscribe((isConnected) => { 133 | textareaLog.disabled = sendMsgBtn.disabled = !isConnected; 134 | let msg = isConnected? 'Server connected': 'Server disconnected'; 135 | addLogMessage(msg); 136 | }); 137 | -------------------------------------------------------------------------------- /client/npm-shrinkwrap.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ws-rxjs-reconnect", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "abbrev": { 6 | "version": "1.0.9", 7 | "from": "abbrev@>=1.0.0 <2.0.0", 8 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" 9 | }, 10 | "acorn": { 11 | "version": "3.3.0", 12 | "from": "acorn@>=3.0.0 <4.0.0", 13 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" 14 | }, 15 | "agent-base": { 16 | "version": "2.0.1", 17 | "from": "agent-base@>=2.0.0 <3.0.0", 18 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", 19 | "dependencies": { 20 | "semver": { 21 | "version": "5.0.3", 22 | "from": "semver@>=5.0.1 <5.1.0", 23 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz" 24 | } 25 | } 26 | }, 27 | "align-text": { 28 | "version": "0.1.4", 29 | "from": "align-text@>=0.1.3 <0.2.0", 30 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" 31 | }, 32 | "amdefine": { 33 | "version": "1.0.0", 34 | "from": "amdefine@>=0.0.4", 35 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 36 | }, 37 | "ansi-align": { 38 | "version": "1.1.0", 39 | "from": "ansi-align@>=1.1.0 <2.0.0", 40 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz" 41 | }, 42 | "ansi-escapes": { 43 | "version": "1.4.0", 44 | "from": "ansi-escapes@>=1.0.0 <2.0.0", 45 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" 46 | }, 47 | "ansi-regex": { 48 | "version": "2.0.0", 49 | "from": "ansi-regex@>=2.0.0 <3.0.0", 50 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" 51 | }, 52 | "ansi-styles": { 53 | "version": "2.2.1", 54 | "from": "ansi-styles@>=2.2.1 <3.0.0", 55 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" 56 | }, 57 | "any-promise": { 58 | "version": "1.3.0", 59 | "from": "any-promise@>=1.3.0 <2.0.0", 60 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" 61 | }, 62 | "anymatch": { 63 | "version": "1.3.0", 64 | "from": "anymatch@>=1.3.0 <2.0.0", 65 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz" 66 | }, 67 | "archy": { 68 | "version": "1.0.0", 69 | "from": "archy@>=1.0.0 <2.0.0", 70 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" 71 | }, 72 | "arr-diff": { 73 | "version": "2.0.0", 74 | "from": "arr-diff@>=2.0.0 <3.0.0", 75 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz" 76 | }, 77 | "arr-flatten": { 78 | "version": "1.0.1", 79 | "from": "arr-flatten@>=1.0.1 <2.0.0", 80 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz" 81 | }, 82 | "array-uniq": { 83 | "version": "1.0.3", 84 | "from": "array-uniq@>=1.0.2 <2.0.0", 85 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" 86 | }, 87 | "array-unique": { 88 | "version": "0.2.1", 89 | "from": "array-unique@>=0.2.1 <0.3.0", 90 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" 91 | }, 92 | "arrify": { 93 | "version": "1.0.1", 94 | "from": "arrify@>=1.0.0 <2.0.0", 95 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" 96 | }, 97 | "assert": { 98 | "version": "1.4.1", 99 | "from": "assert@>=1.1.1 <2.0.0", 100 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz" 101 | }, 102 | "async": { 103 | "version": "1.5.2", 104 | "from": "async@>=1.3.0 <2.0.0", 105 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" 106 | }, 107 | "async-each": { 108 | "version": "1.0.1", 109 | "from": "async-each@>=1.0.0 <2.0.0", 110 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz" 111 | }, 112 | "asynckit": { 113 | "version": "0.4.0", 114 | "from": "asynckit@>=0.4.0 <0.5.0", 115 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" 116 | }, 117 | "balanced-match": { 118 | "version": "0.4.2", 119 | "from": "balanced-match@>=0.4.1 <0.5.0", 120 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" 121 | }, 122 | "Base64": { 123 | "version": "0.2.1", 124 | "from": "Base64@>=0.2.0 <0.3.0", 125 | "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz" 126 | }, 127 | "base64-js": { 128 | "version": "1.2.0", 129 | "from": "base64-js@>=1.0.2 <2.0.0", 130 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz" 131 | }, 132 | "big.js": { 133 | "version": "3.1.3", 134 | "from": "big.js@>=3.1.3 <4.0.0", 135 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz" 136 | }, 137 | "binary-extensions": { 138 | "version": "1.7.0", 139 | "from": "binary-extensions@>=1.0.0 <2.0.0", 140 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.7.0.tgz" 141 | }, 142 | "bluebird": { 143 | "version": "3.4.6", 144 | "from": "bluebird@>=3.1.1 <4.0.0", 145 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.6.tgz" 146 | }, 147 | "boxen": { 148 | "version": "0.6.0", 149 | "from": "boxen@>=0.6.0 <0.7.0", 150 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz", 151 | "dependencies": { 152 | "camelcase": { 153 | "version": "2.1.1", 154 | "from": "camelcase@>=2.1.0 <3.0.0", 155 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" 156 | } 157 | } 158 | }, 159 | "brace-expansion": { 160 | "version": "1.1.6", 161 | "from": "brace-expansion@>=1.0.0 <2.0.0", 162 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" 163 | }, 164 | "braces": { 165 | "version": "1.8.5", 166 | "from": "braces@>=1.8.2 <2.0.0", 167 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz" 168 | }, 169 | "browserify-zlib": { 170 | "version": "0.1.4", 171 | "from": "browserify-zlib@>=0.1.4 <0.2.0", 172 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz" 173 | }, 174 | "buffer": { 175 | "version": "4.9.1", 176 | "from": "buffer@>=4.9.0 <5.0.0", 177 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz" 178 | }, 179 | "buffer-shims": { 180 | "version": "1.0.0", 181 | "from": "buffer-shims@>=1.0.0 <2.0.0", 182 | "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" 183 | }, 184 | "camelcase": { 185 | "version": "1.2.1", 186 | "from": "camelcase@>=1.0.2 <2.0.0", 187 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" 188 | }, 189 | "capture-stack-trace": { 190 | "version": "1.0.0", 191 | "from": "capture-stack-trace@>=1.0.0 <2.0.0", 192 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz" 193 | }, 194 | "center-align": { 195 | "version": "0.1.3", 196 | "from": "center-align@>=0.1.1 <0.2.0", 197 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" 198 | }, 199 | "chalk": { 200 | "version": "1.1.3", 201 | "from": "chalk@>=1.1.0 <2.0.0", 202 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 203 | "dependencies": { 204 | "supports-color": { 205 | "version": "2.0.0", 206 | "from": "supports-color@>=2.0.0 <3.0.0", 207 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" 208 | } 209 | } 210 | }, 211 | "chokidar": { 212 | "version": "1.6.1", 213 | "from": "chokidar@>=1.0.0 <2.0.0", 214 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz" 215 | }, 216 | "cli-boxes": { 217 | "version": "1.0.0", 218 | "from": "cli-boxes@>=1.0.0 <2.0.0", 219 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz" 220 | }, 221 | "cli-cursor": { 222 | "version": "1.0.2", 223 | "from": "cli-cursor@>=1.0.2 <2.0.0", 224 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" 225 | }, 226 | "cli-truncate": { 227 | "version": "0.2.1", 228 | "from": "cli-truncate@>=0.2.1 <0.3.0", 229 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" 230 | }, 231 | "cliui": { 232 | "version": "2.1.0", 233 | "from": "cliui@>=2.1.0 <3.0.0", 234 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", 235 | "dependencies": { 236 | "wordwrap": { 237 | "version": "0.0.2", 238 | "from": "wordwrap@0.0.2", 239 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" 240 | } 241 | } 242 | }, 243 | "clone": { 244 | "version": "1.0.2", 245 | "from": "clone@>=1.0.2 <2.0.0", 246 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz" 247 | }, 248 | "code-point-at": { 249 | "version": "1.1.0", 250 | "from": "code-point-at@>=1.0.0 <2.0.0", 251 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" 252 | }, 253 | "colors": { 254 | "version": "1.1.2", 255 | "from": "colors@>=1.0.3 <2.0.0", 256 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz" 257 | }, 258 | "columnify": { 259 | "version": "1.5.4", 260 | "from": "columnify@>=1.5.2 <2.0.0", 261 | "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz" 262 | }, 263 | "combined-stream": { 264 | "version": "1.0.5", 265 | "from": "combined-stream@>=1.0.5 <2.0.0", 266 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" 267 | }, 268 | "concat-map": { 269 | "version": "0.0.1", 270 | "from": "concat-map@0.0.1", 271 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 272 | }, 273 | "concat-stream": { 274 | "version": "1.5.2", 275 | "from": "concat-stream@>=1.4.7 <2.0.0", 276 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 277 | "dependencies": { 278 | "readable-stream": { 279 | "version": "2.0.6", 280 | "from": "readable-stream@>=2.0.0 <2.1.0", 281 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" 282 | } 283 | } 284 | }, 285 | "configstore": { 286 | "version": "2.1.0", 287 | "from": "configstore@>=2.0.0 <3.0.0", 288 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz" 289 | }, 290 | "console-browserify": { 291 | "version": "1.1.0", 292 | "from": "console-browserify@>=1.1.0 <2.0.0", 293 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz" 294 | }, 295 | "constants-browserify": { 296 | "version": "0.0.1", 297 | "from": "constants-browserify@0.0.1", 298 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz" 299 | }, 300 | "core-util-is": { 301 | "version": "1.0.2", 302 | "from": "core-util-is@>=1.0.0 <1.1.0", 303 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" 304 | }, 305 | "create-error-class": { 306 | "version": "3.0.2", 307 | "from": "create-error-class@>=3.0.1 <4.0.0", 308 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz" 309 | }, 310 | "crypto-browserify": { 311 | "version": "3.2.8", 312 | "from": "crypto-browserify@>=3.2.6 <3.3.0", 313 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.2.8.tgz" 314 | }, 315 | "date-now": { 316 | "version": "0.1.4", 317 | "from": "date-now@>=0.1.4 <0.2.0", 318 | "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz" 319 | }, 320 | "debug": { 321 | "version": "2.2.0", 322 | "from": "debug@>=2.1.1 <3.0.0", 323 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" 324 | }, 325 | "decamelize": { 326 | "version": "1.2.0", 327 | "from": "decamelize@>=1.0.0 <2.0.0", 328 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" 329 | }, 330 | "deep-extend": { 331 | "version": "0.4.1", 332 | "from": "deep-extend@>=0.4.0 <0.5.0", 333 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" 334 | }, 335 | "defaults": { 336 | "version": "1.0.3", 337 | "from": "defaults@>=1.0.3 <2.0.0", 338 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" 339 | }, 340 | "delayed-stream": { 341 | "version": "1.0.0", 342 | "from": "delayed-stream@>=1.0.0 <1.1.0", 343 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" 344 | }, 345 | "detect-indent": { 346 | "version": "4.0.0", 347 | "from": "detect-indent@>=4.0.0 <5.0.0", 348 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz" 349 | }, 350 | "domain-browser": { 351 | "version": "1.1.7", 352 | "from": "domain-browser@>=1.1.1 <2.0.0", 353 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz" 354 | }, 355 | "dot-prop": { 356 | "version": "3.0.0", 357 | "from": "dot-prop@>=3.0.0 <4.0.0", 358 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz" 359 | }, 360 | "duplexer2": { 361 | "version": "0.1.4", 362 | "from": "duplexer2@>=0.1.4 <0.2.0", 363 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" 364 | }, 365 | "elegant-spinner": { 366 | "version": "1.0.1", 367 | "from": "elegant-spinner@>=1.0.1 <2.0.0", 368 | "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" 369 | }, 370 | "emojis-list": { 371 | "version": "2.1.0", 372 | "from": "emojis-list@>=2.0.0 <3.0.0", 373 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz" 374 | }, 375 | "enhanced-resolve": { 376 | "version": "0.9.1", 377 | "from": "enhanced-resolve@>=0.9.0 <0.10.0", 378 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", 379 | "dependencies": { 380 | "memory-fs": { 381 | "version": "0.2.0", 382 | "from": "memory-fs@>=0.2.0 <0.3.0", 383 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz" 384 | } 385 | } 386 | }, 387 | "errno": { 388 | "version": "0.1.4", 389 | "from": "errno@>=0.1.3 <0.2.0", 390 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz" 391 | }, 392 | "error-ex": { 393 | "version": "1.3.0", 394 | "from": "error-ex@>=1.2.0 <2.0.0", 395 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz" 396 | }, 397 | "escape-string-regexp": { 398 | "version": "1.0.5", 399 | "from": "escape-string-regexp@>=1.0.2 <2.0.0", 400 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 401 | }, 402 | "events": { 403 | "version": "1.1.1", 404 | "from": "events@>=1.0.0 <2.0.0", 405 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz" 406 | }, 407 | "exit-hook": { 408 | "version": "1.1.1", 409 | "from": "exit-hook@>=1.0.0 <2.0.0", 410 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" 411 | }, 412 | "expand-brackets": { 413 | "version": "0.1.5", 414 | "from": "expand-brackets@>=0.1.4 <0.2.0", 415 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz" 416 | }, 417 | "expand-range": { 418 | "version": "1.8.2", 419 | "from": "expand-range@>=1.8.1 <2.0.0", 420 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz" 421 | }, 422 | "extend": { 423 | "version": "3.0.0", 424 | "from": "extend@>=3.0.0 <4.0.0", 425 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" 426 | }, 427 | "extglob": { 428 | "version": "0.3.2", 429 | "from": "extglob@>=0.3.1 <0.4.0", 430 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz" 431 | }, 432 | "filename-regex": { 433 | "version": "2.0.0", 434 | "from": "filename-regex@>=2.0.0 <3.0.0", 435 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz" 436 | }, 437 | "fill-range": { 438 | "version": "2.2.3", 439 | "from": "fill-range@>=2.1.0 <3.0.0", 440 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" 441 | }, 442 | "filled-array": { 443 | "version": "1.1.0", 444 | "from": "filled-array@>=1.0.0 <2.0.0", 445 | "resolved": "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz" 446 | }, 447 | "for-in": { 448 | "version": "0.1.6", 449 | "from": "for-in@>=0.1.5 <0.2.0", 450 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz" 451 | }, 452 | "for-own": { 453 | "version": "0.1.4", 454 | "from": "for-own@>=0.1.3 <0.2.0", 455 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz" 456 | }, 457 | "form-data": { 458 | "version": "2.1.1", 459 | "from": "form-data@>=2.0.0 <3.0.0", 460 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.1.tgz" 461 | }, 462 | "fs.realpath": { 463 | "version": "1.0.0", 464 | "from": "fs.realpath@>=1.0.0 <2.0.0", 465 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 466 | }, 467 | "function-bind": { 468 | "version": "1.1.0", 469 | "from": "function-bind@>=1.0.2 <2.0.0", 470 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz" 471 | }, 472 | "glob": { 473 | "version": "7.1.1", 474 | "from": "glob@>=7.0.5 <8.0.0", 475 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" 476 | }, 477 | "glob-base": { 478 | "version": "0.3.0", 479 | "from": "glob-base@>=0.3.0 <0.4.0", 480 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz" 481 | }, 482 | "glob-parent": { 483 | "version": "2.0.0", 484 | "from": "glob-parent@>=2.0.0 <3.0.0", 485 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz" 486 | }, 487 | "got": { 488 | "version": "5.7.1", 489 | "from": "got@>=5.0.0 <6.0.0", 490 | "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz" 491 | }, 492 | "graceful-fs": { 493 | "version": "4.1.9", 494 | "from": "graceful-fs@>=4.1.2 <5.0.0", 495 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz" 496 | }, 497 | "has": { 498 | "version": "1.0.1", 499 | "from": "has@>=1.0.1 <2.0.0", 500 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz" 501 | }, 502 | "has-ansi": { 503 | "version": "2.0.0", 504 | "from": "has-ansi@>=2.0.0 <3.0.0", 505 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" 506 | }, 507 | "has-flag": { 508 | "version": "1.0.0", 509 | "from": "has-flag@>=1.0.0 <2.0.0", 510 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" 511 | }, 512 | "has-unicode": { 513 | "version": "2.0.1", 514 | "from": "has-unicode@>=2.0.1 <3.0.0", 515 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" 516 | }, 517 | "http-browserify": { 518 | "version": "1.7.0", 519 | "from": "http-browserify@>=1.3.2 <2.0.0", 520 | "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz" 521 | }, 522 | "http-proxy-agent": { 523 | "version": "1.0.0", 524 | "from": "http-proxy-agent@>=1.0.0 <2.0.0", 525 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz" 526 | }, 527 | "https-browserify": { 528 | "version": "0.0.0", 529 | "from": "https-browserify@0.0.0", 530 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz" 531 | }, 532 | "https-proxy-agent": { 533 | "version": "1.0.0", 534 | "from": "https-proxy-agent@>=1.0.0 <2.0.0", 535 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz" 536 | }, 537 | "ieee754": { 538 | "version": "1.1.8", 539 | "from": "ieee754@>=1.1.4 <2.0.0", 540 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz" 541 | }, 542 | "imurmurhash": { 543 | "version": "0.1.4", 544 | "from": "imurmurhash@>=0.1.4 <0.2.0", 545 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 546 | }, 547 | "indexof": { 548 | "version": "0.0.1", 549 | "from": "indexof@0.0.1", 550 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz" 551 | }, 552 | "inflight": { 553 | "version": "1.0.6", 554 | "from": "inflight@>=1.0.4 <2.0.0", 555 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 556 | }, 557 | "inherits": { 558 | "version": "2.0.3", 559 | "from": "inherits@>=2.0.1 <2.1.0", 560 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" 561 | }, 562 | "ini": { 563 | "version": "1.3.4", 564 | "from": "ini@>=1.3.0 <1.4.0", 565 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" 566 | }, 567 | "interpret": { 568 | "version": "0.6.6", 569 | "from": "interpret@>=0.6.4 <0.7.0", 570 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz" 571 | }, 572 | "invariant": { 573 | "version": "2.2.1", 574 | "from": "invariant@>=2.2.0 <3.0.0", 575 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz" 576 | }, 577 | "is-absolute": { 578 | "version": "0.2.6", 579 | "from": "is-absolute@>=0.2.3 <0.3.0", 580 | "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz" 581 | }, 582 | "is-arrayish": { 583 | "version": "0.2.1", 584 | "from": "is-arrayish@>=0.2.1 <0.3.0", 585 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" 586 | }, 587 | "is-binary-path": { 588 | "version": "1.0.1", 589 | "from": "is-binary-path@>=1.0.0 <2.0.0", 590 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" 591 | }, 592 | "is-buffer": { 593 | "version": "1.1.4", 594 | "from": "is-buffer@>=1.0.2 <2.0.0", 595 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz" 596 | }, 597 | "is-dotfile": { 598 | "version": "1.0.2", 599 | "from": "is-dotfile@>=1.0.0 <2.0.0", 600 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz" 601 | }, 602 | "is-equal-shallow": { 603 | "version": "0.1.3", 604 | "from": "is-equal-shallow@>=0.1.3 <0.2.0", 605 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" 606 | }, 607 | "is-extendable": { 608 | "version": "0.1.1", 609 | "from": "is-extendable@>=0.1.1 <0.2.0", 610 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" 611 | }, 612 | "is-extglob": { 613 | "version": "1.0.0", 614 | "from": "is-extglob@>=1.0.0 <2.0.0", 615 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" 616 | }, 617 | "is-finite": { 618 | "version": "1.0.2", 619 | "from": "is-finite@>=1.0.0 <2.0.0", 620 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz" 621 | }, 622 | "is-fullwidth-code-point": { 623 | "version": "1.0.0", 624 | "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", 625 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" 626 | }, 627 | "is-glob": { 628 | "version": "2.0.1", 629 | "from": "is-glob@>=2.0.0 <3.0.0", 630 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" 631 | }, 632 | "is-npm": { 633 | "version": "1.0.0", 634 | "from": "is-npm@>=1.0.0 <2.0.0", 635 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz" 636 | }, 637 | "is-number": { 638 | "version": "2.1.0", 639 | "from": "is-number@>=2.1.0 <3.0.0", 640 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz" 641 | }, 642 | "is-obj": { 643 | "version": "1.0.1", 644 | "from": "is-obj@>=1.0.0 <2.0.0", 645 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" 646 | }, 647 | "is-plain-obj": { 648 | "version": "1.1.0", 649 | "from": "is-plain-obj@>=1.0.0 <2.0.0", 650 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" 651 | }, 652 | "is-posix-bracket": { 653 | "version": "0.1.1", 654 | "from": "is-posix-bracket@>=0.1.0 <0.2.0", 655 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" 656 | }, 657 | "is-primitive": { 658 | "version": "2.0.0", 659 | "from": "is-primitive@>=2.0.0 <3.0.0", 660 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" 661 | }, 662 | "is-redirect": { 663 | "version": "1.0.0", 664 | "from": "is-redirect@>=1.0.0 <2.0.0", 665 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz" 666 | }, 667 | "is-relative": { 668 | "version": "0.2.1", 669 | "from": "is-relative@>=0.2.1 <0.3.0", 670 | "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz" 671 | }, 672 | "is-retry-allowed": { 673 | "version": "1.1.0", 674 | "from": "is-retry-allowed@>=1.0.0 <2.0.0", 675 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz" 676 | }, 677 | "is-stream": { 678 | "version": "1.1.0", 679 | "from": "is-stream@>=1.0.0 <2.0.0", 680 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" 681 | }, 682 | "is-unc-path": { 683 | "version": "0.1.1", 684 | "from": "is-unc-path@>=0.1.1 <0.2.0", 685 | "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.1.tgz" 686 | }, 687 | "is-utf8": { 688 | "version": "0.2.1", 689 | "from": "is-utf8@>=0.2.0 <0.3.0", 690 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" 691 | }, 692 | "is-windows": { 693 | "version": "0.2.0", 694 | "from": "is-windows@>=0.2.0 <0.3.0", 695 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz" 696 | }, 697 | "isarray": { 698 | "version": "1.0.0", 699 | "from": "isarray@>=1.0.0 <1.1.0", 700 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" 701 | }, 702 | "isobject": { 703 | "version": "2.1.0", 704 | "from": "isobject@>=2.0.0 <3.0.0", 705 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" 706 | }, 707 | "json5": { 708 | "version": "0.5.0", 709 | "from": "json5@>=0.5.0 <0.6.0", 710 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz" 711 | }, 712 | "kind-of": { 713 | "version": "3.0.4", 714 | "from": "kind-of@>=3.0.2 <4.0.0", 715 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz" 716 | }, 717 | "latest-version": { 718 | "version": "2.0.0", 719 | "from": "latest-version@>=2.0.0 <3.0.0", 720 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz" 721 | }, 722 | "lazy-cache": { 723 | "version": "1.0.4", 724 | "from": "lazy-cache@>=1.0.3 <2.0.0", 725 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" 726 | }, 727 | "lazy-req": { 728 | "version": "1.1.0", 729 | "from": "lazy-req@>=1.1.0 <2.0.0", 730 | "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz" 731 | }, 732 | "listify": { 733 | "version": "1.0.0", 734 | "from": "listify@>=1.0.0 <2.0.0", 735 | "resolved": "https://registry.npmjs.org/listify/-/listify-1.0.0.tgz" 736 | }, 737 | "loader-utils": { 738 | "version": "0.2.16", 739 | "from": "loader-utils@>=0.2.11 <0.3.0", 740 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz" 741 | }, 742 | "lockfile": { 743 | "version": "1.0.2", 744 | "from": "lockfile@>=1.0.1 <2.0.0", 745 | "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.2.tgz" 746 | }, 747 | "log-update": { 748 | "version": "1.0.2", 749 | "from": "log-update@>=1.0.2 <2.0.0", 750 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz" 751 | }, 752 | "longest": { 753 | "version": "1.0.1", 754 | "from": "longest@>=1.0.1 <2.0.0", 755 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" 756 | }, 757 | "loose-envify": { 758 | "version": "1.2.0", 759 | "from": "loose-envify@>=1.0.0 <2.0.0", 760 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", 761 | "dependencies": { 762 | "js-tokens": { 763 | "version": "1.0.3", 764 | "from": "js-tokens@>=1.0.1 <2.0.0", 765 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz" 766 | } 767 | } 768 | }, 769 | "lowercase-keys": { 770 | "version": "1.0.0", 771 | "from": "lowercase-keys@>=1.0.0 <2.0.0", 772 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz" 773 | }, 774 | "make-error": { 775 | "version": "1.2.1", 776 | "from": "make-error@>=1.2.0 <2.0.0", 777 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.2.1.tgz" 778 | }, 779 | "make-error-cause": { 780 | "version": "1.2.2", 781 | "from": "make-error-cause@>=1.2.1 <2.0.0", 782 | "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz" 783 | }, 784 | "memory-fs": { 785 | "version": "0.3.0", 786 | "from": "memory-fs@>=0.3.0 <0.4.0", 787 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz" 788 | }, 789 | "micromatch": { 790 | "version": "2.3.11", 791 | "from": "micromatch@>=2.1.5 <3.0.0", 792 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" 793 | }, 794 | "mime-db": { 795 | "version": "1.24.0", 796 | "from": "mime-db@>=1.24.0 <1.25.0", 797 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz" 798 | }, 799 | "mime-types": { 800 | "version": "2.1.12", 801 | "from": "mime-types@>=2.1.12 <3.0.0", 802 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz" 803 | }, 804 | "minimatch": { 805 | "version": "3.0.3", 806 | "from": "minimatch@>=3.0.2 <4.0.0", 807 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz" 808 | }, 809 | "minimist": { 810 | "version": "0.0.8", 811 | "from": "minimist@0.0.8", 812 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" 813 | }, 814 | "mkdirp": { 815 | "version": "0.5.1", 816 | "from": "mkdirp@>=0.5.0 <0.6.0", 817 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" 818 | }, 819 | "ms": { 820 | "version": "0.7.1", 821 | "from": "ms@0.7.1", 822 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" 823 | }, 824 | "node-libs-browser": { 825 | "version": "0.6.0", 826 | "from": "node-libs-browser@>=0.6.0 <0.7.0", 827 | "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.6.0.tgz", 828 | "dependencies": { 829 | "isarray": { 830 | "version": "0.0.1", 831 | "from": "isarray@0.0.1", 832 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" 833 | }, 834 | "readable-stream": { 835 | "version": "1.1.14", 836 | "from": "readable-stream@>=1.1.13 <2.0.0", 837 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" 838 | } 839 | } 840 | }, 841 | "node-status-codes": { 842 | "version": "1.0.0", 843 | "from": "node-status-codes@>=1.0.0 <2.0.0", 844 | "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz" 845 | }, 846 | "nopt": { 847 | "version": "1.0.10", 848 | "from": "nopt@>=1.0.10 <1.1.0", 849 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" 850 | }, 851 | "normalize-path": { 852 | "version": "2.0.1", 853 | "from": "normalize-path@>=2.0.1 <3.0.0", 854 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz" 855 | }, 856 | "number-is-nan": { 857 | "version": "1.0.1", 858 | "from": "number-is-nan@>=1.0.0 <2.0.0", 859 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" 860 | }, 861 | "object-assign": { 862 | "version": "4.1.0", 863 | "from": "object-assign@>=4.0.1 <5.0.0", 864 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" 865 | }, 866 | "object.omit": { 867 | "version": "2.0.0", 868 | "from": "object.omit@>=2.0.0 <3.0.0", 869 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.0.tgz" 870 | }, 871 | "object.pick": { 872 | "version": "1.2.0", 873 | "from": "object.pick@>=1.1.1 <2.0.0", 874 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz" 875 | }, 876 | "once": { 877 | "version": "1.4.0", 878 | "from": "once@>=1.3.0 <2.0.0", 879 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 880 | }, 881 | "onetime": { 882 | "version": "1.1.0", 883 | "from": "onetime@>=1.0.0 <2.0.0", 884 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" 885 | }, 886 | "optimist": { 887 | "version": "0.6.1", 888 | "from": "optimist@>=0.6.0 <0.7.0", 889 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" 890 | }, 891 | "os-browserify": { 892 | "version": "0.1.2", 893 | "from": "os-browserify@>=0.1.2 <0.2.0", 894 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz" 895 | }, 896 | "os-homedir": { 897 | "version": "1.0.2", 898 | "from": "os-homedir@>=1.0.0 <2.0.0", 899 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" 900 | }, 901 | "os-tmpdir": { 902 | "version": "1.0.2", 903 | "from": "os-tmpdir@>=1.0.1 <2.0.0", 904 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" 905 | }, 906 | "osenv": { 907 | "version": "0.1.3", 908 | "from": "osenv@>=0.1.0 <0.2.0", 909 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" 910 | }, 911 | "package-json": { 912 | "version": "2.4.0", 913 | "from": "package-json@>=2.0.0 <3.0.0", 914 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz" 915 | }, 916 | "pako": { 917 | "version": "0.2.9", 918 | "from": "pako@>=0.2.0 <0.3.0", 919 | "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" 920 | }, 921 | "parse-glob": { 922 | "version": "3.0.4", 923 | "from": "parse-glob@>=3.0.4 <4.0.0", 924 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz" 925 | }, 926 | "parse-json": { 927 | "version": "2.2.0", 928 | "from": "parse-json@>=2.2.0 <3.0.0", 929 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" 930 | }, 931 | "path-browserify": { 932 | "version": "0.0.0", 933 | "from": "path-browserify@0.0.0", 934 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz" 935 | }, 936 | "path-is-absolute": { 937 | "version": "1.0.1", 938 | "from": "path-is-absolute@>=1.0.0 <2.0.0", 939 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 940 | }, 941 | "pbkdf2-compat": { 942 | "version": "2.0.1", 943 | "from": "pbkdf2-compat@2.0.1", 944 | "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz" 945 | }, 946 | "pinkie": { 947 | "version": "2.0.4", 948 | "from": "pinkie@>=2.0.0 <3.0.0", 949 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" 950 | }, 951 | "pinkie-promise": { 952 | "version": "2.0.1", 953 | "from": "pinkie-promise@>=2.0.0 <3.0.0", 954 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" 955 | }, 956 | "popsicle": { 957 | "version": "8.2.0", 958 | "from": "popsicle@>=8.0.2 <9.0.0", 959 | "resolved": "https://registry.npmjs.org/popsicle/-/popsicle-8.2.0.tgz" 960 | }, 961 | "popsicle-proxy-agent": { 962 | "version": "3.0.0", 963 | "from": "popsicle-proxy-agent@>=3.0.0 <4.0.0", 964 | "resolved": "https://registry.npmjs.org/popsicle-proxy-agent/-/popsicle-proxy-agent-3.0.0.tgz" 965 | }, 966 | "popsicle-retry": { 967 | "version": "3.2.1", 968 | "from": "popsicle-retry@>=3.2.0 <4.0.0", 969 | "resolved": "https://registry.npmjs.org/popsicle-retry/-/popsicle-retry-3.2.1.tgz" 970 | }, 971 | "popsicle-rewrite": { 972 | "version": "1.0.0", 973 | "from": "popsicle-rewrite@>=1.0.0 <2.0.0", 974 | "resolved": "https://registry.npmjs.org/popsicle-rewrite/-/popsicle-rewrite-1.0.0.tgz" 975 | }, 976 | "popsicle-status": { 977 | "version": "2.0.0", 978 | "from": "popsicle-status@>=2.0.0 <3.0.0", 979 | "resolved": "https://registry.npmjs.org/popsicle-status/-/popsicle-status-2.0.0.tgz" 980 | }, 981 | "prepend-http": { 982 | "version": "1.0.4", 983 | "from": "prepend-http@>=1.0.1 <2.0.0", 984 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz" 985 | }, 986 | "preserve": { 987 | "version": "0.2.0", 988 | "from": "preserve@>=0.2.0 <0.3.0", 989 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz" 990 | }, 991 | "process": { 992 | "version": "0.11.9", 993 | "from": "process@>=0.11.0 <0.12.0", 994 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.9.tgz" 995 | }, 996 | "process-nextick-args": { 997 | "version": "1.0.7", 998 | "from": "process-nextick-args@>=1.0.6 <1.1.0", 999 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" 1000 | }, 1001 | "promise-finally": { 1002 | "version": "2.2.1", 1003 | "from": "promise-finally@>=2.2.1 <3.0.0", 1004 | "resolved": "https://registry.npmjs.org/promise-finally/-/promise-finally-2.2.1.tgz" 1005 | }, 1006 | "prr": { 1007 | "version": "0.0.0", 1008 | "from": "prr@>=0.0.0 <0.1.0", 1009 | "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz" 1010 | }, 1011 | "punycode": { 1012 | "version": "1.4.1", 1013 | "from": "punycode@>=1.2.4 <2.0.0", 1014 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" 1015 | }, 1016 | "querystring": { 1017 | "version": "0.2.0", 1018 | "from": "querystring@0.2.0", 1019 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" 1020 | }, 1021 | "querystring-es3": { 1022 | "version": "0.2.1", 1023 | "from": "querystring-es3@>=0.2.0 <0.3.0", 1024 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" 1025 | }, 1026 | "randomatic": { 1027 | "version": "1.1.5", 1028 | "from": "randomatic@>=1.1.3 <2.0.0", 1029 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz" 1030 | }, 1031 | "rc": { 1032 | "version": "1.1.6", 1033 | "from": "rc@>=1.1.5 <2.0.0", 1034 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", 1035 | "dependencies": { 1036 | "minimist": { 1037 | "version": "1.2.0", 1038 | "from": "minimist@^1.2.0", 1039 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" 1040 | } 1041 | } 1042 | }, 1043 | "read-all-stream": { 1044 | "version": "3.1.0", 1045 | "from": "read-all-stream@>=3.0.0 <4.0.0", 1046 | "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz" 1047 | }, 1048 | "readable-stream": { 1049 | "version": "2.1.5", 1050 | "from": "readable-stream@>=2.0.1 <3.0.0", 1051 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" 1052 | }, 1053 | "readdirp": { 1054 | "version": "2.1.0", 1055 | "from": "readdirp@>=2.0.0 <3.0.0", 1056 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz" 1057 | }, 1058 | "regex-cache": { 1059 | "version": "0.4.3", 1060 | "from": "regex-cache@>=0.4.2 <0.5.0", 1061 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz" 1062 | }, 1063 | "registry-auth-token": { 1064 | "version": "3.1.0", 1065 | "from": "registry-auth-token@>=3.0.1 <4.0.0", 1066 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.1.0.tgz" 1067 | }, 1068 | "registry-url": { 1069 | "version": "3.1.0", 1070 | "from": "registry-url@>=3.0.3 <4.0.0", 1071 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz" 1072 | }, 1073 | "repeat-element": { 1074 | "version": "1.1.2", 1075 | "from": "repeat-element@>=1.1.2 <2.0.0", 1076 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" 1077 | }, 1078 | "repeat-string": { 1079 | "version": "1.6.1", 1080 | "from": "repeat-string@>=1.5.2 <2.0.0", 1081 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" 1082 | }, 1083 | "repeating": { 1084 | "version": "2.0.1", 1085 | "from": "repeating@>=2.0.0 <3.0.0", 1086 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" 1087 | }, 1088 | "restore-cursor": { 1089 | "version": "1.0.1", 1090 | "from": "restore-cursor@>=1.0.1 <2.0.0", 1091 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" 1092 | }, 1093 | "right-align": { 1094 | "version": "0.1.3", 1095 | "from": "right-align@>=0.1.1 <0.2.0", 1096 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" 1097 | }, 1098 | "rimraf": { 1099 | "version": "2.5.4", 1100 | "from": "rimraf@>=2.4.4 <3.0.0", 1101 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" 1102 | }, 1103 | "ripemd160": { 1104 | "version": "0.2.0", 1105 | "from": "ripemd160@0.2.0", 1106 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz" 1107 | }, 1108 | "rxjs": { 1109 | "version": "5.0.0-rc.1", 1110 | "from": "rxjs@5.0.0-rc.1", 1111 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.0.0-rc.1.tgz" 1112 | }, 1113 | "semver": { 1114 | "version": "5.3.0", 1115 | "from": "semver@>=5.0.1 <6.0.0", 1116 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" 1117 | }, 1118 | "semver-diff": { 1119 | "version": "2.1.0", 1120 | "from": "semver-diff@>=2.0.0 <3.0.0", 1121 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz" 1122 | }, 1123 | "set-immediate-shim": { 1124 | "version": "1.0.1", 1125 | "from": "set-immediate-shim@>=1.0.1 <2.0.0", 1126 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" 1127 | }, 1128 | "sha.js": { 1129 | "version": "2.2.6", 1130 | "from": "sha.js@2.2.6", 1131 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz" 1132 | }, 1133 | "slice-ansi": { 1134 | "version": "0.0.4", 1135 | "from": "slice-ansi@0.0.4", 1136 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" 1137 | }, 1138 | "slide": { 1139 | "version": "1.1.6", 1140 | "from": "slide@>=1.1.5 <2.0.0", 1141 | "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz" 1142 | }, 1143 | "sort-keys": { 1144 | "version": "1.1.2", 1145 | "from": "sort-keys@>=1.0.0 <2.0.0", 1146 | "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" 1147 | }, 1148 | "source-list-map": { 1149 | "version": "0.1.6", 1150 | "from": "source-list-map@>=0.1.0 <0.2.0", 1151 | "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.6.tgz" 1152 | }, 1153 | "source-map": { 1154 | "version": "0.5.6", 1155 | "from": "source-map@>=0.5.1 <0.6.0", 1156 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" 1157 | }, 1158 | "stream-browserify": { 1159 | "version": "1.0.0", 1160 | "from": "stream-browserify@>=1.0.0 <2.0.0", 1161 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz", 1162 | "dependencies": { 1163 | "isarray": { 1164 | "version": "0.0.1", 1165 | "from": "isarray@0.0.1", 1166 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" 1167 | }, 1168 | "readable-stream": { 1169 | "version": "1.1.14", 1170 | "from": "readable-stream@>=1.0.27-1 <2.0.0", 1171 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" 1172 | } 1173 | } 1174 | }, 1175 | "string_decoder": { 1176 | "version": "0.10.31", 1177 | "from": "string_decoder@>=0.10.0 <0.11.0", 1178 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" 1179 | }, 1180 | "string-template": { 1181 | "version": "1.0.0", 1182 | "from": "string-template@>=1.0.0 <2.0.0", 1183 | "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz" 1184 | }, 1185 | "string-width": { 1186 | "version": "1.0.2", 1187 | "from": "string-width@>=1.0.1 <2.0.0", 1188 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" 1189 | }, 1190 | "strip-ansi": { 1191 | "version": "3.0.1", 1192 | "from": "strip-ansi@>=3.0.0 <4.0.0", 1193 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" 1194 | }, 1195 | "strip-bom": { 1196 | "version": "2.0.0", 1197 | "from": "strip-bom@>=2.0.0 <3.0.0", 1198 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" 1199 | }, 1200 | "strip-json-comments": { 1201 | "version": "1.0.4", 1202 | "from": "strip-json-comments@>=1.0.4 <1.1.0", 1203 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" 1204 | }, 1205 | "supports-color": { 1206 | "version": "3.1.2", 1207 | "from": "supports-color@>=3.1.0 <4.0.0", 1208 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz" 1209 | }, 1210 | "symbol-observable": { 1211 | "version": "1.0.4", 1212 | "from": "symbol-observable@>=1.0.1 <2.0.0", 1213 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz" 1214 | }, 1215 | "tapable": { 1216 | "version": "0.1.10", 1217 | "from": "tapable@>=0.1.8 <0.2.0", 1218 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz" 1219 | }, 1220 | "thenify": { 1221 | "version": "3.2.1", 1222 | "from": "thenify@>=3.1.0 <4.0.0", 1223 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.2.1.tgz" 1224 | }, 1225 | "throat": { 1226 | "version": "3.0.0", 1227 | "from": "throat@>=3.0.0 <4.0.0", 1228 | "resolved": "https://registry.npmjs.org/throat/-/throat-3.0.0.tgz" 1229 | }, 1230 | "throwback": { 1231 | "version": "1.1.1", 1232 | "from": "throwback@>=1.1.0 <2.0.0", 1233 | "resolved": "https://registry.npmjs.org/throwback/-/throwback-1.1.1.tgz" 1234 | }, 1235 | "timed-out": { 1236 | "version": "3.0.0", 1237 | "from": "timed-out@>=3.0.0 <4.0.0", 1238 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.0.0.tgz" 1239 | }, 1240 | "timers-browserify": { 1241 | "version": "1.4.2", 1242 | "from": "timers-browserify@>=1.0.1 <2.0.0", 1243 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz" 1244 | }, 1245 | "touch": { 1246 | "version": "1.0.0", 1247 | "from": "touch@>=1.0.0 <2.0.0", 1248 | "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz" 1249 | }, 1250 | "tough-cookie": { 1251 | "version": "2.3.2", 1252 | "from": "tough-cookie@>=2.0.0 <3.0.0", 1253 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz" 1254 | }, 1255 | "tty-browserify": { 1256 | "version": "0.0.0", 1257 | "from": "tty-browserify@0.0.0", 1258 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" 1259 | }, 1260 | "typedarray": { 1261 | "version": "0.0.6", 1262 | "from": "typedarray@>=0.0.5 <0.1.0", 1263 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" 1264 | }, 1265 | "typescript": { 1266 | "version": "2.0.7", 1267 | "from": "typescript@>=2.0.7 <3.0.0", 1268 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.0.7.tgz" 1269 | }, 1270 | "typings-core": { 1271 | "version": "1.6.1", 1272 | "from": "typings-core@>=1.6.1 <2.0.0", 1273 | "resolved": "https://registry.npmjs.org/typings-core/-/typings-core-1.6.1.tgz" 1274 | }, 1275 | "uglify-js": { 1276 | "version": "2.6.4", 1277 | "from": "uglify-js@>=2.6.0 <2.7.0", 1278 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", 1279 | "dependencies": { 1280 | "async": { 1281 | "version": "0.2.10", 1282 | "from": "async@>=0.2.6 <0.3.0", 1283 | "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" 1284 | } 1285 | } 1286 | }, 1287 | "uglify-to-browserify": { 1288 | "version": "1.0.2", 1289 | "from": "uglify-to-browserify@>=1.0.0 <1.1.0", 1290 | "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" 1291 | }, 1292 | "unc-path-regex": { 1293 | "version": "0.1.2", 1294 | "from": "unc-path-regex@>=0.1.0 <0.2.0", 1295 | "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" 1296 | }, 1297 | "unzip-response": { 1298 | "version": "1.0.2", 1299 | "from": "unzip-response@>=1.0.2 <2.0.0", 1300 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz" 1301 | }, 1302 | "update-notifier": { 1303 | "version": "1.0.2", 1304 | "from": "update-notifier@>=1.0.0 <2.0.0", 1305 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.2.tgz" 1306 | }, 1307 | "url": { 1308 | "version": "0.10.3", 1309 | "from": "url@>=0.10.1 <0.11.0", 1310 | "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", 1311 | "dependencies": { 1312 | "punycode": { 1313 | "version": "1.3.2", 1314 | "from": "punycode@1.3.2", 1315 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" 1316 | } 1317 | } 1318 | }, 1319 | "url-parse-lax": { 1320 | "version": "1.0.0", 1321 | "from": "url-parse-lax@>=1.0.0 <2.0.0", 1322 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz" 1323 | }, 1324 | "util": { 1325 | "version": "0.10.3", 1326 | "from": "util@>=0.10.3 <0.11.0", 1327 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", 1328 | "dependencies": { 1329 | "inherits": { 1330 | "version": "2.0.1", 1331 | "from": "inherits@2.0.1", 1332 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 1333 | } 1334 | } 1335 | }, 1336 | "util-deprecate": { 1337 | "version": "1.0.2", 1338 | "from": "util-deprecate@>=1.0.1 <1.1.0", 1339 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1340 | }, 1341 | "uuid": { 1342 | "version": "2.0.3", 1343 | "from": "uuid@>=2.0.1 <3.0.0", 1344 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz" 1345 | }, 1346 | "vm-browserify": { 1347 | "version": "0.0.4", 1348 | "from": "vm-browserify@0.0.4", 1349 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz" 1350 | }, 1351 | "watchpack": { 1352 | "version": "0.2.9", 1353 | "from": "watchpack@>=0.2.1 <0.3.0", 1354 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz", 1355 | "dependencies": { 1356 | "async": { 1357 | "version": "0.9.2", 1358 | "from": "async@>=0.9.0 <0.10.0", 1359 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" 1360 | } 1361 | } 1362 | }, 1363 | "wcwidth": { 1364 | "version": "1.0.1", 1365 | "from": "wcwidth@>=1.0.0 <2.0.0", 1366 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" 1367 | }, 1368 | "webpack-core": { 1369 | "version": "0.6.8", 1370 | "from": "webpack-core@>=0.6.0 <0.7.0", 1371 | "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.8.tgz", 1372 | "dependencies": { 1373 | "source-map": { 1374 | "version": "0.4.4", 1375 | "from": "source-map@>=0.4.1 <0.5.0", 1376 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" 1377 | } 1378 | } 1379 | }, 1380 | "widest-line": { 1381 | "version": "1.0.0", 1382 | "from": "widest-line@>=1.0.0 <2.0.0", 1383 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz" 1384 | }, 1385 | "window-size": { 1386 | "version": "0.1.0", 1387 | "from": "window-size@0.1.0", 1388 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" 1389 | }, 1390 | "wordwrap": { 1391 | "version": "0.0.3", 1392 | "from": "wordwrap@>=0.0.2 <0.1.0", 1393 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" 1394 | }, 1395 | "wrappy": { 1396 | "version": "1.0.2", 1397 | "from": "wrappy@>=1.0.0 <2.0.0", 1398 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 1399 | }, 1400 | "write-file-atomic": { 1401 | "version": "1.2.0", 1402 | "from": "write-file-atomic@>=1.1.2 <2.0.0", 1403 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.2.0.tgz" 1404 | }, 1405 | "xdg-basedir": { 1406 | "version": "2.0.0", 1407 | "from": "xdg-basedir@>=2.0.0 <3.0.0", 1408 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz" 1409 | }, 1410 | "xtend": { 1411 | "version": "4.0.1", 1412 | "from": "xtend@>=4.0.1 <5.0.0", 1413 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" 1414 | }, 1415 | "yargs": { 1416 | "version": "3.10.0", 1417 | "from": "yargs@>=3.10.0 <3.11.0", 1418 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" 1419 | }, 1420 | "zip-object": { 1421 | "version": "0.1.0", 1422 | "from": "zip-object@>=0.1.0 <0.2.0", 1423 | "resolved": "https://registry.npmjs.org/zip-object/-/zip-object-0.1.0.tgz" 1424 | } 1425 | } 1426 | } 1427 | --------------------------------------------------------------------------------