diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..57e5670
Binary files /dev/null and b/.DS_Store differ
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 0000000..6e4e9f8
Binary files /dev/null and b/public/.DS_Store differ
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 0000000..973c45e
Binary files /dev/null and b/public/images/.DS_Store differ
diff --git a/public/images/client/kefu.svg b/public/images/client/kefu.svg
new file mode 100644
index 0000000..1d8857d
--- /dev/null
+++ b/public/images/client/kefu.svg
@@ -0,0 +1,2 @@
+
\ 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 = '
\n' +
+ var html = '
\n' +
'
\n' +
'
\n' +
'
\n' +
@@ -125,6 +125,7 @@ layui.use(['layer', 'form', 'jquery'], function () {
'
' + name + ' ' +
'
已离线 \n' +
'
' +
+ '
备注 '
'
';
$('.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"