From 82d6c0c7d92a5415e8369d5590374419035fba8b Mon Sep 17 00:00:00 2001 From: yaclty Date: Thu, 9 Jan 2020 20:20:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=8F=AF=E4=BB=A5=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E8=81=8A=E5=A4=A9=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes app.js | 4 +- io/io.js | 56 ++- model/session.js | 8 +- package.json | 2 + public/.DS_Store | Bin 0 -> 6148 bytes public/css/client.css | 32 +- public/css/server.css | 15 + public/images/.DS_Store | Bin 0 -> 6148 bytes public/images/client/kefu.svg | 2 + public/js/client/client.js | 197 ++++++---- public/js/server/index.js | 28 +- routes/users.js | 46 ++- views/client/index.ejs | 99 ++--- yarn.lock | 663 +++++++++++++++++++++++++++++++++- 15 files changed, 998 insertions(+), 154 deletions(-) create mode 100644 .DS_Store create mode 100644 public/.DS_Store create mode 100644 public/images/.DS_Store create mode 100644 public/images/client/kefu.svg diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..57e56706fe6b730e20a48558c86221d3aa534e53 GIT binary patch literal 6148 zcmeHK%We}f6ur)?Gqi{xA+^idAhC#|1Sq0Hl|o1tT_7QXU;!wd$%J;wbQ~o!jYdht-&mLW*ZY>tJwSB$4e|U6u@n-&Z@$RDxlNdHMX;(DIe$O$t(6?d^v`<1I z{L))8CadJa??Y-zw=nfC#{L@lG5B&Bh)A;iNx$^yYw%039704f%yGZw#+Kn0bbCw( zbf0?k5ZJ`n{cLOH{X%OKj4z?M7@b_O>F72T3;C+$Ef#K?U6ri{h$*L#GrCT242fyZ^2UgFl~Iyy6b7zK<1|C9n^e{hflb~G*( z%B=&LyaE6#sFsGZ_(LFk9E}}~ONDp?W6Bk%T$#RNFy)SVNAo%wmkO0TF@5=9x@V?u zC`|T__8mzl)=_A3qkvH$t3X*j*2VdM@aOw~*2z2>1&jj!l>)5N>-V|{NuRBS;KW($ uARQqI6TGED>4Hoj$Fd-f;vFPuc;|=$u%mIQ5H&FKM?lJ8GNZs+75E8_HVAY8 literal 0 HcmV?d00001 diff --git a/app.js b/app.js index 5e703ab..0085e95 100644 --- a/app.js +++ b/app.js @@ -32,14 +32,14 @@ app.use('/users', users); app.use('/message', message); // catch 404 and forward to error handler -app.use(function(req, res, next) { +app.use(function (req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handler -app.use(function(err, req, res, next) { +app.use(function (err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; diff --git a/io/io.js b/io/io.js index 76b723a..83abffb 100644 --- a/io/io.js +++ b/io/io.js @@ -10,6 +10,7 @@ var AppConfig = require('../config'); var Common = require('../utils/common'); var msgModel = require('../model/message'); const sessoionModel = require('../model/session'); +const userModel = require('./../model/users'); //服务端连接 function ioServer(io) { @@ -47,24 +48,25 @@ function ioServer(io) { if (type != 'kefu') { let gongHao = msg.kefu_id; let location = Common.getIpLocation(msg.ip); - console.log('来自', location, '的客户连接并登录了处理客服gongHao=>', gongHao) // 获取管理员的socket try { //获取管理员 socket - let kefuData = await sessoionModel.find(gongHao); + let kefuData = await sessoionModel.find(gongHao,null); if (kefuData) { // 找到客服数据 + console.log('来自', location, '的客户连接,处理客服 gongHao=>', gongHao) // let socket = socket.id; // let type = 'customer'; // let kefu_id = gongHao; let clientInfo = { - "uid": uid, - "nickname": location + ' 客户', - "type": 'online', + uid, + nickname: location + ' 客户', + type: 'online', status: 1, }; // 添加客户到 对应的客服 await sessoionModel.createOrUpdate({uid}, (isCreate) => { + console.log('is new ',isCreate); let data = { uid, socket: socket.id, @@ -73,12 +75,19 @@ function ioServer(io) { }; if (isCreate) { data['type'] = 'customer'; - data['nickname'] = clientInfo.name; + data['nickname'] = clientInfo.nickname; } return data; }) + socket.emit('connect-success',{ + nickname:kefuData.nickname, + socket:kefuData.socket, + status:kefuData.status + }); // 给管理员发送通知 io.to(kefuData.socket).emit('update-users', clientInfo); + }else{ + socket.emit('log','暂无客服可用,请使用其他方式联系!') } } catch (e) { //TODO 失败重发机制 @@ -88,16 +97,32 @@ function ioServer(io) { } else { try { + let kefu = await userModel.findByUserName(uid); // 保存客服socket sessoionModel.createOrUpdate({uid}, { uid, socket: socket.id, type: 'kefu', - nickname: '客服 ' + uid, + nickname: kefu.nickname, status: 1 }) + + try{ + let sessList = await sessoionModel.findByCondition({status:1,kefu_id:uid}); + + sessList.forEach(s => { + io.to(s.socket).emit('connect-success',{ + nickname:kefu.nickname, + socket:socket.id, + status:1 + }); + // io.to(s.socket).emit('kefu-logout', user); + }); + }catch(e){ + + } } catch (e) { - console.log('客服' + uid + '登录失败了', e); + console.log('客服 ' + uid + ' 登录失败了', e); } } }); @@ -107,9 +132,22 @@ function ioServer(io) { // _self.updateOnlineCount(false); let user = socket['_user']; if (user) { - console.log("与服务其断开",user); // 更新用户状态 await sessoionModel.update(user.uid, {status: 0}); + console.log("用户已经中断了连接",user); + if(user.type == 'kefu'){ + // 将所有的客服服务对象下线 + try{ + let sessList = await sessoionModel.findByCondition({status:1,kefu_id:user.uid}); + + sessList.forEach(s => { + io.to(s.socket).emit('kefu-logout', user); + }); + }catch(e){ + + } + return; + } if (user.type == 'customer' && user.kefu_id) { // 查找对应kf通知下线操作 let kf_data = await sessoionModel.find(user.kefu_id); diff --git a/model/session.js b/model/session.js index e1e32bc..48985db 100644 --- a/model/session.js +++ b/model/session.js @@ -21,9 +21,13 @@ const sessionModel = mongoose.model("sessions", SessionSchema); module.exports = { - find(uid) { + find(uid,status = 1) { return new Promise((success, fail) => { - sessionModel.findOne({uid, status: 1}, (err, session) => { + let condition = {uid}; + if(status != null){ + condition.status = status; + } + sessionModel.findOne(condition, (err, session) => { if (err) fail(err); else success(session) }) diff --git a/package.json b/package.json index 78197dd..7f7d336 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,11 @@ "ejs": "~2.5.6", "express": "~4.15.2", "express-session": "^1.16.2", + "global": "^4.4.0", "lib-qqwry": "^1.3.1", "mongoose": "^4.12.5", "morgan": "~1.8.1", + "nodemon": "^2.0.2", "qiniu": "^7.1.1", "redis": "^2.8.0", "serve-favicon": "~2.4.2", diff --git a/public/.DS_Store b/public/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6e4e9f87da0a3c5d19b5afe2f20f356def48f85a GIT binary patch literal 6148 zcmeHKON-P%5U!q?9n&fjL2v~R0S|iE!wf!F@e;;eK@b$PxCbAz$tLVXVtUDA2N?!} z;ME_XS0DH{)F0s=@vL7z6tko5O;Ed_`m3(4s?c9%x>H2NMs++Sa*4=+O6+h9KM}bu zbwN7D(+4tHLu^Nxh%l4oto#iO$amMJZ7Qj}k+t66Rji!*qC{<^Pbod7kaj3ph<*3F z*l1ern%~9eXg5pCYB2c3I^Et<|B%BE^P~J2=MRF3mR`_CB;1%ydgw}0BwiS-87kw-4oYDUWI9%6sn%Caep(-V=*0xI*&^g zZ;C7Xc34eNhoAA&EwxeZ@Ugo*n+-1ySG)@sugq7x+3M;5_W4WmIp@x)v)AuDte-xA z@$%K{H*ep6P+7$A7f^EC;5YaPqeb3cP~@4&ci@*f9eT8%P<9gjAIV>$4AeiNn$q@b zV$b$PVrs=QU>UFs9K?V*u$&_Y1=@AXfMwvnV?dq{9#o=lu+gZF4h*UV0QTTk0$Y9j z13l>g`UV?~@IaVO1?p60S`21-2d2}p?wj~VqfRHLo{T!?$;@;p%(NcNQ{lvXjdrvQ zSO(e*boJDg_y78@`~P;5ommDf1OF5QthW}djj$ziw=Qf>-nAZd3o1p%H5$LCz))8) gV&zr53{?WZCk>!)u+az)#C`}U8th;h_@fMb1#}{gPyhe` literal 0 HcmV?d00001 diff --git a/public/css/client.css b/public/css/client.css index d20ee45..1c18a0e 100644 --- a/public/css/client.css +++ b/public/css/client.css @@ -6,6 +6,19 @@ body { a { color: #00B7FF; } +.float-left{ + float:left; +} +.float-right{ + float:right; +} +.clear-float::after{ + content:' '; + display: block; +} +.clear-float,.clear-float::after{ + clear:both; +} .page-current{ background: #ffffff; @@ -159,7 +172,7 @@ a { .footer .input-holder .text-holder { float: left; - width: calc(100% - 3rem); + width: calc(100% - 1.5rem); position: relative; padding-right: 50px; padding-left: 4px; @@ -176,14 +189,10 @@ a { overflow-x: hidden; overflow-y: auto; resize: none; - vertical-align: middle; outline: 0; border: 0; word-break: break-all; font-size: 14px; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } .footer .input-holder .text-holder #btnSend { @@ -209,7 +218,7 @@ a { .emoji-image{ float: left; - width: 3rem; + width: 1.5rem; text-align: center; margin-top: 0.85rem; } @@ -257,3 +266,14 @@ a { height: 30px; } +.log-box{ + text-align: center; +} +.log-box .log-content{ + background: #ddd; + color:#fff; + display: inline-block; + padding: 2px 8px; + font-size: 13px; + border-radius: 20px; +} \ No newline at end of file diff --git a/public/css/server.css b/public/css/server.css index 8e03f62..3688115 100644 --- a/public/css/server.css +++ b/public/css/server.css @@ -141,6 +141,21 @@ font-size: 12px; padding:14px 0; } +.user-info .rename{ + position: absolute; + width: 50px; + font-size: 13px; + display: none; + right: 0; + top: 0; + height: 50px; + color: #666; + text-align: center; + line-height: 50px; +} +.user-info:hover .rename{ + display: block; +} .empty-status{ width: 150px; diff --git a/public/images/.DS_Store b/public/images/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..973c45e16a51296892ef79d44b1de07fc7d124cf GIT binary patch literal 6148 zcmeHK&2G~`5S~p#x^9KY0jWLug2bUhiTEi9Az7gudP6dT1EAJ!qSlh}MzPZf(jZ@W z2zUb?g(u)~;G5m0ikoui1tFM`X203lnYH)Z)&3BX8cc_MqAn3>C}S%?afxs{>x#6z zrvp^BkAkZG+#IF3Nmru9@i#KSbJw9G$|<7}HRq2P#bfC0A6D$|H)7LSIrek?Egk1s zS@n9~Rcoz%t+TGR-qhFi+xW!H;wq`8<;8 z0=;#s|78F0-TM#ov&F~Hb{M3vV6EKn_zS+kXbkc+o)oz$j^XE=jb*av4vj(D@zSDa z(!N5Qq?I6dLZ@6dW7XD$*bQ2Wy}W<*=|T>wBEo<$APiiE0lx+6&8s9ytS}%9{1*)H z{t!YLBagL1yLF(jPXJ&WZY!|)2E;j`$H-&t5G@epQh_d2`6q^Q>F|d>F7jAAbm^r0 z<3sr`EB``K_Uq_BwBe*8hf)dy!a$ROHCOHO`Ty+q@Be0!)Pw \ No newline at end of file diff --git a/public/js/client/client.js b/public/js/client/client.js index 5598f9d..798a2de 100644 --- a/public/js/client/client.js +++ b/public/js/client/client.js @@ -1,72 +1,73 @@ -$(function(){ +$(function () { //Socket.IO 连接 - var socket = io.connect('http://'+document.domain+':9010',{ - "transports":['websocket', 'polling'] + var socket = io.connect('http://' + document.domain + ':9010', { + transports: ['websocket', 'polling'], + autoConnect: false }); var uuid = ''; - function insert_client_html(msg){ + function insert_client_html(msg) { var time = dateFormat(); - if(msg.time){ - time = dateFormat("yyyy-MM-dd hh:mm:ss",new Date(msg.time)); + if (msg.time) { + time = dateFormat("yyyy-MM-dd hh:mm:ss", new Date(msg.time)); } - if(!msg.chat_type){ + if (!msg.chat_type) { msg.chat_type = 'text'; } - var tpl = '
'+ - '
'+ - '
' + time + ' 我' + '
'; + var tpl = '
' + + '
' + + '
' + time + ' 我' + '
'; - if(msg.chat_type == "text"){ - tpl += '
'+ - ''+ - '
' + msg.content + '
'+ - ''+ - '
'; - }else if(msg.chat_type == "image"){ + if (msg.chat_type == "text") { + tpl += '
' + + '' + + '
' + msg.content + '
' + + '' + + '
'; + } else if (msg.chat_type == "image") { tpl += ' '; } - tpl += '
'+ - '
'; + tpl += '
' + + '
'; $(".msg-container").append(tpl); } - function insert_agent_html(msg){ + function insert_agent_html(msg) { var time = dateFormat(); - if(msg.time){ - time = dateFormat("yyyy-MM-dd hh:mm:ss",new Date(msg.time)); + if (msg.time) { + time = dateFormat("yyyy-MM-dd hh:mm:ss", new Date(msg.time)); } - if(!msg.chat_type){ + if (!msg.chat_type) { msg.chat_type = 'text'; } - var tpl = '
'+ - '
'+ - '
'+ - ''+ - '
'+ - '
' + time + ' 客服' + '
'; + var tpl = '
' + + '
' + + '
' + + '' + + '
' + + '
' + time + ' 客服' + '
'; - if(msg.chat_type == "text"){ - tpl += '
'+ - ''+ - ''+ - '
'+ - '
'; - }else if(msg.chat_type == "image"){ + if (msg.chat_type == "text") { + tpl += '
' + + '' + + '' + + '
' + + '
'; + } else if (msg.chat_type == "image") { tpl += ' '; } - tpl += '
'+ + tpl += '
' + '
'; - $(tpl).appendTo(".msg-container").find('.text').html(msg.content.replace(/\n/g,"
")); + $(tpl).appendTo(".msg-container").find('.text').html(msg.content.replace(/\n/g, "
")); } //聊天窗口自动滚到底 @@ -76,33 +77,53 @@ $(function(){ } //获取最新的五条数据 - function get_message(uid) { - $.get('/message?uid='+uid,function (data) { - if(data.code == 200){ + function get_message(uid, callback = null) { + $.get('/message?uid=' + uid, function (data) { + if (data.code == 200) { data.data.reverse().forEach(function (msg) { - if(msg.from_uid == uid){ + if (msg.from_uid == uid) { insert_client_html(msg); - }else{ + } else { insert_agent_html(msg); } - - scrollToBottom(); }); + if (callback) { + callback.call(); + } + + scrollToBottom(); } }); } + function showLog(message) { + var log = $('
'); + log.html('' + message + '').appendTo('#msg-container'); + } - - const gongHao = 10001; - $("#btnSend").click(function(){ - var msg = $("#textarea").val(); - if(msg){ + function getQuery(name) { + var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 + var r = window.location.search.substr(1).match(reg); //匹配目标参数 + if (r != null) return decodeURI(r[2]); return null; //返回参数值 + } + console.log( + getQuery('id') + ); + var gongHao = getQuery('id'); + gongHao = gongHao ? gongHao : 10001; + var loginSuccess = false; + $("#btnSend").click(function () { + var msg = $("#textarea").val().trim(); + if (msg) { + if (loginSuccess == false) { + showLog('连接服务器失败,请稍后再试!') + return false; + } var msg_sender = { - "type":'private', - "uid":gongHao, - "content":msg, - "from_uid":uuid, - "chat_type":'text' + "type": 'private', + "uid": gongHao, + "content": msg.replace(/\r\n/ig,'
').replace(/\n/ig,'
'), + "from_uid": uuid, + "chat_type": 'text' }; socket.emit('message', msg_sender); insert_client_html(msg_sender); @@ -113,7 +134,7 @@ $(function(){ $(".emoji-list li").click(function () { var content = $("#textarea").val(); - $("#textarea").val(content + " " +$(this).html()+ " " ); + $("#textarea").val(content + " " + $(this).html() + " "); $(".emoji-list").toggle(); }); @@ -126,21 +147,43 @@ $(function(){ //uuid = 'chat'+ guid(); let uuid_store_key = 'kf_c_uuid'; uuid = localStorage.getItem(uuid_store_key); - if(!uuid){ + if (!uuid) { uuid = (new Fingerprint()).get(); - localStorage.setItem(uuid_store_key,uuid);//save uuid to ls + localStorage.setItem(uuid_store_key, uuid);//save uuid to ls } - console.log('连接成功...'+uuid); + console.log('连接成功...' + uuid); var ip = $("#keleyivisitorip").text(); var msg = { - "uid" : uuid, - "ip" : ip, - kefu_id:gongHao, - type:'customer' + "uid": uuid, + "ip": ip, + kefu_id: gongHao, + type: 'customer' }; socket.emit('login', msg); - get_message(uuid); + }); + + socket.on('kefu-logout', function (ret) { + loginSuccess = false; + showLog('当前客服不在线,可以给他留言哟') + document.title = "给客服留言"; + $('#kefu_name').html("给客服留言"); + }); + + socket.on('connect-success', function (ret) { + loginSuccess = true; + if (ret.status == 1) { + showLog("客服" + ret.nickname + "正在为您服务!") + document.title = "客服" + ret.nickname + "正在为您服务!"; + $('#kefu_name').html("客服 " + ret.nickname + " 正在为您服务!"); + } else { + showLog('当前客服不在线,可以给他留言哟') + document.title = "给客服留言"; + $('#kefu_name').html("给客服留言"); + } + // get_message(uuid,()=>{ + + // }); }); // /* 后端推送来消息时 @@ -148,13 +191,25 @@ $(function(){ // type 消息类型 image,text // content 消息 // */ - socket.on('message', function(msg){ + socket.on('message', function (msg) { insert_agent_html(msg); scrollToBottom(); }); - socket.on('log',function (msg) { - console.log(msg); + socket.on('log', function (msg) { + showLog(msg); }) + $.get('/users/kefu', { id: gongHao }, function (data) { + if (data.code == 200) { + var data = data.data; + if (data.description) { + var log = $('
'); + log.html(data.description.replace(/\r\n/ig, "
")).appendTo('#msg-container'); + } + socket.connect();// 开始连接到服务器 + } else { + showLog(data.message); + } + }, 'json'); }); \ No newline at end of file diff --git a/public/js/server/index.js b/public/js/server/index.js index 3aca85b..41f423b 100644 --- a/public/js/server/index.js +++ b/public/js/server/index.js @@ -117,7 +117,7 @@ layui.use(['layer', 'form', 'jquery'], function () { function insert_user_html(id, name, u) { - var html = ''; $('.chat-user').append(html); } @@ -155,11 +156,11 @@ layui.use(['layer', 'form', 'jquery'], function () { //设置 在线状态(人数) function update_online_status() { - var num = uuids.length; - if (online_num > num) { - num = online_num; - } - $(".friend-head-right").html(online_num + ' / ' + num + ' 人'); + // var num = uuids.length; + // if (online_num > num) { + // num = online_num; + // } + // $(".friend-head-right").html(online_num + ' / ' + num + ' 人'); } //发送消息 @@ -308,8 +309,21 @@ layui.use(['layer', 'form', 'jquery'], function () { }); //切换用户 - $(document).on('click', '.user-info', function () { + $(document).on('click', '.user-info', function (e) { + var me = $(this); var uid = $(this).attr("id"); + var nickname = $(this).attr("data-name"); + if($(e.target).hasClass('rename')){ + var newName = prompt("请填写您的备注名称",nickname); + if(newName != nickname){ + $.post('/users/rename',{uid,newName},function(ret){ + if(ret.code == 200){ + me.attr('data-name',newName).find('span.nickname').text(newName); + } + }); + } + return false; + } currentUUID = uid; $(".user-info").css("background", "#ffffff").removeClass('selected'); $(this).addClass('selected'); diff --git a/routes/users.js b/routes/users.js index 92f594a..f150cc8 100644 --- a/routes/users.js +++ b/routes/users.js @@ -3,16 +3,56 @@ var router = express.Router(); var redis = require('../utils/redis'); // import model from './../model/session' const model = require('./../model/session'); +const user = require('./../model/users'); /* GET users listing. */ router.get('/', async function (req, res, next) { try { - let data = await model.findByCondition({type: 'customer',status:1, kefu_id: req.cookies.username}); - return res.send({code: 200, msg: '获取成功', data: data ? data : []}); + let data = await model.findByCondition({ type: 'customer', status: 1, kefu_id: req.cookies.username }); + return res.send({ code: 200, msg: '获取成功', data: data ? data : [] }); } catch (e) { - return res.send({code: 400, msg: '获取失败'}); + return res.send({ code: 400, msg: '获取失败' }); } }); +router.get('/kefu', async (req, res, next) => { + var kf_id = req.query.id; + + if (!kf_id) { + return res.send({ code: 500, msg: "参数不全" }); + } + try { + let data = await user.findByUserName(kf_id); + console.log(data) + if (data) { + return res.send({ code: 200, msg: '获取成功', data: data ? data : [] }); + }else{ + return res.send({ code: 0, msg: '当前客服不可用', data: null }); + } + } catch (e) { + console.error(e); + return res.send({ code: 400, msg: '获取失败' }); + } + +}); + +router.post('/rename', async (req, res, next) => { + let data = req.body; + let uid = data.uid; + let nickname = data.newName; + + if (!uid || !nickname) { + return res.send({ code: 500, msg: "参数不正确" }); + } + try { + let data = await model.update(uid,{nickname}); + return res.send({ code: 200, msg: '更新成功', data: {uid,nickname} }); + } catch (e) { + console.error(e); + return res.send({ code: 400, msg: '获取失败' }); + } + +}); + module.exports = router; diff --git a/views/client/index.ejs b/views/client/index.ejs index ef55fc6..70e6e02 100644 --- a/views/client/index.ejs +++ b/views/client/index.ejs @@ -1,5 +1,6 @@ + @@ -15,61 +16,61 @@ -
-
- -
- -

客服系统

-
- -
-
+
+
+ +
+ +

+

-
+ +
+ + +
+
- -
-
    -
  • 😁
  • -
  • 😂
  • -
  • 😃
  • -
  • 😄
  • -
  • 😅
  • -
  • 😆
  • -
  • 😇
  • -
  • 😈
  • -
  • 😉
  • -
  • 😊
  • -
  • 😋
  • -
  • 😌
  • -
+ + +
+
    +
  • 😁
  • +
  • 😂
  • +
  • 😃
  • +
  • 😄
  • +
  • 😅
  • +
  • 😆
  • +
  • 😇
  • +
  • 😈
  • +
  • 😉
  • +
  • 😊
  • +
  • 😋
  • +
  • 😌
  • +
+
-
- - - - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 3f2547b..a8dafcf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + accepts@~1.3.3, accepts@~1.3.4: version "1.3.7" resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -27,6 +32,18 @@ agentkeepalive@3.3.0: dependencies: humanize-ms "^1.2.1" +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= + dependencies: + string-width "^2.0.0" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1566431369422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -39,6 +56,14 @@ any-promise@^1.3.0: resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -79,6 +104,11 @@ backo2@1.0.2: resolved "https://registry.npm.taobao.org/backo2/download/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + base64-arraybuffer@0.1.5: version "0.1.5" resolved "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" @@ -101,6 +131,11 @@ better-assert@~1.0.0: dependencies: callsite "1.0.0" +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + blob@0.0.5: version "0.0.5" resolved "https://registry.npm.taobao.org/blob/download/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" @@ -127,6 +162,34 @@ body-parser@~1.17.1: raw-body "~2.2.0" type-is "~1.6.15" +boxen@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + bson@~1.0.4: version "1.0.9" resolved "https://registry.npm.taobao.org/bson/download/bson-1.0.9.tgz#12319f8323b1254739b7c6bef8d3e89ae05a2f57" @@ -147,7 +210,17 @@ callsite@1.0.0: resolved "https://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= -chalk@^2.4.2: +camelcase@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + +chalk@^2.0.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1569560967260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= @@ -156,6 +229,31 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chokidar@^3.2.2: + version "3.3.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" + optionalDependencies: + fsevents "~2.1.2" + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -188,6 +286,23 @@ component-inherit@0.0.3: resolved "https://registry.npm.taobao.org/component-inherit/download/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +configstore@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" + integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + content-disposition@0.5.2: version "0.5.2" resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" @@ -226,6 +341,27 @@ crc32@0.2.2: resolved "https://registry.npm.taobao.org/crc32/download/crc32-0.2.2.tgz#7ad220d6ffdcd119f9fc127a7772cacea390a4ba" integrity sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo= +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + debug@2.6.7: version "2.6.7" resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" @@ -240,7 +376,7 @@ debug@2.6.8: dependencies: ms "2.0.0" -debug@2.6.9, debug@^2.6.0, debug@~2.6.3, debug@~2.6.4, debug@~2.6.6: +debug@2.6.9, debug@^2.2.0, debug@^2.6.0, debug@~2.6.3, debug@~2.6.4, debug@~2.6.6: version "2.6.9" resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= @@ -254,6 +390,13 @@ debug@=3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" +debug@^3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + debug@~4.1.0: version "4.1.1" resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -261,6 +404,11 @@ debug@~4.1.0: dependencies: ms "^2.1.1" +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + default-user-agent@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/default-user-agent/download/default-user-agent-1.0.0.tgz#16c46efdcaba3edc45f24f2bd4868b01b7c2adc6" @@ -305,11 +453,28 @@ digest-header@^0.0.1: dependencies: utility "0.1.11" +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= + +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + double-ended-queue@^2.1.0-0: version "2.1.0-0" resolved "https://registry.npm.taobao.org/double-ended-queue/download/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw= +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + ee-first@1.1.1, ee-first@~1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -415,6 +580,19 @@ etag@~1.8.0, etag@~1.8.1: resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + express-session@^1.16.2: version "1.16.2" resolved "https://registry.npm.taobao.org/express-session/download/express-session-1.16.2.tgz#59f36d7770e94872d19b163b6708a2d16aa6848c" @@ -471,6 +649,13 @@ extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@~1.0.6: version "1.0.6" resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f" @@ -510,6 +695,11 @@ fresh@0.5.2: resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= +fsevents@~2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" + integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -520,6 +710,55 @@ gbk.js@^0.2.0: resolved "https://registry.npm.taobao.org/gbk.js/download/gbk.js-0.2.4.tgz#45b609764347c63e4473214adf74cd5359027c8e" integrity sha1-RbYJdkNHxj5EcyFK33TNU1kCfI4= +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +glob-parent@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + dependencies: + is-glob "^4.0.1" + +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + dependencies: + ini "^1.3.4" + +global@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +got@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + has-binary2@~1.0.2: version "1.0.3" resolved "https://registry.npm.taobao.org/has-binary2/download/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" @@ -571,6 +810,21 @@ iconv-lite@^0.4.15: dependencies: safer-buffer ">= 2.1.2 < 3" +ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + indexof@0.0.1: version "0.0.1" resolved "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" @@ -586,6 +840,11 @@ inherits@~2.0.1: resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + ipaddr.js@1.4.0: version "1.4.0" resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0" @@ -598,11 +857,25 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-buffer@^2.0.2: version "2.0.3" resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" integrity sha1-Ts8/z3ScvR5HJonhCaxmJhol5yU= +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + is-data-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" @@ -626,6 +899,53 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -633,6 +953,21 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + +is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + isarray@2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/isarray/download/isarray-2.0.1.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" @@ -643,6 +978,11 @@ isarray@~1.0.0: resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + isobject@^3.0.1: version "3.0.1" resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" @@ -658,6 +998,13 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha1-ARRrNqYhjmTljzqNZt5df8b20FE= +latest-version@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= + dependencies: + package-json "^4.0.0" + lib-qqwry@^1.3.1: version "1.3.1" resolved "https://registry.npm.taobao.org/lib-qqwry/download/lib-qqwry-1.3.1.tgz#440643cc6115165c23144d03c1ae26f75e528696" @@ -681,6 +1028,26 @@ lodash@^4.14.0: resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -723,7 +1090,21 @@ mime@^1.3.4: resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= -minimist@^1.1.0: +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + dependencies: + dom-walk "^0.1.0" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.0, minimist@^1.2.0: version "1.2.0" resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= @@ -815,6 +1196,41 @@ negotiator@0.6.2: resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= +nodemon@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.2.tgz#9c7efeaaf9b8259295a97e5d4585ba8f0cbe50b0" + integrity sha512-GWhYPMfde2+M0FsHnggIHXTqPDHXia32HRhh6H0d75Mt9FKUoCBvumNHr7LdrpPBTKxsWmIEOjoN+P4IU6Hcaw== + dependencies: + chokidar "^3.2.2" + debug "^3.2.6" + ignore-by-default "^1.0.1" + minimatch "^3.0.4" + pstree.remy "^1.1.7" + semver "^5.7.1" + supports-color "^5.5.0" + touch "^3.1.0" + undefsafe "^2.0.2" + update-notifier "^2.5.0" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + object-component@0.0.3: version "0.0.3" resolved "https://registry.npm.taobao.org/object-component/download/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" @@ -852,6 +1268,21 @@ osx-release@^1.0.0: dependencies: minimist "^1.1.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +package-json@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + parseqs@0.0.5: version "0.0.5" resolved "https://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" @@ -871,6 +1302,16 @@ parseurl@~1.3.1, parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -883,11 +1324,31 @@ pause-stream@~0.0.11: dependencies: through "~2.3" +picomatch@^2.0.4, picomatch@^2.0.7: + version "2.2.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" + integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprocess-nextick-args%2Fdownload%2Fprocess-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + progress@^2.0.3: version "2.0.3" resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -901,6 +1362,16 @@ proxy-addr@~1.1.5: forwarded "~0.1.0" ipaddr.js "1.4.0" +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +pstree.remy@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.7.tgz#c76963a28047ed61542dc361aa26ee55a7fa15f3" + integrity sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A== + qiniu@^7.1.1: version "7.2.2" resolved "https://registry.npm.taobao.org/qiniu/download/qiniu-7.2.2.tgz#94425193f6b1dbd093fd78583070a64dde6cc5e7" @@ -948,6 +1419,16 @@ raw-body@~2.2.0: iconv-lite "0.4.15" unpipe "1.0.0" +rc@^1.0.1, rc@^1.1.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + readable-stream@2.2.7: version "2.2.7" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.2.7.tgz#07057acbe2467b22042d36f98c5ad507054e95b1" @@ -961,6 +1442,13 @@ readable-stream@2.2.7: string_decoder "~1.0.0" util-deprecate "~1.0.1" +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + dependencies: + picomatch "^2.0.7" + redis-commands@^1.2.0: version "1.5.0" resolved "https://registry.npm.taobao.org/redis-commands/download/redis-commands-1.5.0.tgz#80d2e20698fe688f227127ff9e5164a7dd17e785" @@ -993,6 +1481,21 @@ regexp-clone@0.0.1: resolved "https://registry.npm.taobao.org/regexp-clone/download/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589" integrity sha1-p8LgmJH9vzj7sQ03b7cwA+aKxYk= +registry-auth-token@^3.0.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" + integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= + dependencies: + rc "^1.0.1" + require_optional@~1.0.0: version "1.0.1" resolved "https://registry.npm.taobao.org/require_optional/download/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e" @@ -1038,7 +1541,14 @@ safe-regex@^1.1.0: resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= -semver@^5.0.1, semver@^5.1.0: +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + +semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1565627362346&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= @@ -1093,6 +1603,23 @@ setprototypeof@1.1.0: resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + sliced@0.0.5: version "0.0.5" resolved "https://registry.npm.taobao.org/sliced/download/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f" @@ -1204,6 +1731,14 @@ stream.pipeline-shim@^1.0.4: function-bind "^1.1.1" stream.finished "^1.2.0" +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string_decoder@~1.0.0: version "1.0.3" resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz?cache=0&sync_timestamp=1565170823020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring_decoder%2Fdownload%2Fstring_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" @@ -1211,23 +1746,59 @@ string_decoder@~1.0.0: dependencies: safe-buffer "~5.1.0" -supports-color@^5.3.0: +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= dependencies: has-flag "^3.0.0" +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + through@~2.3: version "2.3.8" resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + to-array@0.1.4: version "0.1.4" resolved "https://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.2: version "3.0.2" resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -1238,6 +1809,13 @@ to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" + tunnel-agent@0.6.0: version "0.6.0" resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -1265,11 +1843,53 @@ ultron@~1.1.0: resolved "https://registry.npm.taobao.org/ultron/download/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" integrity sha1-n+FTahCmZKZSZqHjzPhf02MCvJw= +undefsafe@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76" + integrity sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY= + dependencies: + debug "^2.2.0" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + +update-notifier@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== + dependencies: + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-ci "^1.0.10" + is-installed-globally "^0.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + urllib@2.22.0: version "2.22.0" resolved "https://registry.npm.taobao.org/urllib/download/urllib-2.22.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furllib%2Fdownload%2Furllib-2.22.0.tgz#2965dc4ae127a6fb695b7db27d3184f17d82cb42" @@ -1313,6 +1933,20 @@ vary@~1.1.1: resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + dependencies: + string-width "^2.1.1" + win-release@^1.0.0: version "1.1.1" resolved "https://registry.npm.taobao.org/win-release/download/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" @@ -1320,6 +1954,15 @@ win-release@^1.0.0: dependencies: semver "^5.0.1" +write-file-atomic@^2.0.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + ws@~3.3.1: version "3.3.3" resolved "https://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -1336,11 +1979,21 @@ ws@~6.1.0: dependencies: async-limiter "~1.0.0" +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + xmlhttprequest-ssl@~1.5.4: version "1.5.5" resolved "https://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.5.tgz?cache=0&sync_timestamp=1564594466893&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlhttprequest-ssl%2Fdownload%2Fxmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + yeast@0.1.2: version "0.1.2" resolved "https://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"