Authored by 周奇琪

Merge branch 'feature/report' into 'master'

fix



See merge request !11
  1 +phantomjs_cdnurl=http://npm.taobao.org/mirrors/phantomjs
  2 +registry=http://npm.yoho.cn
@@ -4,7 +4,7 @@ const Router = require('koa-router'); @@ -4,7 +4,7 @@ const Router = require('koa-router');
4 const SqlBuilder = require('../utils/sql-builder'); 4 const SqlBuilder = require('../utils/sql-builder');
5 const request = require('superagent'); 5 const request = require('superagent');
6 const _ = require('lodash'); 6 const _ = require('lodash');
7 -const alasql = require('alasql'); 7 +const jp = require('jsonpath');
8 const config = require('../../../config/config'); 8 const config = require('../../../config/config');
9 9
10 const endpoint = (server) => `http://${server.host}:${server.port}`; 10 const endpoint = (server) => `http://${server.host}:${server.port}`;
@@ -24,6 +24,12 @@ const APP_NAME = { @@ -24,6 +24,12 @@ const APP_NAME = {
24 h5: 'yohobuywap-node' 24 h5: 'yohobuywap-node'
25 }; 25 };
26 26
  27 +const TYPE = {
  28 + DOMContentLoaded: 0,
  29 + load: 0,
  30 + firstscreen: 0
  31 +};
  32 +
27 const profile_sql = { 33 const profile_sql = {
28 duration() { 34 duration() {
29 return SqlBuilder.of(TABLE.DURATION); 35 return SqlBuilder.of(TABLE.DURATION);
@@ -34,7 +40,7 @@ const profile_sql = { @@ -34,7 +40,7 @@ const profile_sql = {
34 }; 40 };
35 41
36 async function exec(server, sql) { 42 async function exec(server, sql) {
37 - console.log('influx query from ', `[${server}] `, 'sql =>' ,sql); 43 + console.log('influx query from ', `[${server}] [${DB_NAME}]`, 'sql =>', sql);
38 return request.get(`${server}/query`) 44 return request.get(`${server}/query`)
39 .query({ 45 .query({
40 q: sql, 46 q: sql,
@@ -49,7 +55,7 @@ async function exec(server, sql) { @@ -49,7 +55,7 @@ async function exec(server, sql) {
49 55
50 const APP = { 56 const APP = {
51 default: {field: '', op: '', value: ''}, 57 default: {field: '', op: '', value: ''},
52 - pc: {field: 'app', op:'=', value: APP_NAME.pc}, 58 + pc: {field: 'app', op: '=', value: APP_NAME.pc},
53 h5: {field: 'app', op: '=', value: APP_NAME.h5} 59 h5: {field: 'app', op: '=', value: APP_NAME.h5}
54 }; 60 };
55 61
@@ -69,13 +75,38 @@ function handleZip(items) { @@ -69,13 +75,38 @@ function handleZip(items) {
69 } 75 }
70 76
71 function handleRows(rows) { 77 function handleRows(rows) {
72 - let result = alasql('SELECT route, AVG(duration) as mean FROM ? GROUP BY route,type', [rows]);  
73 - result = alasql('SELECT route, SUM(mean) as mean FROM ? GROUP BY route', [result]);  
74 - return result;  
75 -} 78 + let stats = rows.reduce((acc, cur) => {
  79 + _.updateWith(acc, [cur.route, cur.type, 'duration'], function(n) {
  80 + return _.isNil(n) ? cur.duration : n + cur.duration;
  81 + });
  82 +
  83 + _.updateWith(acc, [cur.route, cur.type, 'count'], function(n) {
  84 + return _.isNil(n) ? 1 : n + 1
  85 + });
  86 +
  87 + return acc;
  88 + }, {});
  89 +
  90 + let result = _.map(stats, (v,k) => {
  91 + let result = {
  92 + route: '',
  93 + count: 0,
  94 + mean: 0,
  95 + DOMContentLoaded: 0,
  96 + load: 0,
  97 + firstscreen: 0
  98 + };
  99 +
  100 + result.route = k;
  101 + result.count = _.sum(jp.query(v, '$..count'));
  102 + result.DOMContentLoaded = +(_.get(v, 'DOMContentLoaded.duration', 0) / _.get(v, 'DOMContentLoaded.count', 1)).toFixed(0);
  103 + result.load = +(_.get(v, 'load.duration', 0) / _.get(v, 'load.count', 1)).toFixed(0);
  104 + result.firstscreen = +(_.get(v, 'firstscreen.duration', 0) / _.get(v, 'firstscreen.count', 1)).toFixed(0);
  105 + result.mean = result.load + result.DOMContentLoaded + result.firstscreen;
  106 +
  107 + return result;
  108 + });
76 109
77 -function handleCount(rows) {  
78 - let result = alasql('SELECT route, COUNT(route) as times FROM ? GROUP BY route', [rows]);  
79 return result; 110 return result;
80 } 111 }
81 112
@@ -94,33 +125,11 @@ const profile_service = { @@ -94,33 +125,11 @@ const profile_service = {
94 .where('time', '<', end); 125 .where('time', '<', end);
95 } 126 }
96 127
97 - let rows = await exec(SERVER[server],model.toSql())  
98 - .then(result => _.get(result, 'results[0].series[0]', []))  
99 - .then(handleZip);  
100 -  
101 - rows = handleRows(rows);  
102 -  
103 - return {code: 200, data: rows}  
104 - },  
105 - async count(server, start, end, app, lastTime) {  
106 - const model = profile_sql.duration()  
107 - .select('*')  
108 - .where(APP[app]);  
109 -  
110 - if (lastTime) {  
111 - model.where('time', '>=', SqlBuilder.raw(`now() - ${lastTime}`))  
112 - }  
113 -  
114 - if (start && end) {  
115 - model.where('time', '>=', start)  
116 - .where('time', '<', end);  
117 - }  
118 -  
119 - let rows = await exec(SERVER[server],model.toSql())  
120 - .then(result => _.get(result, 'results[0].series[0]', [])) 128 + let rows = await exec(SERVER[server], model.toSql())
  129 + .then(result => _.get(result, 'results[0].series[0]', []))
121 .then(handleZip); 130 .then(handleZip);
122 131
123 - rows = handleCount(rows); 132 + rows = handleRows(rows);
124 133
125 return {code: 200, data: rows} 134 return {code: 200, data: rows}
126 }, 135 },
@@ -180,19 +189,6 @@ const profile_controller = { @@ -180,19 +189,6 @@ const profile_controller = {
180 const result = await profile_service.mean(server, start, end, app, lastTime); 189 const result = await profile_service.mean(server, start, end, app, lastTime);
181 ctx.body = result; 190 ctx.body = result;
182 }, 191 },
183 - async count_report_index(ctx) {  
184 - await ctx.render('action/profile_count');  
185 - },  
186 - async count_report_json(ctx) {  
187 - const start = ctx.query.start;  
188 - const end = ctx.query.end;  
189 - const app = ctx.query.app;  
190 - const server = ctx.query.server || 'aws';  
191 - const lastTime = ctx.query.lastTime;  
192 -  
193 - const result = await profile_service.count(server, start, end, app, lastTime);  
194 - ctx.body = result;  
195 - },  
196 async time_report_index(ctx) { 192 async time_report_index(ctx) {
197 await ctx.render('action/profile_time'); 193 await ctx.render('action/profile_time');
198 }, 194 },
@@ -225,9 +221,6 @@ const profile_controller = { @@ -225,9 +221,6 @@ const profile_controller = {
225 r.get('/mean', profile_controller.mean_report_index); 221 r.get('/mean', profile_controller.mean_report_index);
226 r.get('/mean.json', profile_controller.mean_report_json); 222 r.get('/mean.json', profile_controller.mean_report_json);
227 223
228 -r.get('/count', profile_controller.count_report_index);  
229 -r.get('/count.json', profile_controller.count_report_json);  
230 -  
231 r.get('/time', profile_controller.time_report_index); 224 r.get('/time', profile_controller.time_report_index);
232 r.get('/time.json', profile_controller.time_report_json); 225 r.get('/time.json', profile_controller.time_report_json);
233 226
@@ -51,7 +51,11 @@ @@ -51,7 +51,11 @@
51 <thead class=""> 51 <thead class="">
52 <tr> 52 <tr>
53 <td >接口名称</td> 53 <td >接口名称</td>
  54 + <td >调用次数</td>
54 <td >耗时</td> 55 <td >耗时</td>
  56 + <td >load</td>
  57 + <td >firstscreen</td>
  58 + <td >DOMContentLoaded</td>
55 </thead> 59 </thead>
56 60
57 <tbody> 61 <tbody>
@@ -102,13 +106,21 @@ @@ -102,13 +106,21 @@
102 pageLength: 25, 106 pageLength: 25,
103 columns: [ 107 columns: [
104 {data: 'route'}, 108 {data: 'route'},
105 - {data: 'mean'} 109 + {data: 'count'},
  110 + {data: 'mean'},
  111 + {data: 'load'},
  112 + {data: 'firstscreen'},
  113 + {data: 'DOMContentLoaded'},
106 ], 114 ],
107 data: [{ 115 data: [{
108 route: '', 116 route: '',
109 - mean: '' 117 + count: 0,
  118 + mean: 0,
  119 + load: 0,
  120 + firstscreen: 0,
  121 + DOMContentLoaded: 0
110 }], 122 }],
111 - order: [[ 1, "desc" ]] 123 + order: [[ 2, "desc" ]]
112 }); 124 });
113 } 125 }
114 126
@@ -78,7 +78,6 @@ @@ -78,7 +78,6 @@
78 <li class="parent"><a><i class="fa fa-list"></i> <span>性能统计</span></a> 78 <li class="parent"><a><i class="fa fa-list"></i> <span>性能统计</span></a>
79 <ul class="children"> 79 <ul class="children">
80 <li><a href="/profile/mean"> <span>调用时间统计</span></a></li> 80 <li><a href="/profile/mean"> <span>调用时间统计</span></a></li>
81 - <li><a href="/profile/count"> <span>调用次数统计</span></a></li>  
82 <li><a href="/profile/time"> <span>调用时间统计</span></a></li> 81 <li><a href="/profile/time"> <span>调用时间统计</span></a></li>
83 <li><a href="/profile/error"> <span>错误信息统计</span></a></li> 82 <li><a href="/profile/error"> <span>错误信息统计</span></a></li>
84 </ul> 83 </ul>
This diff could not be displayed because it is too large.
@@ -25,7 +25,6 @@ @@ -25,7 +25,6 @@
25 "author": "jiangfeng <jeff.jiang@yoho.cn>", 25 "author": "jiangfeng <jeff.jiang@yoho.cn>",
26 "license": "ISC", 26 "license": "ISC",
27 "dependencies": { 27 "dependencies": {
28 - "alasql": "^0.4.3",  
29 "bluebird": "^3.5.0", 28 "bluebird": "^3.5.0",
30 "co": "^4.6.0", 29 "co": "^4.6.0",
31 "co-body": "^4.2.0", 30 "co-body": "^4.2.0",
@@ -36,6 +35,7 @@ @@ -36,6 +35,7 @@
36 "handlebars": "^4.0.5", 35 "handlebars": "^4.0.5",
37 "influx": "^4.2.1", 36 "influx": "^4.2.1",
38 "install": "^0.8.1", 37 "install": "^0.8.1",
  38 + "jsonpath": "^0.2.12",
39 "koa": "^2.0.0", 39 "koa": "^2.0.0",
40 "koa-body": "^1.4.0", 40 "koa-body": "^1.4.0",
41 "koa-convert": "^1.2.0", 41 "koa-convert": "^1.2.0",
@@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@
45 "koa-session": "^3.3.1", 45 "koa-session": "^3.3.1",
46 "koa-static": "^3.0.0", 46 "koa-static": "^3.0.0",
47 "lodash": "^4.13.1", 47 "lodash": "^4.13.1",
48 - "md5": "^2.1.0", 48 + "md5": "^2.2.1",
49 "md5-file": "^3.1.1", 49 "md5-file": "^3.1.1",
50 "memcached": "^2.2.2", 50 "memcached": "^2.2.2",
51 "moment": "^2.13.0", 51 "moment": "^2.13.0",
@@ -2,6 +2,10 @@ @@ -2,6 +2,10 @@
2 # yarn lockfile v1 2 # yarn lockfile v1
3 3
4 4
  5 +JSONSelect@0.4.0:
  6 + version "0.4.0"
  7 + resolved "http://npm.yoho.cn/JSONSelect/-/JSONSelect-0.4.0.tgz#a08edcc67eb3fcbe99ed630855344a0cf282bb8d"
  8 +
5 abbrev@1, abbrev@~1.0.9: 9 abbrev@1, abbrev@~1.0.9:
6 version "1.0.9" 10 version "1.0.9"
7 resolved "http://registry.npm.taobao.org/abbrev/download/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" 11 resolved "http://registry.npm.taobao.org/abbrev/download/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
@@ -29,13 +33,6 @@ adler-32@: @@ -29,13 +33,6 @@ adler-32@:
29 exit-on-epipe "" 33 exit-on-epipe ""
30 printj "" 34 printj ""
31 35
32 -adler-32@~1.1.0:  
33 - version "1.1.0"  
34 - resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.1.0.tgz#03551a5c7f0edfbd4fc8fa12a6814978eab651c3"  
35 - dependencies:  
36 - exit-on-epipe "~1.0.1"  
37 - printj "~1.1.0"  
38 -  
39 after@0.8.1: 36 after@0.8.1:
40 version "0.8.1" 37 version "0.8.1"
41 resolved "http://registry.npm.taobao.org/after/download/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" 38 resolved "http://registry.npm.taobao.org/after/download/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
@@ -60,17 +57,6 @@ ajv@^5.1.0: @@ -60,17 +57,6 @@ ajv@^5.1.0:
60 json-schema-traverse "^0.3.0" 57 json-schema-traverse "^0.3.0"
61 json-stable-stringify "^1.0.1" 58 json-stable-stringify "^1.0.1"
62 59
63 -alasql@^0.4.3:  
64 - version "0.4.3"  
65 - resolved "https://registry.yarnpkg.com/alasql/-/alasql-0.4.3.tgz#46f2c3552be7b5c3ff1c01e5e5ae3706bbe075cb"  
66 - dependencies:  
67 - dom-storage "^2.0.1"  
68 - es6-promise "^4.0.5"  
69 - lodash "^4.17.4"  
70 - request "2.79.0"  
71 - xlsx "^0.11.5"  
72 - yargs "^5.0.0"  
73 -  
74 align-text@^0.1.1, align-text@^0.1.3: 60 align-text@^0.1.1, align-text@^0.1.3:
75 version "0.1.4" 61 version "0.1.4"
76 resolved "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 62 resolved "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
@@ -380,10 +366,6 @@ camelcase@^1.0.2: @@ -380,10 +366,6 @@ camelcase@^1.0.2:
380 version "1.2.1" 366 version "1.2.1"
381 resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 367 resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
382 368
383 -camelcase@^3.0.0:  
384 - version "3.0.0"  
385 - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"  
386 -  
387 camelcase@^4.0.0: 369 camelcase@^4.0.0:
388 version "4.1.0" 370 version "4.1.0"
389 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 371 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
@@ -413,13 +395,6 @@ cfb@>=0.10.0: @@ -413,13 +395,6 @@ cfb@>=0.10.0:
413 dependencies: 395 dependencies:
414 commander "" 396 commander ""
415 397
416 -cfb@~0.13.1:  
417 - version "0.13.1"  
418 - resolved "https://registry.yarnpkg.com/cfb/-/cfb-0.13.1.tgz#6506e0ab9b6846be7ef25c758932fe16f64c9c71"  
419 - dependencies:  
420 - commander "~2.11.0"  
421 - printj "~1.1.0"  
422 -  
423 chalk@^1.0.0, chalk@^1.1.1: 398 chalk@^1.0.0, chalk@^1.1.1:
424 version "1.1.3" 399 version "1.1.3"
425 resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 400 resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -439,8 +414,8 @@ chalk@^2.0.1: @@ -439,8 +414,8 @@ chalk@^2.0.1:
439 supports-color "^4.0.0" 414 supports-color "^4.0.0"
440 415
441 charenc@~0.0.1: 416 charenc@~0.0.1:
442 - version "0.0.1"  
443 - resolved "http://registry.npm.taobao.org/charenc/download/charenc-0.0.1.tgz#004cff9feaf102382ed12db58dd6f962796d6e88" 417 + version "0.0.2"
  418 + resolved "http://npm.yoho.cn/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
444 419
445 chokidar@^1.7.0: 420 chokidar@^1.7.0:
446 version "1.7.0" 421 version "1.7.0"
@@ -461,6 +436,10 @@ chownr@~1.0.1: @@ -461,6 +436,10 @@ chownr@~1.0.1:
461 version "1.0.1" 436 version "1.0.1"
462 resolved "http://registry.npm.taobao.org/chownr/download/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" 437 resolved "http://registry.npm.taobao.org/chownr/download/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
463 438
  439 +cjson@~0.2.1:
  440 + version "0.2.1"
  441 + resolved "http://npm.yoho.cn/cjson/-/cjson-0.2.1.tgz#73cd8aad65d9e1505f9af1744d3b79c1527682a5"
  442 +
464 cli-boxes@^1.0.0: 443 cli-boxes@^1.0.0:
465 version "1.0.0" 444 version "1.0.0"
466 resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 445 resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
@@ -473,14 +452,6 @@ cliui@^2.1.0: @@ -473,14 +452,6 @@ cliui@^2.1.0:
473 right-align "^0.1.1" 452 right-align "^0.1.1"
474 wordwrap "0.0.2" 453 wordwrap "0.0.2"
475 454
476 -cliui@^3.2.0:  
477 - version "3.2.0"  
478 - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"  
479 - dependencies:  
480 - string-width "^1.0.1"  
481 - strip-ansi "^3.0.1"  
482 - wrap-ansi "^2.0.0"  
483 -  
484 clone@^1.0.2: 455 clone@^1.0.2:
485 version "1.0.2" 456 version "1.0.2"
486 resolved "http://registry.npm.taobao.org/clone/download/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 457 resolved "http://registry.npm.taobao.org/clone/download/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
@@ -509,14 +480,6 @@ code-point-at@^1.0.0: @@ -509,14 +480,6 @@ code-point-at@^1.0.0:
509 version "1.1.0" 480 version "1.1.0"
510 resolved "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 481 resolved "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
511 482
512 -codepage@~1.11.0:  
513 - version "1.11.0"  
514 - resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.11.0.tgz#1076095b9f03b5ca04f43873fa1a627742285de2"  
515 - dependencies:  
516 - commander "~2.11.0"  
517 - exit-on-epipe "~1.0.1"  
518 - voc "~1.0.0"  
519 -  
520 codepage@~1.3.6: 483 codepage@~1.3.6:
521 version "1.3.8" 484 version "1.3.8"
522 resolved "http://registry.npm.taobao.org/codepage/download/codepage-1.3.8.tgz#4f2e5d7c0975de28f88498058dcb5afcab6a5f71" 485 resolved "http://registry.npm.taobao.org/codepage/download/codepage-1.3.8.tgz#4f2e5d7c0975de28f88498058dcb5afcab6a5f71"
@@ -535,6 +498,10 @@ color-name@^1.1.1: @@ -535,6 +498,10 @@ color-name@^1.1.1:
535 version "1.1.3" 498 version "1.1.3"
536 resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 499 resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
537 500
  501 +colors@0.5.x:
  502 + version "0.5.1"
  503 + resolved "http://npm.yoho.cn/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
  504 +
538 colors@0.6.2: 505 colors@0.6.2:
539 version "0.6.2" 506 version "0.6.2"
540 resolved "http://registry.npm.taobao.org/colors/download/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" 507 resolved "http://registry.npm.taobao.org/colors/download/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
@@ -558,10 +525,6 @@ commander@, commander@^2.9.0: @@ -558,10 +525,6 @@ commander@, commander@^2.9.0:
558 dependencies: 525 dependencies:
559 graceful-readlink ">= 1.0.0" 526 graceful-readlink ">= 1.0.0"
560 527
561 -commander@~2.11.0:  
562 - version "2.11.0"  
563 - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"  
564 -  
565 component-bind@1.0.0: 528 component-bind@1.0.0:
566 version "1.0.0" 529 version "1.0.0"
567 resolved "http://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" 530 resolved "http://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
@@ -655,13 +618,6 @@ crc-32@: @@ -655,13 +618,6 @@ crc-32@:
655 exit-on-epipe "" 618 exit-on-epipe ""
656 printj "" 619 printj ""
657 620
658 -crc-32@~1.1.1:  
659 - version "1.1.1"  
660 - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.1.1.tgz#5d739d5e4c6e352ad8304d73223d483fe55adb8d"  
661 - dependencies:  
662 - exit-on-epipe "~1.0.1"  
663 - printj "~1.1.0"  
664 -  
665 create-error-class@^3.0.0: 621 create-error-class@^3.0.0:
666 version "3.0.2" 622 version "3.0.2"
667 resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 623 resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
@@ -684,8 +640,8 @@ cross-spawn@^5.0.1: @@ -684,8 +640,8 @@ cross-spawn@^5.0.1:
684 which "^1.2.9" 640 which "^1.2.9"
685 641
686 crypt@~0.0.1: 642 crypt@~0.0.1:
687 - version "0.0.1"  
688 - resolved "http://registry.npm.taobao.org/crypt/download/crypt-0.0.1.tgz#5f11b21a6c05ef1b5e79708366da6374ece1e6a2" 643 + version "0.0.2"
  644 + resolved "http://npm.yoho.cn/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
689 645
690 cryptiles@2.x.x: 646 cryptiles@2.x.x:
691 version "2.0.5" 647 version "2.0.5"
@@ -747,7 +703,7 @@ debuglog@^1.0.1: @@ -747,7 +703,7 @@ debuglog@^1.0.1:
747 version "1.0.1" 703 version "1.0.1"
748 resolved "http://registry.npm.taobao.org/debuglog/download/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" 704 resolved "http://registry.npm.taobao.org/debuglog/download/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
749 705
750 -decamelize@^1.0.0, decamelize@^1.1.1: 706 +decamelize@^1.0.0:
751 version "1.2.0" 707 version "1.2.0"
752 resolved "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 708 resolved "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
753 709
@@ -811,10 +767,6 @@ digest-header@^0.0.1: @@ -811,10 +767,6 @@ digest-header@^0.0.1:
811 dependencies: 767 dependencies:
812 utility "0.1.11" 768 utility "0.1.11"
813 769
814 -dom-storage@^2.0.1:  
815 - version "2.0.2"  
816 - resolved "https://registry.yarnpkg.com/dom-storage/-/dom-storage-2.0.2.tgz#ed17cbf68abd10e0aef8182713e297c5e4b500b0"  
817 -  
818 dot-prop@^4.1.0: 770 dot-prop@^4.1.0:
819 version "4.2.0" 771 version "4.2.0"
820 resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" 772 resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
@@ -837,6 +789,10 @@ duplexer@~0.1.1: @@ -837,6 +789,10 @@ duplexer@~0.1.1:
837 version "0.1.1" 789 version "0.1.1"
838 resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" 790 resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
839 791
  792 +ebnf-parser@~0.1.9:
  793 + version "0.1.10"
  794 + resolved "http://npm.yoho.cn/ebnf-parser/-/ebnf-parser-0.1.10.tgz#cd1f6ba477c5638c40c97ed9b572db5bab5d8331"
  795 +
840 ecc-jsbn@~0.1.1: 796 ecc-jsbn@~0.1.1:
841 version "0.1.1" 797 version "0.1.1"
842 resolved "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 798 resolved "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
@@ -889,12 +845,6 @@ engine.io@1.7.2: @@ -889,12 +845,6 @@ engine.io@1.7.2:
889 engine.io-parser "1.3.1" 845 engine.io-parser "1.3.1"
890 ws "1.1.1" 846 ws "1.1.1"
891 847
892 -error-ex@^1.2.0:  
893 - version "1.3.1"  
894 - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"  
895 - dependencies:  
896 - is-arrayish "^0.2.1"  
897 -  
898 error-inject@~1.0.0: 848 error-inject@~1.0.0:
899 version "1.0.0" 849 version "1.0.0"
900 resolved "http://registry.npm.taobao.org/error-inject/download/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" 850 resolved "http://registry.npm.taobao.org/error-inject/download/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37"
@@ -944,10 +894,6 @@ es6-promise@^3.3.1: @@ -944,10 +894,6 @@ es6-promise@^3.3.1:
944 version "3.3.1" 894 version "3.3.1"
945 resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" 895 resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
946 896
947 -es6-promise@^4.0.5:  
948 - version "4.1.1"  
949 - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.1.1.tgz#8811e90915d9a0dba36274f0b242dbda78f9c92a"  
950 -  
951 es6-symbol@3, es6-symbol@^3.0.2, es6-symbol@~3.1: 897 es6-symbol@3, es6-symbol@^3.0.2, es6-symbol@~3.1:
952 version "3.1.0" 898 version "3.1.0"
953 resolved "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" 899 resolved "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa"
@@ -963,6 +909,24 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: @@ -963,6 +909,24 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
963 version "1.0.5" 909 version "1.0.5"
964 resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 910 resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
965 911
  912 +escodegen@0.0.21:
  913 + version "0.0.21"
  914 + resolved "http://npm.yoho.cn/escodegen/-/escodegen-0.0.21.tgz#53d652cfa1030388279458a5266c5ffc709c63c3"
  915 + dependencies:
  916 + esprima "~1.0.2"
  917 + estraverse "~0.0.4"
  918 + optionalDependencies:
  919 + source-map ">= 0.1.2"
  920 +
  921 +escodegen@~0.0.24:
  922 + version "0.0.28"
  923 + resolved "http://npm.yoho.cn/escodegen/-/escodegen-0.0.28.tgz#0e4ff1715f328775d6cab51ac44a406cd7abffd3"
  924 + dependencies:
  925 + esprima "~1.0.2"
  926 + estraverse "~1.3.0"
  927 + optionalDependencies:
  928 + source-map ">= 0.1.2"
  929 +
966 esmangle-evaluator@^1.0.0: 930 esmangle-evaluator@^1.0.0:
967 version "1.0.1" 931 version "1.0.1"
968 resolved "http://registry.npm.taobao.org/esmangle-evaluator/download/esmangle-evaluator-1.0.1.tgz#620d866ef4861b3311f75766d52a8572bb3c6336" 932 resolved "http://registry.npm.taobao.org/esmangle-evaluator/download/esmangle-evaluator-1.0.1.tgz#620d866ef4861b3311f75766d52a8572bb3c6336"
@@ -975,6 +939,22 @@ esprima-fb@~3001.0001.0000-dev-harmony-fb, esprima-fb@~3001.1.0-dev-harmony-fb: @@ -975,6 +939,22 @@ esprima-fb@~3001.0001.0000-dev-harmony-fb, esprima-fb@~3001.1.0-dev-harmony-fb:
975 version "3001.1.0-dev-harmony-fb" 939 version "3001.1.0-dev-harmony-fb"
976 resolved "http://registry.npm.taobao.org/esprima-fb/download/esprima-fb-3001.1.0-dev-harmony-fb.tgz#b77d37abcd38ea0b77426bb8bc2922ce6b426411" 940 resolved "http://registry.npm.taobao.org/esprima-fb/download/esprima-fb-3001.1.0-dev-harmony-fb.tgz#b77d37abcd38ea0b77426bb8bc2922ce6b426411"
977 941
  942 +esprima@1.0.x, esprima@~1.0.2:
  943 + version "1.0.4"
  944 + resolved "http://npm.yoho.cn/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"
  945 +
  946 +esprima@1.2.2:
  947 + version "1.2.2"
  948 + resolved "http://npm.yoho.cn/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b"
  949 +
  950 +estraverse@~0.0.4:
  951 + version "0.0.4"
  952 + resolved "http://npm.yoho.cn/estraverse/-/estraverse-0.0.4.tgz#01a0932dfee574684a598af5a67c3bf9b6428db2"
  953 +
  954 +estraverse@~1.3.0:
  955 + version "1.3.2"
  956 + resolved "http://npm.yoho.cn/estraverse/-/estraverse-1.3.2.tgz#37c2b893ef13d723f276d878d60d8535152a6c42"
  957 +
978 event-stream@~3.3.0: 958 event-stream@~3.3.0:
979 version "3.3.4" 959 version "3.3.4"
980 resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" 960 resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
@@ -1003,10 +983,6 @@ exit-on-epipe@: @@ -1003,10 +983,6 @@ exit-on-epipe@:
1003 version "0.1.0" 983 version "0.1.0"
1004 resolved "http://registry.npm.taobao.org/exit-on-epipe/download/exit-on-epipe-0.1.0.tgz#aa2f0155b78b34fe60dd2b462e84637ba5ed0697" 984 resolved "http://registry.npm.taobao.org/exit-on-epipe/download/exit-on-epipe-0.1.0.tgz#aa2f0155b78b34fe60dd2b462e84637ba5ed0697"
1005 985
1006 -exit-on-epipe@~1.0.1:  
1007 - version "1.0.1"  
1008 - resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"  
1009 -  
1010 expand-brackets@^0.1.4: 986 expand-brackets@^0.1.4:
1011 version "0.1.5" 987 version "0.1.5"
1012 resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 988 resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
@@ -1068,13 +1044,6 @@ fill-range@^2.1.0: @@ -1068,13 +1044,6 @@ fill-range@^2.1.0:
1068 repeat-element "^1.1.2" 1044 repeat-element "^1.1.2"
1069 repeat-string "^1.5.2" 1045 repeat-string "^1.5.2"
1070 1046
1071 -find-up@^1.0.0:  
1072 - version "1.1.2"  
1073 - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"  
1074 - dependencies:  
1075 - path-exists "^2.0.0"  
1076 - pinkie-promise "^2.0.0"  
1077 -  
1078 for-each@~0.3.2: 1047 for-each@~0.3.2:
1079 version "0.3.2" 1048 version "0.3.2"
1080 resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" 1049 resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4"
@@ -1144,12 +1113,6 @@ frac@0.3.1: @@ -1144,12 +1113,6 @@ frac@0.3.1:
1144 version "0.3.1" 1113 version "0.3.1"
1145 resolved "http://registry.npm.taobao.org/frac/download/frac-0.3.1.tgz#577677b7fdcbe6faf7c461f1801d34137cda4354" 1114 resolved "http://registry.npm.taobao.org/frac/download/frac-0.3.1.tgz#577677b7fdcbe6faf7c461f1801d34137cda4354"
1146 1115
1147 -frac@~1.1.0:  
1148 - version "1.1.0"  
1149 - resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.0.tgz#dc437e9c6a646b60b127d82ac4902464445cc1e3"  
1150 - dependencies:  
1151 - voc "~1.0.0"  
1152 -  
1153 fresh@^0.3.0: 1116 fresh@^0.3.0:
1154 version "0.3.0" 1117 version "0.3.0"
1155 resolved "http://registry.npm.taobao.org/fresh/download/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" 1118 resolved "http://registry.npm.taobao.org/fresh/download/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
@@ -1279,10 +1242,6 @@ generate-object-property@^1.1.0: @@ -1279,10 +1242,6 @@ generate-object-property@^1.1.0:
1279 dependencies: 1242 dependencies:
1280 is-property "^1.0.0" 1243 is-property "^1.0.0"
1281 1244
1282 -get-caller-file@^1.0.1:  
1283 - version "1.0.2"  
1284 - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"  
1285 -  
1286 get-stream@^3.0.0: 1245 get-stream@^3.0.0:
1287 version "3.0.0" 1246 version "3.0.0"
1288 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1247 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
@@ -1614,25 +1573,17 @@ interpret@^1.0.0: @@ -1614,25 +1573,17 @@ interpret@^1.0.0:
1614 version "1.0.1" 1573 version "1.0.1"
1615 resolved "http://registry.npm.taobao.org/interpret/download/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" 1574 resolved "http://registry.npm.taobao.org/interpret/download/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
1616 1575
1617 -invert-kv@^1.0.0:  
1618 - version "1.0.0"  
1619 - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"  
1620 -  
1621 -is-arrayish@^0.2.1:  
1622 - version "0.2.1"  
1623 - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"  
1624 -  
1625 is-binary-path@^1.0.0: 1576 is-binary-path@^1.0.0:
1626 version "1.0.1" 1577 version "1.0.1"
1627 resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1578 resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
1628 dependencies: 1579 dependencies:
1629 binary-extensions "^1.0.0" 1580 binary-extensions "^1.0.0"
1630 1581
1631 -is-buffer@^1.0.2, is-buffer@~1.1.1: 1582 +is-buffer@^1.0.2:
1632 version "1.1.4" 1583 version "1.1.4"
1633 resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 1584 resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b"
1634 1585
1635 -is-buffer@^1.1.5: 1586 +is-buffer@^1.1.5, is-buffer@~1.1.1:
1636 version "1.1.5" 1587 version "1.1.5"
1637 resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 1588 resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
1638 1589
@@ -1765,10 +1716,6 @@ is-typedarray@~1.0.0: @@ -1765,10 +1716,6 @@ is-typedarray@~1.0.0:
1765 version "1.0.0" 1716 version "1.0.0"
1766 resolved "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1717 resolved "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1767 1718
1768 -is-utf8@^0.2.0:  
1769 - version "0.2.1"  
1770 - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"  
1771 -  
1772 isarray@0.0.1: 1719 isarray@0.0.1:
1773 version "0.0.1" 1720 version "0.0.1"
1774 resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1721 resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
@@ -1801,6 +1748,26 @@ jackpot@>=0.0.6: @@ -1801,6 +1748,26 @@ jackpot@>=0.0.6:
1801 dependencies: 1748 dependencies:
1802 retry "0.6.0" 1749 retry "0.6.0"
1803 1750
  1751 +jison-lex@0.2.x:
  1752 + version "0.2.1"
  1753 + resolved "http://npm.yoho.cn/jison-lex/-/jison-lex-0.2.1.tgz#ac4b815e8cce5132eb12b5dfcfe8d707b8844dfe"
  1754 + dependencies:
  1755 + lex-parser "0.1.x"
  1756 + nomnom "1.5.2"
  1757 +
  1758 +jison@0.4.13:
  1759 + version "0.4.13"
  1760 + resolved "http://npm.yoho.cn/jison/-/jison-0.4.13.tgz#9041707d62241367f58834532b9f19c2c36fac78"
  1761 + dependencies:
  1762 + JSONSelect "0.4.0"
  1763 + cjson "~0.2.1"
  1764 + ebnf-parser "~0.1.9"
  1765 + escodegen "0.0.21"
  1766 + esprima "1.0.x"
  1767 + jison-lex "0.2.x"
  1768 + lex-parser "~0.1.3"
  1769 + nomnom "1.5.2"
  1770 +
1804 jju@^1.1.0: 1771 jju@^1.1.0:
1805 version "1.3.0" 1772 version "1.3.0"
1806 resolved "http://registry.npm.taobao.org/jju/download/jju-1.3.0.tgz#dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa" 1773 resolved "http://registry.npm.taobao.org/jju/download/jju-1.3.0.tgz#dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa"
@@ -1857,6 +1824,15 @@ jsonify@~0.0.0: @@ -1857,6 +1824,15 @@ jsonify@~0.0.0:
1857 version "0.0.0" 1824 version "0.0.0"
1858 resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1825 resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
1859 1826
  1827 +jsonpath@^0.2.12:
  1828 + version "0.2.12"
  1829 + resolved "http://npm.yoho.cn/jsonpath/-/jsonpath-0.2.12.tgz#5bf9d911fb4616c1e3370beceb9f0db24ae34cd2"
  1830 + dependencies:
  1831 + esprima "1.2.2"
  1832 + jison "0.4.13"
  1833 + static-eval "0.2.3"
  1834 + underscore "1.7.0"
  1835 +
1860 jsonpointer@^4.0.0: 1836 jsonpointer@^4.0.0:
1861 version "4.0.0" 1837 version "4.0.0"
1862 resolved "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" 1838 resolved "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5"
@@ -2016,11 +1992,9 @@ lazy-cache@^1.0.3: @@ -2016,11 +1992,9 @@ lazy-cache@^1.0.3:
2016 version "1.0.4" 1992 version "1.0.4"
2017 resolved "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 1993 resolved "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
2018 1994
2019 -lcid@^1.0.0:  
2020 - version "1.0.0"  
2021 - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"  
2022 - dependencies:  
2023 - invert-kv "^1.0.0" 1995 +lex-parser@0.1.x, lex-parser@~0.1.3:
  1996 + version "0.1.4"
  1997 + resolved "http://npm.yoho.cn/lex-parser/-/lex-parser-0.1.4.tgz#64c4f025f17fd53bfb45763faeb16f015a747550"
2024 1998
2025 lie@3.0.2: 1999 lie@3.0.2:
2026 version "3.0.2" 2000 version "3.0.2"
@@ -2031,16 +2005,6 @@ lie@3.0.2: @@ -2031,16 +2005,6 @@ lie@3.0.2:
2031 inline-process-browser "^1.0.0" 2005 inline-process-browser "^1.0.0"
2032 unreachable-branch-transform "^0.3.0" 2006 unreachable-branch-transform "^0.3.0"
2033 2007
2034 -load-json-file@^1.0.0:  
2035 - version "1.1.0"  
2036 - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"  
2037 - dependencies:  
2038 - graceful-fs "^4.1.2"  
2039 - parse-json "^2.2.0"  
2040 - pify "^2.0.0"  
2041 - pinkie-promise "^2.0.0"  
2042 - strip-bom "^2.0.0"  
2043 -  
2044 localforage@^1.3.0: 2008 localforage@^1.3.0:
2045 version "1.4.3" 2009 version "1.4.3"
2046 resolved "http://registry.npm.taobao.org/localforage/download/localforage-1.4.3.tgz#a212543c39c7c76424edd12bf474c489aaca494c" 2010 resolved "http://registry.npm.taobao.org/localforage/download/localforage-1.4.3.tgz#a212543c39c7c76424edd12bf474c489aaca494c"
@@ -2105,10 +2069,6 @@ lodash.assign@^3.0.0: @@ -2105,10 +2069,6 @@ lodash.assign@^3.0.0:
2105 lodash._createassigner "^3.0.0" 2069 lodash._createassigner "^3.0.0"
2106 lodash.keys "^3.0.0" 2070 lodash.keys "^3.0.0"
2107 2071
2108 -lodash.assign@^4.1.0, lodash.assign@^4.2.0:  
2109 - version "4.2.0"  
2110 - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"  
2111 -  
2112 lodash.clonedeep@~4.5.0: 2072 lodash.clonedeep@~4.5.0:
2113 version "4.5.0" 2073 version "4.5.0"
2114 resolved "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 2074 resolved "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
@@ -2152,7 +2112,7 @@ lodash.without@~4.4.0: @@ -2152,7 +2112,7 @@ lodash.without@~4.4.0:
2152 version "4.4.0" 2112 version "4.4.0"
2153 resolved "http://registry.npm.taobao.org/lodash.without/download/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" 2113 resolved "http://registry.npm.taobao.org/lodash.without/download/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac"
2154 2114
2155 -lodash@^4.11.1, lodash@^4.17.4: 2115 +lodash@^4.11.1:
2156 version "4.17.4" 2116 version "4.17.4"
2157 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 2117 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
2158 2118
@@ -2193,9 +2153,9 @@ md5-file@^3.1.1: @@ -2193,9 +2153,9 @@ md5-file@^3.1.1:
2193 version "3.1.1" 2153 version "3.1.1"
2194 resolved "http://registry.npm.taobao.org/md5-file/download/md5-file-3.1.1.tgz#db3c92c09bbda5c2de883fa5490dd711fddbbab9" 2154 resolved "http://registry.npm.taobao.org/md5-file/download/md5-file-3.1.1.tgz#db3c92c09bbda5c2de883fa5490dd711fddbbab9"
2195 2155
2196 -md5@^2.1.0: 2156 +md5@^2.2.1:
2197 version "2.2.1" 2157 version "2.2.1"
2198 - resolved "http://registry.npm.taobao.org/md5/download/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" 2158 + resolved "http://npm.yoho.cn/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9"
2199 dependencies: 2159 dependencies:
2200 charenc "~0.0.1" 2160 charenc "~0.0.1"
2201 crypt "~0.0.1" 2161 crypt "~0.0.1"
@@ -2442,6 +2402,13 @@ nodemon@^1.11.0: @@ -2442,6 +2402,13 @@ nodemon@^1.11.0:
2442 undefsafe "0.0.3" 2402 undefsafe "0.0.3"
2443 update-notifier "^2.2.0" 2403 update-notifier "^2.2.0"
2444 2404
  2405 +nomnom@1.5.2:
  2406 + version "1.5.2"
  2407 + resolved "http://npm.yoho.cn/nomnom/-/nomnom-1.5.2.tgz#f4345448a853cfbd5c0d26320f2477ab0526fe2f"
  2408 + dependencies:
  2409 + colors "0.5.x"
  2410 + underscore "1.1.x"
  2411 +
2445 "nopt@2 || 3", nopt@~3.0.6: 2412 "nopt@2 || 3", nopt@~3.0.6:
2446 version "3.0.6" 2413 version "3.0.6"
2447 resolved "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 2414 resolved "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@@ -2474,15 +2441,6 @@ normalize-package-data@^2.0.0, "normalize-package-data@~1.0.1 || ^2.0.0", normal @@ -2474,15 +2441,6 @@ normalize-package-data@^2.0.0, "normalize-package-data@~1.0.1 || ^2.0.0", normal
2474 semver "2 || 3 || 4 || 5" 2441 semver "2 || 3 || 4 || 5"
2475 validate-npm-package-license "^3.0.1" 2442 validate-npm-package-license "^3.0.1"
2476 2443
2477 -normalize-package-data@^2.3.2:  
2478 - version "2.4.0"  
2479 - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"  
2480 - dependencies:  
2481 - hosted-git-info "^2.1.4"  
2482 - is-builtin-module "^1.0.0"  
2483 - semver "2 || 3 || 4 || 5"  
2484 - validate-npm-package-license "^3.0.1"  
2485 -  
2486 normalize-path@^2.0.0, normalize-path@^2.0.1: 2444 normalize-path@^2.0.0, normalize-path@^2.0.1:
2487 version "2.1.1" 2445 version "2.1.1"
2488 resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2446 resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@@ -2705,12 +2663,6 @@ os-homedir@^1.0.0: @@ -2705,12 +2663,6 @@ os-homedir@^1.0.0:
2705 version "1.0.2" 2663 version "1.0.2"
2706 resolved "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2664 resolved "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
2707 2665
2708 -os-locale@^1.4.0:  
2709 - version "1.4.0"  
2710 - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"  
2711 - dependencies:  
2712 - lcid "^1.0.0"  
2713 -  
2714 os-name@~1.0.3: 2666 os-name@~1.0.3:
2715 version "1.0.3" 2667 version "1.0.3"
2716 resolved "http://registry.npm.taobao.org/os-name/download/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf" 2668 resolved "http://registry.npm.taobao.org/os-name/download/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf"
@@ -2768,12 +2720,6 @@ parse-glob@^3.0.4: @@ -2768,12 +2720,6 @@ parse-glob@^3.0.4:
2768 is-extglob "^1.0.0" 2720 is-extglob "^1.0.0"
2769 is-glob "^2.0.0" 2721 is-glob "^2.0.0"
2770 2722
2771 -parse-json@^2.2.0:  
2772 - version "2.2.0"  
2773 - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"  
2774 - dependencies:  
2775 - error-ex "^1.2.0"  
2776 -  
2777 parsejson@0.0.1: 2723 parsejson@0.0.1:
2778 version "0.0.1" 2724 version "0.0.1"
2779 resolved "http://registry.npm.taobao.org/parsejson/download/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc" 2725 resolved "http://registry.npm.taobao.org/parsejson/download/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc"
@@ -2802,12 +2748,6 @@ path-array@^1.0.0: @@ -2802,12 +2748,6 @@ path-array@^1.0.0:
2802 dependencies: 2748 dependencies:
2803 array-index "^1.0.0" 2749 array-index "^1.0.0"
2804 2750
2805 -path-exists@^2.0.0:  
2806 - version "2.1.0"  
2807 - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"  
2808 - dependencies:  
2809 - pinkie-promise "^2.0.0"  
2810 -  
2811 path-is-absolute@1.0.0: 2751 path-is-absolute@1.0.0:
2812 version "1.0.0" 2752 version "1.0.0"
2813 resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.0.tgz#263dada66ab3f2fb10bf7f9d24dd8f3e570ef912" 2753 resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.0.tgz#263dada66ab3f2fb10bf7f9d24dd8f3e570ef912"
@@ -2834,14 +2774,6 @@ path-to-regexp@^1.1.1: @@ -2834,14 +2774,6 @@ path-to-regexp@^1.1.1:
2834 dependencies: 2774 dependencies:
2835 isarray "0.0.1" 2775 isarray "0.0.1"
2836 2776
2837 -path-type@^1.0.0:  
2838 - version "1.1.0"  
2839 - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"  
2840 - dependencies:  
2841 - graceful-fs "^4.1.2"  
2842 - pify "^2.0.0"  
2843 - pinkie-promise "^2.0.0"  
2844 -  
2845 pause-stream@0.0.11, pause-stream@~0.0.11: 2777 pause-stream@0.0.11, pause-stream@~0.0.11:
2846 version "0.0.11" 2778 version "0.0.11"
2847 resolved "http://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" 2779 resolved "http://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
@@ -2856,7 +2788,7 @@ performance-now@^2.1.0: @@ -2856,7 +2788,7 @@ performance-now@^2.1.0:
2856 version "2.1.0" 2788 version "2.1.0"
2857 resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 2789 resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
2858 2790
2859 -pify@^2.0.0, pify@^2.3.0: 2791 +pify@^2.3.0:
2860 version "2.3.0" 2792 version "2.3.0"
2861 resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2793 resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
2862 2794
@@ -2882,10 +2814,6 @@ printj@: @@ -2882,10 +2814,6 @@ printj@:
2882 version "0.1.1" 2814 version "0.1.1"
2883 resolved "http://registry.npm.taobao.org/printj/download/printj-0.1.1.tgz#9d07ef9db9234da8659579e468bd46a7510489b0" 2815 resolved "http://registry.npm.taobao.org/printj/download/printj-0.1.1.tgz#9d07ef9db9234da8659579e468bd46a7510489b0"
2884 2816
2885 -printj@~1.1.0:  
2886 - version "1.1.0"  
2887 - resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.0.tgz#85487b5e8f96763b0b4a253613bef9dd9b387e3c"  
2888 -  
2889 private@~0.1.5: 2817 private@~0.1.5:
2890 version "0.1.6" 2818 version "0.1.6"
2891 resolved "http://registry.npm.taobao.org/private/download/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" 2819 resolved "http://registry.npm.taobao.org/private/download/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1"
@@ -3027,21 +2955,6 @@ read-package-tree@~5.1.5: @@ -3027,21 +2955,6 @@ read-package-tree@~5.1.5:
3027 read-package-json "^2.0.0" 2955 read-package-json "^2.0.0"
3028 readdir-scoped-modules "^1.0.0" 2956 readdir-scoped-modules "^1.0.0"
3029 2957
3030 -read-pkg-up@^1.0.1:  
3031 - version "1.0.1"  
3032 - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"  
3033 - dependencies:  
3034 - find-up "^1.0.0"  
3035 - read-pkg "^1.0.0"  
3036 -  
3037 -read-pkg@^1.0.0:  
3038 - version "1.1.0"  
3039 - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"  
3040 - dependencies:  
3041 - load-json-file "^1.0.0"  
3042 - normalize-package-data "^2.3.2"  
3043 - path-type "^1.0.0"  
3044 -  
3045 read@1, read@~1.0.1, read@~1.0.7: 2958 read@1, read@~1.0.1, read@~1.0.7:
3046 version "1.0.7" 2959 version "1.0.7"
3047 resolved "http://registry.npm.taobao.org/read/download/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" 2960 resolved "http://registry.npm.taobao.org/read/download/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
@@ -3230,31 +3143,6 @@ request@2, request@^2.74.0: @@ -3230,31 +3143,6 @@ request@2, request@^2.74.0:
3230 tough-cookie "~2.3.0" 3143 tough-cookie "~2.3.0"
3231 tunnel-agent "~0.4.1" 3144 tunnel-agent "~0.4.1"
3232 3145
3233 -request@2.79.0:  
3234 - version "2.79.0"  
3235 - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"  
3236 - dependencies:  
3237 - aws-sign2 "~0.6.0"  
3238 - aws4 "^1.2.1"  
3239 - caseless "~0.11.0"  
3240 - combined-stream "~1.0.5"  
3241 - extend "~3.0.0"  
3242 - forever-agent "~0.6.1"  
3243 - form-data "~2.1.1"  
3244 - har-validator "~2.0.6"  
3245 - hawk "~3.1.3"  
3246 - http-signature "~1.1.0"  
3247 - is-typedarray "~1.0.0"  
3248 - isstream "~0.1.2"  
3249 - json-stringify-safe "~5.0.1"  
3250 - mime-types "~2.1.7"  
3251 - oauth-sign "~0.8.1"  
3252 - qs "~6.3.0"  
3253 - stringstream "~0.0.4"  
3254 - tough-cookie "~2.3.0"  
3255 - tunnel-agent "~0.4.1"  
3256 - uuid "^3.0.0"  
3257 -  
3258 request@2.x: 3146 request@2.x:
3259 version "2.82.0" 3147 version "2.82.0"
3260 resolved "https://registry.yarnpkg.com/request/-/request-2.82.0.tgz#2ba8a92cd7ac45660ea2b10a53ae67cd247516ea" 3148 resolved "https://registry.yarnpkg.com/request/-/request-2.82.0.tgz#2ba8a92cd7ac45660ea2b10a53ae67cd247516ea"
@@ -3335,14 +3223,6 @@ request@~2.75.0: @@ -3335,14 +3223,6 @@ request@~2.75.0:
3335 tough-cookie "~2.3.0" 3223 tough-cookie "~2.3.0"
3336 tunnel-agent "~0.4.1" 3224 tunnel-agent "~0.4.1"
3337 3225
3338 -require-directory@^2.1.1:  
3339 - version "2.1.1"  
3340 - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"  
3341 -  
3342 -require-main-filename@^1.0.1:  
3343 - version "1.0.1"  
3344 - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"  
3345 -  
3346 resolve-path@^1.3.1: 3226 resolve-path@^1.3.1:
3347 version "1.3.2" 3227 version "1.3.2"
3348 resolved "http://registry.npm.taobao.org/resolve-path/download/resolve-path-1.3.2.tgz#c20924408aff77466e819da548d7ce40a81d561f" 3228 resolved "http://registry.npm.taobao.org/resolve-path/download/resolve-path-1.3.2.tgz#c20924408aff77466e819da548d7ce40a81d561f"
@@ -3410,7 +3290,7 @@ semver@^5.0.3, semver@^5.3.0: @@ -3410,7 +3290,7 @@ semver@^5.0.3, semver@^5.3.0:
3410 version "5.4.1" 3290 version "5.4.1"
3411 resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" 3291 resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
3412 3292
3413 -set-blocking@^2.0.0, set-blocking@~2.0.0: 3293 +set-blocking@~2.0.0:
3414 version "2.0.0" 3294 version "2.0.0"
3415 resolved "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3295 resolved "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
3416 3296
@@ -3542,6 +3422,10 @@ source-map@0.1.31: @@ -3542,6 +3422,10 @@ source-map@0.1.31:
3542 dependencies: 3422 dependencies:
3543 amdefine ">=0.0.4" 3423 amdefine ">=0.0.4"
3544 3424
  3425 +"source-map@>= 0.1.2":
  3426 + version "0.6.1"
  3427 + resolved "http://npm.yoho.cn/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
  3428 +
3545 source-map@^0.4.4: 3429 source-map@^0.4.4:
3546 version "0.4.4" 3430 version "0.4.4"
3547 resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 3431 resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
@@ -3576,12 +3460,6 @@ sqlstring@2.2.0: @@ -3576,12 +3460,6 @@ sqlstring@2.2.0:
3576 version "2.2.0" 3460 version "2.2.0"
3577 resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.2.0.tgz#c3135c4ea8abcd7e7ee741a4966a891d86a4f191" 3461 resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.2.0.tgz#c3135c4ea8abcd7e7ee741a4966a891d86a4f191"
3578 3462
3579 -ssf@~0.10.1:  
3580 - version "0.10.1"  
3581 - resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.10.1.tgz#f23d82b63792ef56089089c1cd0c848e911cdba6"  
3582 - dependencies:  
3583 - frac "~1.1.0"  
3584 -  
3585 ssf@~0.8.1: 3463 ssf@~0.8.1:
3586 version "0.8.2" 3464 version "0.8.2"
3587 resolved "http://registry.npm.taobao.org/ssf/download/ssf-0.8.2.tgz#b9d4dc6a1c1bcf76f8abfa96d7d7656fb2abecd6" 3465 resolved "http://registry.npm.taobao.org/ssf/download/ssf-0.8.2.tgz#b9d4dc6a1c1bcf76f8abfa96d7d7656fb2abecd6"
@@ -3619,6 +3497,12 @@ sshpk@^1.7.0: @@ -3619,6 +3497,12 @@ sshpk@^1.7.0:
3619 jsbn "~0.1.0" 3497 jsbn "~0.1.0"
3620 tweetnacl "~0.14.0" 3498 tweetnacl "~0.14.0"
3621 3499
  3500 +static-eval@0.2.3:
  3501 + version "0.2.3"
  3502 + resolved "http://npm.yoho.cn/static-eval/-/static-eval-0.2.3.tgz#023f17ac9fee426ea788c12ea39206dc175f8b2a"
  3503 + dependencies:
  3504 + escodegen "~0.0.24"
  3505 +
3622 "statuses@>= 1.2.1 < 2", "statuses@>= 1.3.0 < 2", statuses@^1.2.0, statuses@^1.3.0: 3506 "statuses@>= 1.2.1 < 2", "statuses@>= 1.3.0 < 2", statuses@^1.2.0, statuses@^1.3.0:
3623 version "1.3.0" 3507 version "1.3.0"
3624 resolved "http://registry.npm.taobao.org/statuses/download/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" 3508 resolved "http://registry.npm.taobao.org/statuses/download/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a"
@@ -3644,7 +3528,7 @@ streamsearch@~0.1.2: @@ -3644,7 +3528,7 @@ streamsearch@~0.1.2:
3644 version "0.1.2" 3528 version "0.1.2"
3645 resolved "http://registry.npm.taobao.org/streamsearch/download/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" 3529 resolved "http://registry.npm.taobao.org/streamsearch/download/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
3646 3530
3647 -string-width@^1.0.1, string-width@^1.0.2: 3531 +string-width@^1.0.1:
3648 version "1.0.2" 3532 version "1.0.2"
3649 resolved "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3533 resolved "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
3650 dependencies: 3534 dependencies:
@@ -3693,12 +3577,6 @@ strip-ansi@^4.0.0: @@ -3693,12 +3577,6 @@ strip-ansi@^4.0.0:
3693 dependencies: 3577 dependencies:
3694 ansi-regex "^3.0.0" 3578 ansi-regex "^3.0.0"
3695 3579
3696 -strip-bom@^2.0.0:  
3697 - version "2.0.0"  
3698 - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"  
3699 - dependencies:  
3700 - is-utf8 "^0.2.0"  
3701 -  
3702 strip-eof@^1.0.0: 3580 strip-eof@^1.0.0:
3703 version "1.0.0" 3581 version "1.0.0"
3704 resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3582 resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -3884,6 +3762,14 @@ undefsafe@0.0.3: @@ -3884,6 +3762,14 @@ undefsafe@0.0.3:
3884 version "0.0.3" 3762 version "0.0.3"
3885 resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f" 3763 resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f"
3886 3764
  3765 +underscore@1.1.x:
  3766 + version "1.1.7"
  3767 + resolved "http://npm.yoho.cn/underscore/-/underscore-1.1.7.tgz#40bab84bad19d230096e8d6ef628bff055d83db0"
  3768 +
  3769 +underscore@1.7.0:
  3770 + version "1.7.0"
  3771 + resolved "http://npm.yoho.cn/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
  3772 +
3887 underscore@~1.4.4: 3773 underscore@~1.4.4:
3888 version "1.4.4" 3774 version "1.4.4"
3889 resolved "http://registry.npm.taobao.org/underscore/download/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" 3775 resolved "http://registry.npm.taobao.org/underscore/download/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
@@ -4006,20 +3892,12 @@ voc@: @@ -4006,20 +3892,12 @@ voc@:
4006 version "0.5.0" 3892 version "0.5.0"
4007 resolved "http://registry.npm.taobao.org/voc/download/voc-0.5.0.tgz#be6ca7c76e4a57d930cc80f6b31fbd80ca86045c" 3893 resolved "http://registry.npm.taobao.org/voc/download/voc-0.5.0.tgz#be6ca7c76e4a57d930cc80f6b31fbd80ca86045c"
4008 3894
4009 -voc@~1.0.0:  
4010 - version "1.0.0"  
4011 - resolved "https://registry.yarnpkg.com/voc/-/voc-1.0.0.tgz#5465c0ce11d0881f7d8e36d8ca587043f33a25ae"  
4012 -  
4013 wcwidth@^1.0.0: 3895 wcwidth@^1.0.0:
4014 version "1.0.1" 3896 version "1.0.1"
4015 resolved "http://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" 3897 resolved "http://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
4016 dependencies: 3898 dependencies:
4017 defaults "^1.0.3" 3899 defaults "^1.0.3"
4018 3900
4019 -which-module@^1.0.0:  
4020 - version "1.0.0"  
4021 - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"  
4022 -  
4023 which@1, which@~1.2.11: 3901 which@1, which@~1.2.11:
4024 version "1.2.11" 3902 version "1.2.11"
4025 resolved "http://registry.npm.taobao.org/which/download/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" 3903 resolved "http://registry.npm.taobao.org/which/download/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b"
@@ -4054,10 +3932,6 @@ window-size@0.1.0: @@ -4054,10 +3932,6 @@ window-size@0.1.0:
4054 version "0.1.0" 3932 version "0.1.0"
4055 resolved "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 3933 resolved "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
4056 3934
4057 -window-size@^0.2.0:  
4058 - version "0.2.0"  
4059 - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"  
4060 -  
4061 wordwrap@0.0.2: 3935 wordwrap@0.0.2:
4062 version "0.0.2" 3936 version "0.0.2"
4063 resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 3937 resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
@@ -4066,13 +3940,6 @@ wordwrap@~0.0.2: @@ -4066,13 +3940,6 @@ wordwrap@~0.0.2:
4066 version "0.0.3" 3940 version "0.0.3"
4067 resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 3941 resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
4068 3942
4069 -wrap-ansi@^2.0.0:  
4070 - version "2.1.0"  
4071 - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"  
4072 - dependencies:  
4073 - string-width "^1.0.1"  
4074 - strip-ansi "^3.0.1"  
4075 -  
4076 wrappy@1, wrappy@~1.0.2: 3943 wrappy@1, wrappy@~1.0.2:
4077 version "1.0.2" 3944 version "1.0.2"
4078 resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3945 resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -4108,18 +3975,6 @@ xdg-basedir@^3.0.0: @@ -4108,18 +3975,6 @@ xdg-basedir@^3.0.0:
4108 version "3.0.0" 3975 version "3.0.0"
4109 resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" 3976 resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
4110 3977
4111 -xlsx@^0.11.5:  
4112 - version "0.11.5"  
4113 - resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.11.5.tgz#8c66cd97140be072e3dd320d12baa099689ceb74"  
4114 - dependencies:  
4115 - adler-32 "~1.1.0"  
4116 - cfb "~0.13.1"  
4117 - codepage "~1.11.0"  
4118 - commander "~2.11.0"  
4119 - crc-32 "~1.1.1"  
4120 - exit-on-epipe "~1.0.1"  
4121 - ssf "~0.10.1"  
4122 -  
4123 xlsx@^0.8.0: 3978 xlsx@^0.8.0:
4124 version "0.8.0" 3979 version "0.8.0"
4125 resolved "http://registry.npm.taobao.org/xlsx/download/xlsx-0.8.0.tgz#253ca61c9e1e14aa4b905dece4ce4757ace99d26" 3980 resolved "http://registry.npm.taobao.org/xlsx/download/xlsx-0.8.0.tgz#253ca61c9e1e14aa4b905dece4ce4757ace99d26"
@@ -4140,40 +3995,10 @@ xmlhttprequest-ssl@1.5.1: @@ -4140,40 +3995,10 @@ xmlhttprequest-ssl@1.5.1:
4140 version "4.0.1" 3995 version "4.0.1"
4141 resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3996 resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
4142 3997
4143 -y18n@^3.2.1:  
4144 - version "3.2.1"  
4145 - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"  
4146 -  
4147 yallist@^2.1.2: 3998 yallist@^2.1.2:
4148 version "2.1.2" 3999 version "2.1.2"
4149 resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 4000 resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
4150 4001
4151 -yargs-parser@^3.2.0:  
4152 - version "3.2.0"  
4153 - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-3.2.0.tgz#5081355d19d9d0c8c5d81ada908cb4e6d186664f"  
4154 - dependencies:  
4155 - camelcase "^3.0.0"  
4156 - lodash.assign "^4.1.0"  
4157 -  
4158 -yargs@^5.0.0:  
4159 - version "5.0.0"  
4160 - resolved "https://registry.yarnpkg.com/yargs/-/yargs-5.0.0.tgz#3355144977d05757dbb86d6e38ec056123b3a66e"  
4161 - dependencies:  
4162 - cliui "^3.2.0"  
4163 - decamelize "^1.1.1"  
4164 - get-caller-file "^1.0.1"  
4165 - lodash.assign "^4.2.0"  
4166 - os-locale "^1.4.0"  
4167 - read-pkg-up "^1.0.1"  
4168 - require-directory "^2.1.1"  
4169 - require-main-filename "^1.0.1"  
4170 - set-blocking "^2.0.0"  
4171 - string-width "^1.0.2"  
4172 - which-module "^1.0.0"  
4173 - window-size "^0.2.0"  
4174 - y18n "^3.2.1"  
4175 - yargs-parser "^3.2.0"  
4176 -  
4177 yargs@~3.10.0: 4002 yargs@~3.10.0:
4178 version "3.10.0" 4003 version "3.10.0"
4179 resolved "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 4004 resolved "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"