Browse Source

add eslint

Paul 6 years ago
parent
commit
76d47744dd
4 changed files with 393 additions and 42 deletions
  1. 14
    0
      .eslintrc.js
  2. 4
    0
      package.json
  3. 34
    26
      src/client.ts
  4. 341
    16
      yarn.lock

+ 14
- 0
.eslintrc.js View File

1
+module.exports = {
2
+    "parser": "@typescript-eslint/parser",
3
+    "plugins": ["@typescript-eslint"],
4
+    "env": {
5
+        "browser": true,
6
+        "es6": true
7
+    },
8
+    "extends": [
9
+      "plugin:@typescript-eslint/recommended",
10
+      "prettier",
11
+      "prettier/@typescript-eslint"
12
+    ],
13
+    "rules": {}
14
+};

+ 4
- 0
package.json View File

32
     "@types/crypto-js": "^3.1.43",
32
     "@types/crypto-js": "^3.1.43",
33
     "@types/jest": "^24.0.11",
33
     "@types/jest": "^24.0.11",
34
     "@types/node-int64": "^0.4.29",
34
     "@types/node-int64": "^0.4.29",
35
+    "@typescript-eslint/eslint-plugin": "^1.7.0",
36
+    "@typescript-eslint/parser": "^1.7.0",
35
     "babel-core": "^6.26.3",
37
     "babel-core": "^6.26.3",
36
     "babel-loader": "^8.0.5",
38
     "babel-loader": "^8.0.5",
37
     "babel-preset-env": "^1.7.0",
39
     "babel-preset-env": "^1.7.0",
40
+    "eslint": "^5.16.0",
41
+    "eslint-config-prettier": "^4.2.0",
38
     "html-webpack-plugin": "^3.2.0",
42
     "html-webpack-plugin": "^3.2.0",
39
     "jest": "^24.5.0",
43
     "jest": "^24.5.0",
40
     "ts-jest": "^24.0.0",
44
     "ts-jest": "^24.0.0",

+ 34
- 26
src/client.ts View File

21
    * @param url websocket链接地址
21
    * @param url websocket链接地址
22
    * @param readyStateCallback 链接状态回调,可以处理onOpen、onClose、onError
22
    * @param readyStateCallback 链接状态回调,可以处理onOpen、onClose、onError
23
    */
23
    */
24
-  constructor(url: string, readyStateCallback: ReadyStateCallback) {
24
+  public constructor(url: string, readyStateCallback: ReadyStateCallback) {
25
     this.listeners = new Map<number, (data: string) => void>();
25
     this.listeners = new Map<number, (data: string) => void>();
26
     this.requestHeader = '';
26
     this.requestHeader = '';
27
     this.requestHeader = '';
27
     this.requestHeader = '';
37
    * @param param 请求参数,比如{"hello":"world"}
37
    * @param param 请求参数,比如{"hello":"world"}
38
    * @param requestCallback 请求状态回调
38
    * @param requestCallback 请求状态回调
39
    */
39
    */
40
-  public ping(param: any, requestCallback: RequestCallback) {
40
+  public ping(param: any, requestCallback: RequestCallback): void {
41
     if (this.socket.readyState !== this.socket.OPEN) {
41
     if (this.socket.readyState !== this.socket.OPEN) {
42
       throw new Error('asyncSend: connection refuse');
42
       throw new Error('asyncSend: connection refuse');
43
     }
43
     }
71
    * @param param 请求参数,比如{"hello":"world"}
71
    * @param param 请求参数,比如{"hello":"world"}
72
    * @param callback 请求状态回调处理
72
    * @param callback 请求状态回调处理
73
    */
73
    */
74
-  public asyncSend(operator: string, param: any, callback: RequestCallback) {
74
+  public asyncSend(
75
+    operator: string,
76
+    param: any,
77
+    callback: RequestCallback,
78
+  ): void {
75
     console.info('websocket send data', operator, this.requestHeader, param);
79
     console.info('websocket send data', operator, this.requestHeader, param);
76
 
80
 
77
     if (this.socket.readyState !== this.socket.OPEN) {
81
     if (this.socket.readyState !== this.socket.OPEN) {
82
 
86
 
83
     const sequence = new Date().getTime();
87
     const sequence = new Date().getTime();
84
     const listener = Utils.crc32(operator) + sequence;
88
     const listener = Utils.crc32(operator) + sequence;
85
-    this.listeners.set(listener, (data: string) => {
86
-      const code = this.getResponseProperty('code');
87
-      if (code !== '') {
88
-        const message = this.getResponseProperty('message');
89
-        callback.onError(Number(code), message);
90
-      } else {
91
-        callback.onSuccess(data);
92
-      }
89
+    this.listeners.set(
90
+      listener,
91
+      (data: string): void => {
92
+        const code = this.getResponseProperty('code');
93
+        if (code !== '') {
94
+          const message = this.getResponseProperty('message');
95
+          callback.onError(Number(code), message);
96
+        } else {
97
+          callback.onSuccess(data);
98
+        }
93
 
99
 
94
-      callback.onEnd();
100
+        callback.onEnd();
95
 
101
 
96
-      delete this.listeners[listener];
97
-    });
102
+        delete this.listeners[listener];
103
+      },
104
+    );
98
 
105
 
99
     const p = new Packet();
106
     const p = new Packet();
100
     this.send(
107
     this.send(
117
     operator: string,
124
     operator: string,
118
     param: any,
125
     param: any,
119
     callback: RequestCallback,
126
     callback: RequestCallback,
120
-  ) {
127
+  ): Promise<void> {
121
     await this.asyncSend(operator, param, callback);
128
     await this.asyncSend(operator, param, callback);
122
   }
129
   }
123
 
130
 
170
    * @param key 属性名
177
    * @param key 属性名
171
    * @param value 属性值
178
    * @param value 属性值
172
    */
179
    */
173
-  public setRequestProperty(key: string, value: string) {
180
+  public setRequestProperty(key: string, value: string): void {
174
     let v = this.getRequestProperty(key);
181
     let v = this.getRequestProperty(key);
175
 
182
 
176
     this.requestHeader = this.requestHeader.replace(key + '=' + v + ';', '');
183
     this.requestHeader = this.requestHeader.replace(key + '=' + v + ';', '');
200
    * @param key 属性名
207
    * @param key 属性名
201
    * @param value 属性值
208
    * @param value 属性值
202
    */
209
    */
203
-  public setResponseProperty(key: string, value: string) {
210
+  public setResponseProperty(key: string, value: string): void {
204
     let v = this.getResponseProperty(key);
211
     let v = this.getResponseProperty(key);
205
 
212
 
206
     this.responseHeader = this.responseHeader.replace(key + '=' + v + ';', '');
213
     this.responseHeader = this.responseHeader.replace(key + '=' + v + ';', '');
234
 
241
 
235
     ws.binaryType = 'blob';
242
     ws.binaryType = 'blob';
236
 
243
 
237
-    ws.onopen = (ev) => {
244
+    ws.onopen = (ev): void => {
238
       this.reconnectTimes = 0;
245
       this.reconnectTimes = 0;
239
 
246
 
240
       readyStateCallback.onOpen(ev);
247
       readyStateCallback.onOpen(ev);
241
     };
248
     };
242
 
249
 
243
-    ws.onclose = (ev) => {
250
+    ws.onclose = (ev): void => {
244
       this.reconnect();
251
       this.reconnect();
245
 
252
 
246
       readyStateCallback.onClose(ev);
253
       readyStateCallback.onClose(ev);
247
     };
254
     };
248
 
255
 
249
-    ws.onerror = (ev) => {
256
+    ws.onerror = (ev): void => {
250
       this.reconnect();
257
       this.reconnect();
251
 
258
 
252
       readyStateCallback.onError(ev);
259
       readyStateCallback.onError(ev);
253
     };
260
     };
254
 
261
 
255
-    ws.onmessage = (ev) => {
262
+    ws.onmessage = (ev): void => {
256
       if (ev.data instanceof Blob) {
263
       if (ev.data instanceof Blob) {
257
         let reader = new FileReader();
264
         let reader = new FileReader();
258
         reader.readAsArrayBuffer(ev.data);
265
         reader.readAsArrayBuffer(ev.data);
259
-        reader.onload = () => {
266
+        reader.onload = (): void => {
260
           try {
267
           try {
261
             let packet = new Packet().unPack(reader.result);
268
             let packet = new Packet().unPack(reader.result);
262
             let packetLength = packet.headerLength + packet.bodyLength + 20;
269
             let packetLength = packet.headerLength + packet.bodyLength + 20;
271
               }
278
               }
272
 
279
 
273
               this.responseHeader = packet.header;
280
               this.responseHeader = packet.header;
274
-              (<(data: string) => void>this.listeners.get(operator))(
281
+
282
+              (this.listeners.get(operator) as (data: string) => void)(
275
                 JSON.parse(packet.body),
283
                 JSON.parse(packet.body),
276
               );
284
               );
277
             }
285
             }
294
   /**
302
   /**
295
    * 断线重连
303
    * 断线重连
296
    */
304
    */
297
-  private reconnect() {
305
+  private reconnect(): void {
298
     if (!this.reconnectLock) {
306
     if (!this.reconnectLock) {
299
       this.reconnectLock = true;
307
       this.reconnectLock = true;
300
       console.info('websocket reconnect in ' + this.reconnectTimes + 's');
308
       console.info('websocket reconnect in ' + this.reconnectTimes + 's');
301
       // 尝试重连
309
       // 尝试重连
302
-      setTimeout(() => {
310
+      setTimeout((): void => {
303
         this.reconnectTimes++;
311
         this.reconnectTimes++;
304
         this.socket = this.connect();
312
         this.socket = this.connect();
305
         this.reconnectLock = false;
313
         this.reconnectLock = false;
311
    * 向服务端发送数据请求
319
    * 向服务端发送数据请求
312
    * @param data 向服务端传送的数据
320
    * @param data 向服务端传送的数据
313
    */
321
    */
314
-  private send(data: ArrayBuffer) {
322
+  private send(data: ArrayBuffer): void {
315
     if (this.socket.readyState !== this.socket.OPEN) {
323
     if (this.socket.readyState !== this.socket.OPEN) {
316
       console.error('WebSocket is already in CLOSING or CLOSED state.');
324
       console.error('WebSocket is already in CLOSING or CLOSED state.');
317
       return;
325
       return;

+ 341
- 16
yarn.lock View File

911
   version "12.0.10"
911
   version "12.0.10"
912
   resolved "http://registry.npm.taobao.org/@types/yargs/download/@types/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67"
912
   resolved "http://registry.npm.taobao.org/@types/yargs/download/@types/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67"
913
 
913
 
914
+"@typescript-eslint/eslint-plugin@^1.7.0":
915
+  version "1.7.0"
916
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.7.0.tgz#570e45dc84fb97852e363f1e00f47e604a0b8bcc"
917
+  dependencies:
918
+    "@typescript-eslint/parser" "1.7.0"
919
+    "@typescript-eslint/typescript-estree" "1.7.0"
920
+    eslint-utils "^1.3.1"
921
+    regexpp "^2.0.1"
922
+    requireindex "^1.2.0"
923
+    tsutils "^3.7.0"
924
+
925
+"@typescript-eslint/parser@1.7.0", "@typescript-eslint/parser@^1.7.0":
926
+  version "1.7.0"
927
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.7.0.tgz#c3ea0d158349ceefbb6da95b5b09924b75357851"
928
+  dependencies:
929
+    "@typescript-eslint/typescript-estree" "1.7.0"
930
+    eslint-scope "^4.0.0"
931
+    eslint-visitor-keys "^1.0.0"
932
+
933
+"@typescript-eslint/typescript-estree@1.7.0":
934
+  version "1.7.0"
935
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.7.0.tgz#59ec02f5371964da1cc679dba7b878a417bc8c60"
936
+  dependencies:
937
+    lodash.unescape "4.0.1"
938
+    semver "5.5.0"
939
+
914
 "@webassemblyjs/ast@1.8.5":
940
 "@webassemblyjs/ast@1.8.5":
915
   version "1.8.5"
941
   version "1.8.5"
916
   resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
942
   resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
1073
     acorn "^6.0.1"
1099
     acorn "^6.0.1"
1074
     acorn-walk "^6.0.1"
1100
     acorn-walk "^6.0.1"
1075
 
1101
 
1102
+acorn-jsx@^5.0.0:
1103
+  version "5.0.1"
1104
+  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
1105
+
1076
 acorn-walk@^6.0.1:
1106
 acorn-walk@^6.0.1:
1077
   version "6.1.1"
1107
   version "6.1.1"
1078
   resolved "http://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
1108
   resolved "http://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
1081
   version "5.7.3"
1111
   version "5.7.3"
1082
   resolved "http://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
1112
   resolved "http://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
1083
 
1113
 
1084
-acorn@^6.0.1, acorn@^6.0.5:
1114
+acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7:
1085
   version "6.1.1"
1115
   version "6.1.1"
1086
   resolved "http://registry.npm.taobao.org/acorn/download/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
1116
   resolved "http://registry.npm.taobao.org/acorn/download/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
1087
 
1117
 
1093
   version "3.4.0"
1123
   version "3.4.0"
1094
   resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d"
1124
   resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d"
1095
 
1125
 
1096
-ajv@^6.1.0, ajv@^6.5.5:
1126
+ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1:
1097
   version "6.10.0"
1127
   version "6.10.0"
1098
   resolved "http://registry.npm.taobao.org/ajv/download/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
1128
   resolved "http://registry.npm.taobao.org/ajv/download/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
1099
   dependencies:
1129
   dependencies:
1106
   version "3.2.4"
1136
   version "3.2.4"
1107
   resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
1137
   resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
1108
 
1138
 
1109
-ansi-escapes@^3.0.0:
1139
+ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
1110
   version "3.2.0"
1140
   version "3.2.0"
1111
   resolved "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
1141
   resolved "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
1112
 
1142
 
2074
     strip-ansi "^3.0.0"
2104
     strip-ansi "^3.0.0"
2075
     supports-color "^2.0.0"
2105
     supports-color "^2.0.0"
2076
 
2106
 
2077
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2:
2107
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
2078
   version "2.4.2"
2108
   version "2.4.2"
2079
   resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
2109
   resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
2080
   dependencies:
2110
   dependencies:
2082
     escape-string-regexp "^1.0.5"
2112
     escape-string-regexp "^1.0.5"
2083
     supports-color "^5.3.0"
2113
     supports-color "^5.3.0"
2084
 
2114
 
2115
+chardet@^0.7.0:
2116
+  version "0.7.0"
2117
+  resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
2118
+
2085
 chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.5:
2119
 chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.5:
2086
   version "2.1.5"
2120
   version "2.1.5"
2087
   resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d"
2121
   resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d"
2136
   dependencies:
2170
   dependencies:
2137
     source-map "~0.6.0"
2171
     source-map "~0.6.0"
2138
 
2172
 
2173
+cli-cursor@^2.1.0:
2174
+  version "2.1.0"
2175
+  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
2176
+  dependencies:
2177
+    restore-cursor "^2.0.0"
2178
+
2179
+cli-width@^2.0.0:
2180
+  version "2.2.0"
2181
+  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
2182
+
2139
 cliui@^4.0.0:
2183
 cliui@^4.0.0:
2140
   version "4.1.0"
2184
   version "4.1.0"
2141
   resolved "http://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
2185
   resolved "http://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
2425
   dependencies:
2469
   dependencies:
2426
     ms "^2.1.1"
2470
     ms "^2.1.1"
2427
 
2471
 
2428
-debug@^4.1.0, debug@^4.1.1:
2472
+debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
2429
   version "4.1.1"
2473
   version "4.1.1"
2430
   resolved "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
2474
   resolved "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
2431
   dependencies:
2475
   dependencies:
2575
   dependencies:
2619
   dependencies:
2576
     buffer-indexof "^1.0.0"
2620
     buffer-indexof "^1.0.0"
2577
 
2621
 
2622
+doctrine@^3.0.0:
2623
+  version "3.0.0"
2624
+  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
2625
+  dependencies:
2626
+    esutils "^2.0.2"
2627
+
2578
 dom-converter@^0.2:
2628
 dom-converter@^0.2:
2579
   version "0.2.0"
2629
   version "0.2.0"
2580
   resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
2630
   resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
2658
     minimalistic-assert "^1.0.0"
2708
     minimalistic-assert "^1.0.0"
2659
     minimalistic-crypto-utils "^1.0.0"
2709
     minimalistic-crypto-utils "^1.0.0"
2660
 
2710
 
2711
+emoji-regex@^7.0.1:
2712
+  version "7.0.3"
2713
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
2714
+
2661
 emojis-list@^2.0.0:
2715
 emojis-list@^2.0.0:
2662
   version "2.1.0"
2716
   version "2.1.0"
2663
   resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
2717
   resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
2734
   optionalDependencies:
2788
   optionalDependencies:
2735
     source-map "~0.6.1"
2789
     source-map "~0.6.1"
2736
 
2790
 
2737
-eslint-scope@^4.0.0:
2791
+eslint-config-prettier@^4.2.0:
2792
+  version "4.2.0"
2793
+  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.2.0.tgz#70b946b629cd0e3e98233fd9ecde4cb9778de96c"
2794
+  dependencies:
2795
+    get-stdin "^6.0.0"
2796
+
2797
+eslint-scope@^4.0.0, eslint-scope@^4.0.3:
2738
   version "4.0.3"
2798
   version "4.0.3"
2739
   resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
2799
   resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
2740
   dependencies:
2800
   dependencies:
2741
     esrecurse "^4.1.0"
2801
     esrecurse "^4.1.0"
2742
     estraverse "^4.1.1"
2802
     estraverse "^4.1.1"
2743
 
2803
 
2804
+eslint-utils@^1.3.1:
2805
+  version "1.3.1"
2806
+  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
2807
+
2808
+eslint-visitor-keys@^1.0.0:
2809
+  version "1.0.0"
2810
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
2811
+
2812
+eslint@^5.16.0:
2813
+  version "5.16.0"
2814
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea"
2815
+  dependencies:
2816
+    "@babel/code-frame" "^7.0.0"
2817
+    ajv "^6.9.1"
2818
+    chalk "^2.1.0"
2819
+    cross-spawn "^6.0.5"
2820
+    debug "^4.0.1"
2821
+    doctrine "^3.0.0"
2822
+    eslint-scope "^4.0.3"
2823
+    eslint-utils "^1.3.1"
2824
+    eslint-visitor-keys "^1.0.0"
2825
+    espree "^5.0.1"
2826
+    esquery "^1.0.1"
2827
+    esutils "^2.0.2"
2828
+    file-entry-cache "^5.0.1"
2829
+    functional-red-black-tree "^1.0.1"
2830
+    glob "^7.1.2"
2831
+    globals "^11.7.0"
2832
+    ignore "^4.0.6"
2833
+    import-fresh "^3.0.0"
2834
+    imurmurhash "^0.1.4"
2835
+    inquirer "^6.2.2"
2836
+    js-yaml "^3.13.0"
2837
+    json-stable-stringify-without-jsonify "^1.0.1"
2838
+    levn "^0.3.0"
2839
+    lodash "^4.17.11"
2840
+    minimatch "^3.0.4"
2841
+    mkdirp "^0.5.1"
2842
+    natural-compare "^1.4.0"
2843
+    optionator "^0.8.2"
2844
+    path-is-inside "^1.0.2"
2845
+    progress "^2.0.0"
2846
+    regexpp "^2.0.1"
2847
+    semver "^5.5.1"
2848
+    strip-ansi "^4.0.0"
2849
+    strip-json-comments "^2.0.1"
2850
+    table "^5.2.3"
2851
+    text-table "^0.2.0"
2852
+
2853
+espree@^5.0.1:
2854
+  version "5.0.1"
2855
+  resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
2856
+  dependencies:
2857
+    acorn "^6.0.7"
2858
+    acorn-jsx "^5.0.0"
2859
+    eslint-visitor-keys "^1.0.0"
2860
+
2744
 esprima@^3.1.3:
2861
 esprima@^3.1.3:
2745
   version "3.1.3"
2862
   version "3.1.3"
2746
   resolved "http://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
2863
   resolved "http://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
2749
   version "4.0.1"
2866
   version "4.0.1"
2750
   resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
2867
   resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
2751
 
2868
 
2869
+esquery@^1.0.1:
2870
+  version "1.0.1"
2871
+  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
2872
+  dependencies:
2873
+    estraverse "^4.0.0"
2874
+
2752
 esrecurse@^4.1.0:
2875
 esrecurse@^4.1.0:
2753
   version "4.2.1"
2876
   version "4.2.1"
2754
   resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
2877
   resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
2755
   dependencies:
2878
   dependencies:
2756
     estraverse "^4.1.0"
2879
     estraverse "^4.1.0"
2757
 
2880
 
2758
-estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
2881
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
2759
   version "4.2.0"
2882
   version "4.2.0"
2760
   resolved "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
2883
   resolved "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
2761
 
2884
 
2889
   version "3.0.2"
3012
   version "3.0.2"
2890
   resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
3013
   resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
2891
 
3014
 
3015
+external-editor@^3.0.3:
3016
+  version "3.0.3"
3017
+  resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27"
3018
+  dependencies:
3019
+    chardet "^0.7.0"
3020
+    iconv-lite "^0.4.24"
3021
+    tmp "^0.0.33"
3022
+
2892
 extglob@^2.0.4:
3023
 extglob@^2.0.4:
2893
   version "2.0.4"
3024
   version "2.0.4"
2894
   resolved "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
3025
   resolved "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
2944
   version "3.5.1"
3075
   version "3.5.1"
2945
   resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
3076
   resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
2946
 
3077
 
3078
+figures@^2.0.0:
3079
+  version "2.0.0"
3080
+  resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
3081
+  dependencies:
3082
+    escape-string-regexp "^1.0.5"
3083
+
3084
+file-entry-cache@^5.0.1:
3085
+  version "5.0.1"
3086
+  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
3087
+  dependencies:
3088
+    flat-cache "^2.0.1"
3089
+
2947
 fileset@^2.0.3:
3090
 fileset@^2.0.3:
2948
   version "2.0.3"
3091
   version "2.0.3"
2949
   resolved "http://registry.npm.taobao.org/fileset/download/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
3092
   resolved "http://registry.npm.taobao.org/fileset/download/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
2995
     micromatch "^3.0.4"
3138
     micromatch "^3.0.4"
2996
     resolve-dir "^1.0.1"
3139
     resolve-dir "^1.0.1"
2997
 
3140
 
3141
+flat-cache@^2.0.1:
3142
+  version "2.0.1"
3143
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
3144
+  dependencies:
3145
+    flatted "^2.0.0"
3146
+    rimraf "2.6.3"
3147
+    write "1.0.3"
3148
+
3149
+flatted@^2.0.0:
3150
+  version "2.0.0"
3151
+  resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916"
3152
+
2998
 flush-write-stream@^1.0.0:
3153
 flush-write-stream@^1.0.0:
2999
   version "1.1.1"
3154
   version "1.1.1"
3000
   resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
3155
   resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
3079
   version "1.1.1"
3234
   version "1.1.1"
3080
   resolved "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
3235
   resolved "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
3081
 
3236
 
3237
+functional-red-black-tree@^1.0.1:
3238
+  version "1.0.1"
3239
+  resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
3240
+
3082
 gauge@~2.7.3:
3241
 gauge@~2.7.3:
3083
   version "2.7.4"
3242
   version "2.7.4"
3084
   resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
3243
   resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
3096
   version "1.0.3"
3255
   version "1.0.3"
3097
   resolved "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
3256
   resolved "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
3098
 
3257
 
3258
+get-stdin@^6.0.0:
3259
+  version "6.0.0"
3260
+  resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
3261
+
3099
 get-stream@^4.0.0:
3262
 get-stream@^4.0.0:
3100
   version "4.1.0"
3263
   version "4.1.0"
3101
   resolved "http://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
3264
   resolved "http://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
3163
   version "11.11.0"
3326
   version "11.11.0"
3164
   resolved "http://registry.npm.taobao.org/globals/download/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e"
3327
   resolved "http://registry.npm.taobao.org/globals/download/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e"
3165
 
3328
 
3329
+globals@^11.7.0:
3330
+  version "11.12.0"
3331
+  resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
3332
+
3166
 globals@^9.18.0:
3333
 globals@^9.18.0:
3167
   version "9.18.0"
3334
   version "9.18.0"
3168
   resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
3335
   resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
3410
   dependencies:
3577
   dependencies:
3411
     safer-buffer ">= 2.1.2 < 3"
3578
     safer-buffer ">= 2.1.2 < 3"
3412
 
3579
 
3413
-iconv-lite@0.4.24, iconv-lite@^0.4.4:
3580
+iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
3414
   version "0.4.24"
3581
   version "0.4.24"
3415
   resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
3582
   resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
3416
   dependencies:
3583
   dependencies:
3430
   dependencies:
3597
   dependencies:
3431
     minimatch "^3.0.4"
3598
     minimatch "^3.0.4"
3432
 
3599
 
3600
+ignore@^4.0.6:
3601
+  version "4.0.6"
3602
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
3603
+
3604
+import-fresh@^3.0.0:
3605
+  version "3.0.0"
3606
+  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390"
3607
+  dependencies:
3608
+    parent-module "^1.0.0"
3609
+    resolve-from "^4.0.0"
3610
+
3433
 import-local@^2.0.0:
3611
 import-local@^2.0.0:
3434
   version "2.0.0"
3612
   version "2.0.0"
3435
   resolved "http://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
3613
   resolved "http://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
3464
   version "1.3.5"
3642
   version "1.3.5"
3465
   resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
3643
   resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
3466
 
3644
 
3645
+inquirer@^6.2.2:
3646
+  version "6.3.1"
3647
+  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7"
3648
+  dependencies:
3649
+    ansi-escapes "^3.2.0"
3650
+    chalk "^2.4.2"
3651
+    cli-cursor "^2.1.0"
3652
+    cli-width "^2.0.0"
3653
+    external-editor "^3.0.3"
3654
+    figures "^2.0.0"
3655
+    lodash "^4.17.11"
3656
+    mute-stream "0.0.7"
3657
+    run-async "^2.2.0"
3658
+    rxjs "^6.4.0"
3659
+    string-width "^2.1.0"
3660
+    strip-ansi "^5.1.0"
3661
+    through "^2.3.6"
3662
+
3467
 internal-ip@^4.2.0:
3663
 internal-ip@^4.2.0:
3468
   version "4.3.0"
3664
   version "4.3.0"
3469
   resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
3665
   resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
3643
   dependencies:
3839
   dependencies:
3644
     isobject "^3.0.1"
3840
     isobject "^3.0.1"
3645
 
3841
 
3842
+is-promise@^2.1.0:
3843
+  version "2.1.0"
3844
+  resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
3845
+
3646
 is-regex@^1.0.4:
3846
 is-regex@^1.0.4:
3647
   version "1.0.4"
3847
   version "1.0.4"
3648
   resolved "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
3848
   resolved "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
4098
     argparse "^1.0.7"
4298
     argparse "^1.0.7"
4099
     esprima "^4.0.0"
4299
     esprima "^4.0.0"
4100
 
4300
 
4301
+js-yaml@^3.13.0:
4302
+  version "3.13.1"
4303
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
4304
+  dependencies:
4305
+    argparse "^1.0.7"
4306
+    esprima "^4.0.0"
4307
+
4101
 jsbn@~0.1.0:
4308
 jsbn@~0.1.0:
4102
   version "0.1.1"
4309
   version "0.1.1"
4103
   resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
4310
   resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
4157
   version "0.2.3"
4364
   version "0.2.3"
4158
   resolved "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
4365
   resolved "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
4159
 
4366
 
4367
+json-stable-stringify-without-jsonify@^1.0.1:
4368
+  version "1.0.1"
4369
+  resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
4370
+
4160
 json-stringify-safe@~5.0.1:
4371
 json-stringify-safe@~5.0.1:
4161
   version "5.0.1"
4372
   version "5.0.1"
4162
   resolved "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
4373
   resolved "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
4232
   version "2.1.0"
4443
   version "2.1.0"
4233
   resolved "http://registry.npm.taobao.org/leven/download/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
4444
   resolved "http://registry.npm.taobao.org/leven/download/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
4234
 
4445
 
4235
-levn@~0.3.0:
4446
+levn@^0.3.0, levn@~0.3.0:
4236
   version "0.3.0"
4447
   version "0.3.0"
4237
   resolved "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
4448
   resolved "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
4238
   dependencies:
4449
   dependencies:
4280
   version "4.7.0"
4491
   version "4.7.0"
4281
   resolved "http://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
4492
   resolved "http://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
4282
 
4493
 
4494
+lodash.unescape@4.0.1:
4495
+  version "4.0.1"
4496
+  resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c"
4497
+
4283
 lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4:
4498
 lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4:
4284
   version "4.17.11"
4499
   version "4.17.11"
4285
   resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
4500
   resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
4441
   version "2.4.2"
4656
   version "2.4.2"
4442
   resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.2.tgz#ce5229a5e99ffc313abac806b482c10e7ba6ac78"
4657
   resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.2.tgz#ce5229a5e99ffc313abac806b482c10e7ba6ac78"
4443
 
4658
 
4659
+mimic-fn@^1.0.0:
4660
+  version "1.2.0"
4661
+  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
4662
+
4444
 mimic-fn@^2.0.0:
4663
 mimic-fn@^2.0.0:
4445
   version "2.0.0"
4664
   version "2.0.0"
4446
   resolved "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde"
4665
   resolved "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde"
4542
     dns-packet "^1.3.1"
4761
     dns-packet "^1.3.1"
4543
     thunky "^1.0.2"
4762
     thunky "^1.0.2"
4544
 
4763
 
4764
+mute-stream@0.0.7:
4765
+  version "0.0.7"
4766
+  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
4767
+
4545
 nan@^2.12.1:
4768
 nan@^2.12.1:
4546
   version "2.13.2"
4769
   version "2.13.2"
4547
   resolved "https://registry.npm.taobao.org/nan/download/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
4770
   resolved "https://registry.npm.taobao.org/nan/download/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
4788
   dependencies:
5011
   dependencies:
4789
     wrappy "1"
5012
     wrappy "1"
4790
 
5013
 
5014
+onetime@^2.0.0:
5015
+  version "2.0.1"
5016
+  resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
5017
+  dependencies:
5018
+    mimic-fn "^1.0.0"
5019
+
4791
 opn@^5.5.0:
5020
 opn@^5.5.0:
4792
   version "5.5.0"
5021
   version "5.5.0"
4793
   resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
5022
   resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
4801
     minimist "~0.0.1"
5030
     minimist "~0.0.1"
4802
     wordwrap "~0.0.2"
5031
     wordwrap "~0.0.2"
4803
 
5032
 
4804
-optionator@^0.8.1:
5033
+optionator@^0.8.1, optionator@^0.8.2:
4805
   version "0.8.2"
5034
   version "0.8.2"
4806
   resolved "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
5035
   resolved "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
4807
   dependencies:
5036
   dependencies:
4834
     lcid "^2.0.0"
5063
     lcid "^2.0.0"
4835
     mem "^4.0.0"
5064
     mem "^4.0.0"
4836
 
5065
 
4837
-os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
5066
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
4838
   version "1.0.2"
5067
   version "1.0.2"
4839
   resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
5068
   resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
4840
 
5069
 
4913
   dependencies:
5142
   dependencies:
4914
     no-case "^2.2.0"
5143
     no-case "^2.2.0"
4915
 
5144
 
5145
+parent-module@^1.0.0:
5146
+  version "1.0.1"
5147
+  resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
5148
+  dependencies:
5149
+    callsites "^3.0.0"
5150
+
4916
 parse-asn1@^5.0.0:
5151
 parse-asn1@^5.0.0:
4917
   version "5.1.4"
5152
   version "5.1.4"
4918
   resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
5153
   resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
5081
   version "0.11.10"
5316
   version "0.11.10"
5082
   resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
5317
   resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
5083
 
5318
 
5319
+progress@^2.0.0:
5320
+  version "2.0.3"
5321
+  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
5322
+
5084
 promise-inflight@^1.0.1:
5323
 promise-inflight@^1.0.1:
5085
   version "1.0.1"
5324
   version "1.0.1"
5086
   resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
5325
   resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
5299
   version "0.1.6"
5538
   version "0.1.6"
5300
   resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.6.tgz#84900fa12fdf428a2ac25f04300382a7c0148479"
5539
   resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.6.tgz#84900fa12fdf428a2ac25f04300382a7c0148479"
5301
 
5540
 
5541
+regexpp@^2.0.1:
5542
+  version "2.0.1"
5543
+  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
5544
+
5302
 regexpu-core@^2.0.0:
5545
 regexpu-core@^2.0.0:
5303
   version "2.0.0"
5546
   version "2.0.0"
5304
   resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
5547
   resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
5417
   version "1.0.1"
5660
   version "1.0.1"
5418
   resolved "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
5661
   resolved "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
5419
 
5662
 
5663
+requireindex@^1.2.0:
5664
+  version "1.2.0"
5665
+  resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef"
5666
+
5420
 requires-port@^1.0.0:
5667
 requires-port@^1.0.0:
5421
   version "1.0.0"
5668
   version "1.0.0"
5422
   resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
5669
   resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
5438
   version "3.0.0"
5685
   version "3.0.0"
5439
   resolved "http://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
5686
   resolved "http://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
5440
 
5687
 
5688
+resolve-from@^4.0.0:
5689
+  version "4.0.0"
5690
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
5691
+
5441
 resolve-url@^0.2.1:
5692
 resolve-url@^0.2.1:
5442
   version "0.2.1"
5693
   version "0.2.1"
5443
   resolved "http://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
5694
   resolved "http://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
5458
   dependencies:
5709
   dependencies:
5459
     path-parse "^1.0.6"
5710
     path-parse "^1.0.6"
5460
 
5711
 
5712
+restore-cursor@^2.0.0:
5713
+  version "2.0.0"
5714
+  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
5715
+  dependencies:
5716
+    onetime "^2.0.0"
5717
+    signal-exit "^3.0.2"
5718
+
5461
 ret@~0.1.10:
5719
 ret@~0.1.10:
5462
   version "0.1.15"
5720
   version "0.1.15"
5463
   resolved "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
5721
   resolved "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
5464
 
5722
 
5465
-rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
5723
+rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
5466
   version "2.6.3"
5724
   version "2.6.3"
5467
   resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
5725
   resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
5468
   dependencies:
5726
   dependencies:
5479
   version "4.8.4"
5737
   version "4.8.4"
5480
   resolved "http://registry.npm.taobao.org/rsvp/download/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911"
5738
   resolved "http://registry.npm.taobao.org/rsvp/download/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911"
5481
 
5739
 
5740
+run-async@^2.2.0:
5741
+  version "2.3.0"
5742
+  resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
5743
+  dependencies:
5744
+    is-promise "^2.1.0"
5745
+
5482
 run-queue@^1.0.0, run-queue@^1.0.3:
5746
 run-queue@^1.0.0, run-queue@^1.0.3:
5483
   version "1.0.3"
5747
   version "1.0.3"
5484
   resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
5748
   resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
5485
   dependencies:
5749
   dependencies:
5486
     aproba "^1.1.1"
5750
     aproba "^1.1.1"
5487
 
5751
 
5752
+rxjs@^6.4.0:
5753
+  version "6.5.2"
5754
+  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
5755
+  dependencies:
5756
+    tslib "^1.9.0"
5757
+
5488
 safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
5758
 safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
5489
   version "5.1.2"
5759
   version "5.1.2"
5490
   resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
5760
   resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
5539
   version "5.6.0"
5809
   version "5.6.0"
5540
   resolved "http://registry.npm.taobao.org/semver/download/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
5810
   resolved "http://registry.npm.taobao.org/semver/download/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
5541
 
5811
 
5812
+semver@5.5.0:
5813
+  version "5.5.0"
5814
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
5815
+
5542
 semver@^5.3.0, semver@^5.5.1, semver@^5.6.0:
5816
 semver@^5.3.0, semver@^5.5.1, semver@^5.6.0:
5543
   version "5.7.0"
5817
   version "5.7.0"
5544
   resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
5818
   resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
5657
   version "2.0.0"
5931
   version "2.0.0"
5658
   resolved "http://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
5932
   resolved "http://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
5659
 
5933
 
5934
+slice-ansi@^2.1.0:
5935
+  version "2.1.0"
5936
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
5937
+  dependencies:
5938
+    ansi-styles "^3.2.0"
5939
+    astral-regex "^1.0.0"
5940
+    is-fullwidth-code-point "^2.0.0"
5941
+
5660
 snapdragon-node@^2.0.1:
5942
 snapdragon-node@^2.0.1:
5661
   version "2.1.1"
5943
   version "2.1.1"
5662
   resolved "http://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
5944
   resolved "http://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
5887
     is-fullwidth-code-point "^1.0.0"
6169
     is-fullwidth-code-point "^1.0.0"
5888
     strip-ansi "^3.0.0"
6170
     strip-ansi "^3.0.0"
5889
 
6171
 
5890
-"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1:
6172
+"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
5891
   version "2.1.1"
6173
   version "2.1.1"
5892
   resolved "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
6174
   resolved "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
5893
   dependencies:
6175
   dependencies:
5894
     is-fullwidth-code-point "^2.0.0"
6176
     is-fullwidth-code-point "^2.0.0"
5895
     strip-ansi "^4.0.0"
6177
     strip-ansi "^4.0.0"
5896
 
6178
 
6179
+string-width@^3.0.0:
6180
+  version "3.1.0"
6181
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
6182
+  dependencies:
6183
+    emoji-regex "^7.0.1"
6184
+    is-fullwidth-code-point "^2.0.0"
6185
+    strip-ansi "^5.1.0"
6186
+
5897
 string_decoder@^1.0.0, string_decoder@^1.1.1:
6187
 string_decoder@^1.0.0, string_decoder@^1.1.1:
5898
   version "1.2.0"
6188
   version "1.2.0"
5899
   resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
6189
   resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
5918
   dependencies:
6208
   dependencies:
5919
     ansi-regex "^3.0.0"
6209
     ansi-regex "^3.0.0"
5920
 
6210
 
5921
-strip-ansi@^5.0.0:
6211
+strip-ansi@^5.0.0, strip-ansi@^5.1.0:
5922
   version "5.2.0"
6212
   version "5.2.0"
5923
   resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
6213
   resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
5924
   dependencies:
6214
   dependencies:
5932
   version "1.0.0"
6222
   version "1.0.0"
5933
   resolved "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
6223
   resolved "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
5934
 
6224
 
5935
-strip-json-comments@~2.0.1:
6225
+strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
5936
   version "2.0.1"
6226
   version "2.0.1"
5937
   resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
6227
   resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
5938
 
6228
 
5956
   version "3.2.2"
6246
   version "3.2.2"
5957
   resolved "http://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
6247
   resolved "http://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
5958
 
6248
 
6249
+table@^5.2.3:
6250
+  version "5.3.2"
6251
+  resolved "https://registry.yarnpkg.com/table/-/table-5.3.2.tgz#3aab56a41b2905bf66a6a006bd716fa1e78d4702"
6252
+  dependencies:
6253
+    ajv "^6.9.1"
6254
+    lodash "^4.17.11"
6255
+    slice-ansi "^2.1.0"
6256
+    string-width "^3.0.0"
6257
+
5959
 tapable@^1.0.0, tapable@^1.1.0:
6258
 tapable@^1.0.0, tapable@^1.1.0:
5960
   version "1.1.3"
6259
   version "1.1.3"
5961
   resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
6260
   resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
6002
     read-pkg-up "^4.0.0"
6301
     read-pkg-up "^4.0.0"
6003
     require-main-filename "^1.0.1"
6302
     require-main-filename "^1.0.1"
6004
 
6303
 
6304
+text-table@^0.2.0:
6305
+  version "0.2.0"
6306
+  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
6307
+
6005
 throat@^4.0.0:
6308
 throat@^4.0.0:
6006
   version "4.1.0"
6309
   version "4.1.0"
6007
   resolved "http://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
6310
   resolved "http://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
6013
     readable-stream "~2.3.6"
6316
     readable-stream "~2.3.6"
6014
     xtend "~4.0.1"
6317
     xtend "~4.0.1"
6015
 
6318
 
6319
+through@^2.3.6:
6320
+  version "2.3.8"
6321
+  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
6322
+
6016
 thunky@^1.0.2:
6323
 thunky@^1.0.2:
6017
   version "1.0.3"
6324
   version "1.0.3"
6018
   resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826"
6325
   resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826"
6023
   dependencies:
6330
   dependencies:
6024
     setimmediate "^1.0.4"
6331
     setimmediate "^1.0.4"
6025
 
6332
 
6333
+tmp@^0.0.33:
6334
+  version "0.0.33"
6335
+  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
6336
+  dependencies:
6337
+    os-tmpdir "~1.0.2"
6338
+
6026
 tmpl@1.0.x:
6339
 tmpl@1.0.x:
6027
   version "1.0.4"
6340
   version "1.0.4"
6028
   resolved "http://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
6341
   resolved "http://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
6103
     semver "^5.5"
6416
     semver "^5.5"
6104
     yargs-parser "10.x"
6417
     yargs-parser "10.x"
6105
 
6418
 
6106
-tslib@^1.9.0:
6419
+tslib@^1.8.1, tslib@^1.9.0:
6107
   version "1.9.3"
6420
   version "1.9.3"
6108
   resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
6421
   resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
6109
 
6422
 
6423
+tsutils@^3.7.0:
6424
+  version "3.10.0"
6425
+  resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.10.0.tgz#6f1c95c94606e098592b0dff06590cf9659227d6"
6426
+  dependencies:
6427
+    tslib "^1.8.1"
6428
+
6110
 tty-browserify@0.0.0:
6429
 tty-browserify@0.0.0:
6111
   version "0.0.0"
6430
   version "0.0.0"
6112
   resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
6431
   resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
6526
     imurmurhash "^0.1.4"
6845
     imurmurhash "^0.1.4"
6527
     signal-exit "^3.0.2"
6846
     signal-exit "^3.0.2"
6528
 
6847
 
6848
+write@1.0.3:
6849
+  version "1.0.3"
6850
+  resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
6851
+  dependencies:
6852
+    mkdirp "^0.5.1"
6853
+
6529
 ws@^5.2.0:
6854
 ws@^5.2.0:
6530
   version "5.2.2"
6855
   version "5.2.2"
6531
   resolved "http://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
6856
   resolved "http://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"