├── 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 |
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 |
--------------------------------------------------------------------------------