master
DIYgod 6 years ago
parent b5a9abe6e2
commit c40ef82a1f
No known key found for this signature in database
GPG Key ID: EC0B76A252D3EF67
  1. 8
      index.js
  2. 14
      package.json
  3. 2
      routes/all.js
  4. 122
      routes/v2/bilibili.js
  5. 53
      routes/v2/get.js
  6. 117
      routes/v2/post.js
  7. 549
      yarn.lock

@ -8,7 +8,11 @@ var app = express();
app.all('*', require('./routes/all'));
app.get('/', require('./routes/get'));
app.post('/', require('./routes/post'));
app.get('/list', require('./routes/list'));
// app.get('/list', require('./routes/list'));
app.get('/bilibili', require('./routes/bilibili'));
app.get('/video/bilibili', require('./routes/video-bilibili'));
// app.get('/video/bilibili', require('./routes/video-bilibili'));
app.get('/v2', require('./routes/v2/get'));
app.post('/v2', require('./routes/v2/post'));
app.get('/v2/bilibili', require('./routes/v2/bilibili'));
app.listen(1207);

@ -7,12 +7,12 @@
"license": "MIT",
"devDependencies": {},
"dependencies": {
"blueimp-md5": "^2.10.0",
"express": "^4.15.4",
"log4js": "^2.3.3",
"mongoose": "^4.11.10",
"node-fetch": "^1.7.2",
"redis": "^2.8.0",
"xml2js": "^0.4.19"
"blueimp-md5": "2.10.0",
"express": "4.16.2",
"log4js": "2.4.1",
"mongoose": "4.13.9",
"node-fetch": "1.7.3",
"redis": "2.8.0",
"xml2js": "0.4.19"
}
}

@ -5,7 +5,7 @@ module.exports = function (req, res, next) {
if (req.headers.referer && blank(req.headers.referer)) {
logger.info(`Reject all form ${req.headers.referer} for black referer.`);
res.send(`{"code": -6, "msg": "Rejected for black referer."}`);
res.send(`{"code": 6, "msg": "black referer"}`);
return;
}

@ -0,0 +1,122 @@
var url = require('url');
var logger = require('../../tools/logger');
var redis = require('../../tools/redis');
var fetch = require('node-fetch');
var parseString = require('xml2js').parseString;
module.exports = function (req, res) {
res.header('content-type', 'application/json; charset=utf-8');
var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
var query = url.parse(req.url, true).query;
var aid = query.aid;
var cid = query.cid;
function addZero (str, length) {
return new Array(Math.max(length - str.length + 1, 0)).join("0") + str;
}
if (cid) {
redis.client.get(`v2bilibilicid2dan${cid}`, function (err, reply) {
if (reply) {
logger.info(`v2: Bilibili cid2dan ${cid} form redis, IP: ${ip}`);
res.send(reply);
}
else {
logger.info(`v2: Bilibili cid2dan ${cid} form origin, IP: ${ip}`);
var dan = {
code: 0,
danmaku: []
};
fetch(`http://comment.bilibili.com/${cid}.xml`).then(
response => response.text()
).then((data) => {
parseString(data, function (err, result) {
var danOriginal = result.i.d;
for (var i = 0; i < danOriginal.length; i++) {
var info = danOriginal[i].$.p.split(',');
var type = '';
if (info[1] === '4') {
type = 2;
}
else if (info[1] === '5') {
type = 1;
}
else {
type = 0;
}
var danOne = [parseInt(info[0]), type, '#' + addZero(parseInt(info[3]).toString(16), 6), 'bilibili' + info[6], danOriginal[i]._];
dan.danmaku.push(danOne);
}
var sendDan = JSON.stringify(dan);
res.send(sendDan);
redis.set(`v2bilibilicid2dan${cid}`, sendDan);
});
}
).catch(
e => logger.error("Bilibilib Error: getting danmaku", e)
);
}
});
}
else {
redis.client.get(`v2bilibiliaid2dan${aid}`, function (err, reply) {
if (reply) {
logger.info(`v2: Bilibili aid2dan ${aid} form redis, IP: ${ip}`);
res.send(reply);
}
else {
logger.info(`v2: Bilibili aid2dan ${aid} form origin, IP: ${ip}`);
var dan = {
code: 0,
danmaku: []
};
fetch(`http://www.bilibili.com/widget/getPageList?aid=${aid}`).then(
response => response.json()
).then((data) => {
fetch(`http://comment.bilibili.com/${data[0].cid}.xml`).then(
response => response.text()
).then((data) => {
parseString(data, function (err, result) {
var danOriginal = result.i.d;
for (var i = 0; i < danOriginal.length; i++) {
var info = danOriginal[i].$.p.split(',');
var type = '';
if (info[1] === '4') {
type = 2;
}
else if (info[1] === '5') {
type = 1;
}
else {
type = 0;
}
var danOne = [parseInt(info[0]), type, '#' + addZero(parseInt(info[3]).toString(16), 6), 'bilibili' + info[6], danOriginal[i]._];
dan.danmaku.push(danOne);
}
var sendDan = JSON.stringify(dan);
res.send(sendDan);
redis.set(`v2bilibiliaid2dan${aid}`, sendDan);
});
}
).catch(
e => logger.error("Bilibilib Error: getting danmaku", e)
);
}
).catch(
e => logger.error("Bilibilib Error: getting cid", e)
);
}
});
}
};

@ -0,0 +1,53 @@
var url = require('url');
var logger = require('../../tools/logger');
var danmaku = require('../../models/danmaku');
var redis = require('../../tools/redis');
module.exports = function (req, res) {
res.header('content-type', 'application/json; charset=utf-8');
var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
var query = url.parse(req.url, true).query;
var id = query.id;
var max = query.max;
redis.client.get(`v2get${id}`, function (err, reply) {
if (reply) {
logger.info(`v2: DPlayer id ${id} form redis, IP: ${ip}`);
var data = JSON.parse(reply);
res.send(JSON.stringify({
code: 0,
danmaku: max ? data.slice(0, max) : data
}));
}
else {
logger.info(`v2: DPlayer id ${id} form mongodb, IP: ${ip}`);
danmaku.find({ player: id }, function (err, data) {
if (err) {
logger.error(err);
}
redis.set(`v2get${id}`, JSON.stringify(data));
var data = max ? data.slice(data.length - max, data.length) : data;
var typeMap = {
'right': 0,
'top': 1,
'bottom': 2
}
res.send(JSON.stringify({
code: 0,
danmaku: data.map(item => [item.time, typeMap[item.type], item.color, item.author, item.text])
}));
})
}
});
};

@ -0,0 +1,117 @@
var logger = require('../../tools/logger');
var danmaku = require('../../models/danmaku');
var redis = require('../../tools/redis');
var blank = require('../../tools/blank');
function htmlEncode (str) {
return str.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#x27;")
.replace(/\//g, "&#x2f;");
}
var postIP = [];
module.exports = function (req, res) {
var body = '';
var jsonStr = {};
var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
// check black ip
if (blank(ip)) {
logger.info(`v2: Reject POST form ${ip} for black ip.`);
res.send(`{"code": 1, "msg": "black ip"}`);
return;
}
// frequency limitation
if (postIP.indexOf(ip) !== -1) {
logger.info(`v2: Reject POST form ${ip} for frequent operation.`);
res.send(`{"code": 2, "msg": "frequent operation"}`);
return;
}
else {
postIP.push(ip);
setTimeout(function () {
postIP.splice(0, 1);
}, 5000);
}
req.on('data', dataListener);
req.on('end', endListener);
function dataListener (chunk) {
body += chunk;
}
function endListener () {
cleanListener();
try {
jsonStr = JSON.parse(body);
} catch (err) {
jsonStr = {};
}
// check data
if (jsonStr.player === undefined
|| jsonStr.author === undefined
|| jsonStr.time === undefined
|| jsonStr.text === undefined
|| jsonStr.color === undefined
|| jsonStr.type === undefined
|| jsonStr.text.length >= 30) {
logger.info(`v2: Reject POST form ${ip} for illegal data: ${JSON.stringify(jsonStr)}`);
res.send(`{"code": 3, "msg": "illegal data"}`);
return;
}
// check token: set it yourself
function checkToken (token) {
return true;
}
if (!checkToken(jsonStr.token)) {
logger.info(`v2: Rejected POST form ${ip} for illegal token: ${jsonStr.token}`);
res.send(`{"code": 4, "msg": "illegal token: ${jsonStr.token}"}`);
return;
}
// check black username
if (blank(jsonStr.author)) {
logger.info(`v2: Reject POST form ${jsonStr.author} for black user.`);
res.send(`{"code": 5, "msg": "black user"}`);
return;
}
logger.info(`v2: POST form ${ip}, data: ${JSON.stringify(jsonStr)}`);
var dan = new danmaku({
player: htmlEncode(jsonStr.player),
author: htmlEncode(jsonStr.author),
time: jsonStr.time,
text: htmlEncode(jsonStr.text),
color: htmlEncode(jsonStr.color),
type: htmlEncode(jsonStr.type),
ip: ip,
referer: req.headers.referer
});
dan.save(function (err, d) {
if (err) {
logger.error(err);
res.send(`{"code": -1, "msg": "Database error"}`);
}
else {
res.send(`{"code": 0, "data": ${JSON.stringify(d)}}`);
redis.client.del(`v2get${htmlEncode(jsonStr.player)}`);
}
});
}
function cleanListener () {
req.removeListener('data', dataListener);
req.removeListener('end', endListener);
}
};

@ -2,7 +2,7 @@
# yarn lockfile v1
accepts@~1.3.3:
accepts@~1.3.4:
version "1.3.4"
resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f"
dependencies:
@ -20,9 +20,14 @@ agent-base@2:
extend "~3.0.0"
semver "~5.0.1"
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
ajv@^5.1.0:
version "5.5.2"
resolved "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
dependencies:
co "^4.6.0"
fast-deep-equal "^1.0.0"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
ansi-regex@^2.0.0:
version "2.1.1"
@ -49,15 +54,21 @@ assert-plus@^0.2.0:
resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
ast-types@0.x.x:
version "0.9.12"
resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.9.12.tgz#b136300d67026625ae15326982ca9918e5db73c9"
version "0.10.1"
resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd"
async@2.1.4, async@~2.1.2:
async@2.1.4:
version "2.1.4"
resolved "https://registry.npmjs.org/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
dependencies:
lodash "^4.14.0"
async@~2.1.2:
version "2.1.5"
resolved "https://registry.npmjs.org/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
dependencies:
lodash "^4.14.0"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@ -66,7 +77,11 @@ aws-sign2@~0.6.0:
version "0.6.0"
resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
aws4@^1.2.1:
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
aws4@^1.2.1, aws4@^1.6.0:
version "1.6.0"
resolved "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
@ -88,20 +103,47 @@ bl@~1.1.2:
dependencies:
readable-stream "~2.0.5"
bluebird@2.10.2:
version "2.10.2"
resolved "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz#024a5517295308857f14f91f1106fc3b555f446b"
bluebird@3.5.0:
version "3.5.0"
resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
blueimp-md5@^2.10.0:
blueimp-md5@2.10.0:
version "2.10.0"
resolved "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.10.0.tgz#02f0843921f90dca14f5b8920a38593201d6964d"
body-parser@1.18.2:
version "1.18.2"
resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454"
dependencies:
bytes "3.0.0"
content-type "~1.0.4"
debug "2.6.9"
depd "~1.1.1"
http-errors "~1.6.2"
iconv-lite "0.4.19"
on-finished "~2.3.0"
qs "6.5.1"
raw-body "2.3.2"
type-is "~1.6.15"
boom@2.x.x:
version "2.10.1"
resolved "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
dependencies:
hoek "2.x.x"
boom@4.x.x:
version "4.3.1"
resolved "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
dependencies:
hoek "4.x.x"
boom@5.x.x:
version "5.2.0"
resolved "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
dependencies:
hoek "4.x.x"
bson@~1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz#93c10d39eaa5b58415cbc4052f3e53e562b0b72c"
@ -122,14 +164,18 @@ buildmail@4.0.1:
nodemailer-shared "1.1.0"
punycode "1.4.1"
bytes@2.5.0:
version "2.5.0"
resolved "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a"
bytes@3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
caseless@~0.11.0:
version "0.11.0"
resolved "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
chalk@^1.1.1:
version "1.1.3"
resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@ -140,6 +186,14 @@ chalk@^1.1.1:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
circular-json@^0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/circular-json/-/circular-json-0.4.0.tgz#c448ea998b7fe31ecf472ec29c6b608e2e2a62fd"
co@^4.6.0:
version "4.6.0"
resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
co@~3.0.6:
version "3.0.6"
resolved "https://registry.npmjs.org/co/-/co-3.0.6.tgz#1445f226c5eb956138e68c9ac30167ea7d2e6bda"
@ -151,16 +205,16 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
delayed-stream "~1.0.0"
commander@^2.9.0:
version "2.11.0"
resolved "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
version "2.13.0"
resolved "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
content-disposition@0.5.2:
version "0.5.2"
resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
content-type@~1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
cookie-signature@1.0.6:
version "1.0.6"
@ -180,6 +234,12 @@ cryptiles@2.x.x:
dependencies:
boom "2.x.x"
cryptiles@3.x.x:
version "3.1.2"
resolved "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
dependencies:
boom "5.x.x"
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@ -190,13 +250,19 @@ data-uri-to-buffer@1:
version "1.2.0"
resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835"
date-format@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/date-format/-/date-format-1.1.0.tgz#be7df68ec270fd9ec78482bd85be68c8fb8fbebc"
date-format@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz#615e828e233dd1ab9bb9ae0950e0ceccfa6ecad8"
debug@2, debug@2.6.9, debug@^2.2.0:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
dependencies:
ms "2.0.0"
debug@2, debug@2.6.8, debug@^2.2.0, debug@^2.6.8:
version "2.6.8"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
debug@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
ms "2.0.0"
@ -222,10 +288,6 @@ delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
depd@1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
depd@1.1.1, depd@~1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
@ -271,77 +333,87 @@ escape-string-regexp@^1.0.2:
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
escodegen@1.x.x:
version "1.8.1"
resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
version "1.9.0"
resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852"
dependencies:
esprima "^2.7.1"
estraverse "^1.9.1"
esprima "^3.1.3"
estraverse "^4.2.0"
esutils "^2.0.2"
optionator "^0.8.1"
optionalDependencies:
source-map "~0.2.0"
source-map "~0.5.6"
esprima@3.x.x:
esprima@3.x.x, esprima@^3.1.3:
version "3.1.3"
resolved "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
esprima@^2.7.1:
version "2.7.3"
resolved "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
estraverse@^1.9.1:
version "1.9.3"
resolved "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
etag@~1.8.0:
version "1.8.0"
resolved "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
etag@~1.8.1:
version "1.8.1"
resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
express@^4.15.4:
version "4.15.4"
resolved "https://registry.npmjs.org/express/-/express-4.15.4.tgz#032e2253489cf8fce02666beca3d11ed7a2daed1"
express@4.16.2:
version "4.16.2"
resolved "https://registry.npmjs.org/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c"
dependencies:
accepts "~1.3.3"
accepts "~1.3.4"
array-flatten "1.1.1"
body-parser "1.18.2"
content-disposition "0.5.2"
content-type "~1.0.2"
content-type "~1.0.4"
cookie "0.3.1"
cookie-signature "1.0.6"
debug "2.6.8"
debug "2.6.9"
depd "~1.1.1"
encodeurl "~1.0.1"
escape-html "~1.0.3"
etag "~1.8.0"
finalhandler "~1.0.4"
fresh "0.5.0"
etag "~1.8.1"
finalhandler "1.1.0"
fresh "0.5.2"
merge-descriptors "1.0.1"
methods "~1.1.2"
on-finished "~2.3.0"
parseurl "~1.3.1"
parseurl "~1.3.2"
path-to-regexp "0.1.7"
proxy-addr "~1.1.5"
qs "6.5.0"
proxy-addr "~2.0.2"
qs "6.5.1"
range-parser "~1.2.0"
send "0.15.4"
serve-static "1.12.4"
setprototypeof "1.0.3"
safe-buffer "5.1.1"
send "0.16.1"
serve-static "1.13.1"
setprototypeof "1.1.0"
statuses "~1.3.1"
type-is "~1.6.15"
utils-merge "1.0.0"
vary "~1.1.1"
utils-merge "1.0.1"
vary "~1.1.2"
extend@3, extend@^3.0.0, extend@~3.0.0:
extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
extsprintf@1.3.0, extsprintf@^1.2.0:
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
fast-deep-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
@ -350,15 +422,15 @@ file-uri-to-path@1:
version "1.0.0"
resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
finalhandler@~1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.4.tgz#18574f2e7c4b98b8ae3b230c21f201f31bdb3fb7"
finalhandler@1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5"
dependencies:
debug "2.6.8"
debug "2.6.9"
encodeurl "~1.0.1"
escape-html "~1.0.3"
on-finished "~2.3.0"
parseurl "~1.3.1"
parseurl "~1.3.2"
statuses "~1.3.1"
unpipe "~1.0.0"
@ -388,13 +460,21 @@ form-data@~2.1.1:
combined-stream "^1.0.5"
mime-types "^2.1.12"
forwarded@~0.1.0:
version "0.1.0"
resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
form-data@~2.3.1:
version "2.3.1"
resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf"
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.5"
mime-types "^2.1.12"
forwarded@~0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
fresh@0.5.0:
version "0.5.0"
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
ftp@~0.3.10:
version "0.3.10"
@ -430,6 +510,10 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
har-validator@~2.0.6:
version "2.0.6"
resolved "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
@ -439,6 +523,13 @@ har-validator@~2.0.6:
is-my-json-valid "^2.12.4"
pinkie-promise "^2.0.0"
har-validator@~5.0.3:
version "5.0.3"
resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
dependencies:
ajv "^5.1.0"
har-schema "^2.0.0"
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
@ -454,6 +545,15 @@ hawk@~3.1.3:
hoek "2.x.x"
sntp "1.x.x"
hawk@~6.0.2:
version "6.0.2"
resolved "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
dependencies:
boom "4.x.x"
cryptiles "3.x.x"
hoek "4.x.x"
sntp "2.x.x"
hipchat-notifier@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz#b6d249755437c191082367799d3ba9a0f23b231e"
@ -465,20 +565,15 @@ hoek@2.x.x:
version "2.16.3"
resolved "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
hooks-fixed@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.0.tgz#a01d894d52ac7f6599bbb1f63dfc9c411df70cba"
hoek@4.x.x:
version "4.2.0"
resolved "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d"
http-errors@1.6.1:
version "1.6.1"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
dependencies:
depd "1.1.0"
inherits "2.0.3"
setprototypeof "1.0.3"
statuses ">= 1.3.1 < 2"
hooks-fixed@2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.2.tgz#20076daa07e77d8a6106883ce3f1722e051140b0"
http-errors@~1.6.2:
http-errors@1.6.2, http-errors@~1.6.2:
version "1.6.2"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
dependencies:
@ -503,6 +598,14 @@ http-signature@~1.1.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
dependencies:
assert-plus "^1.0.0"
jsprim "^1.2.2"
sshpk "^1.7.0"
httpntlm@1.6.1:
version "1.6.1"
resolved "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz#ad01527143a2e8773cfae6a96f58656bb52a34b2"
@ -526,7 +629,11 @@ iconv-lite@0.4.15:
version "0.4.15"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
iconv-lite@0.4.18, iconv-lite@~0.4.13:
iconv-lite@0.4.19:
version "0.4.19"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
iconv-lite@~0.4.13:
version "0.4.18"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2"
@ -546,17 +653,17 @@ ip@1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz#c7e356cdea225ae71b36d70f2e71a92ba4e42590"
ip@^1.1.2:
ip@^1.1.2, ip@^1.1.4:
version "1.1.5"
resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
ipaddr.js@1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0"
ipaddr.js@1.5.2:
version "1.5.2"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0"
is-my-json-valid@^2.12.4:
version "2.16.1"
resolved "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz#5a846777e2c2620d1e69104e5d3a03b1f6088f11"
version "2.17.1"
resolved "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz#3da98914a70a22f0a8563ef1511a246c6fc55471"
dependencies:
generate-function "^2.0.0"
generate-object-property "^1.1.0"
@ -591,6 +698,10 @@ jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
@ -639,18 +750,23 @@ libqp@1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8"
lodash.get@4.4.2:
version "4.4.2"
resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0:
version "4.17.4"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
log4js@^2.3.3:
version "2.3.3"
resolved "https://registry.npmjs.org/log4js/-/log4js-2.3.3.tgz#18bac0b5b1052d1078d25e7d9b0cf298f499d915"
log4js@2.4.1:
version "2.4.1"
resolved "https://registry.npmjs.org/log4js/-/log4js-2.4.1.tgz#b0c4e88133e0e3056afdc6f91f7f377576158778"
dependencies:
date-format "^1.1.0"
debug "^2.6.8"
circular-json "^0.4.0"
date-format "^1.2.0"
debug "^3.1.0"
semver "^5.3.0"
streamroller "^0.5.2"
streamroller "^0.7.0"
optionalDependencies:
axios "^0.15.3"
hipchat-notifier "^1.1.0"
@ -709,15 +825,15 @@ mime-db@~1.30.0:
version "1.30.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.7:
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7:
version "2.1.17"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
dependencies:
mime-db "~1.30.0"
mime@1.3.4:
version "1.3.4"
resolved "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
mime@1.4.1:
version "1.4.1"
resolved "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
minimist@0.0.8:
version "0.0.8"
@ -729,35 +845,36 @@ mkdirp@^0.5.1:
dependencies:
minimist "0.0.8"
mongodb-core@2.1.15:
version "2.1.15"
resolved "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.15.tgz#841f53b87ffff4c7458189c35c8ae827e1169764"
mongodb-core@2.1.18:
version "2.1.18"
resolved "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz#4c46139bdf3a1f032ded91db49f38eec01659050"
dependencies:
bson "~1.0.4"
require_optional "~1.0.0"
mongodb@2.2.31:
version "2.2.31"
resolved "https://registry.npmjs.org/mongodb/-/mongodb-2.2.31.tgz#1940445c661e19217bb3bf8245d9854aaef548db"
mongodb@2.2.34:
version "2.2.34"
resolved "https://registry.npmjs.org/mongodb/-/mongodb-2.2.34.tgz#a34f59bbeb61754aec432de72c3fe21526a44c1a"
dependencies:
es6-promise "3.2.1"
mongodb-core "2.1.15"
mongodb-core "2.1.18"
readable-stream "2.2.7"
mongoose@^4.11.10:
version "4.11.10"
resolved "https://registry.npmjs.org/mongoose/-/mongoose-4.11.10.tgz#f68b131df09893b9f0073f46d5dcab0116789f56"
mongoose@4.13.9:
version "4.13.9"
resolved "https://registry.npmjs.org/mongoose/-/mongoose-4.13.9.tgz#ca4d99aed6e36e87854c2295387e7ea17966cfe3"
dependencies:
async "2.1.4"
bson "~1.0.4"
hooks-fixed "2.0.0"
hooks-fixed "2.0.2"
kareem "1.5.0"
mongodb "2.2.31"
lodash.get "4.4.2"
mongodb "2.2.34"
mpath "0.3.0"
mpromise "0.5.5"
mquery "2.3.1"
mquery "2.3.3"
ms "2.0.0"
muri "1.2.2"
muri "1.3.0"
regexp-clone "0.0.1"
sliced "1.0.1"
@ -769,12 +886,12 @@ mpromise@0.5.5:
version "0.5.5"
resolved "https://registry.npmjs.org/mpromise/-/mpromise-0.5.5.tgz#f5b24259d763acc2257b0a0c8c6d866fd51732e6"
mquery@2.3.1:
version "2.3.1"
resolved "https://registry.npmjs.org/mquery/-/mquery-2.3.1.tgz#9ab36749714800ff0bb53a681ce4bc4d5f07c87b"
mquery@2.3.3:
version "2.3.3"
resolved "https://registry.npmjs.org/mquery/-/mquery-2.3.3.tgz#221412e5d4e7290ca5582dd16ea8f190a506b518"
dependencies:
bluebird "2.10.2"
debug "2.6.8"
bluebird "3.5.0"
debug "2.6.9"
regexp-clone "0.0.1"
sliced "0.0.5"
@ -786,9 +903,9 @@ ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
muri@1.2.2:
version "1.2.2"
resolved "https://registry.npmjs.org/muri/-/muri-1.2.2.tgz#63198132650db08a04cc79ccd00dd389afd2631c"
muri@1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/muri/-/muri-1.3.0.tgz#aeccf3db64c56aa7c5b34e00f95b7878527a4721"
negotiator@0.6.1:
version "0.6.1"
@ -798,9 +915,9 @@ netmask@~1.0.4:
version "1.0.6"
resolved "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35"
node-fetch@^1.7.2:
version "1.7.2"
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7"
node-fetch@1.7.3:
version "1.7.3"
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
@ -858,7 +975,7 @@ nodemailer@^2.5.0:
nodemailer-smtp-transport "2.7.2"
socks "1.1.9"
oauth-sign@~0.8.1:
oauth-sign@~0.8.1, oauth-sign@~0.8.2:
version "0.8.2"
resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
@ -903,9 +1020,9 @@ pac-resolver@~2.0.0:
netmask "~1.0.4"
thunkify "~2.1.1"
parseurl@~1.3.1:
version "1.3.1"
resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
parseurl@~1.3.2:
version "1.3.2"
resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
path-proxy@~1.0.0:
version "1.0.0"
@ -917,6 +1034,10 @@ path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@ -935,12 +1056,12 @@ process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
proxy-addr@~1.1.5:
version "1.1.5"
resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918"
proxy-addr@~2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec"
dependencies:
forwarded "~0.1.0"
ipaddr.js "1.4.0"
forwarded "~0.1.2"
ipaddr.js "1.5.2"
proxy-agent@~2.0.0:
version "2.0.0"
@ -963,9 +1084,9 @@ q@~1.4.0:
version "1.4.1"
resolved "https://registry.npmjs.org/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
qs@6.5.0:
version "6.5.0"
resolved "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49"
qs@6.5.1, qs@~6.5.1:
version "6.5.1"
resolved "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
qs@~6.2.0:
version "6.2.3"
@ -975,13 +1096,13 @@ range-parser@~1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
raw-body@2:
version "2.3.0"
resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.3.0.tgz#f79ce1acacaba5b6362d33454d785d7129f4bc67"
raw-body@2, raw-body@2.3.2:
version "2.3.2"
resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89"
dependencies:
bytes "2.5.0"
http-errors "1.6.1"
iconv-lite "0.4.18"
bytes "3.0.0"
http-errors "1.6.2"
iconv-lite "0.4.19"
unpipe "1.0.0"
readable-stream@1.1.x:
@ -1036,7 +1157,7 @@ redis-parser@^2.6.0:
version "2.6.0"
resolved "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b"
redis@^2.7.1, redis@^2.8.0:
redis@2.8.0, redis@^2.7.1:
version "2.8.0"
resolved "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02"
dependencies:
@ -1048,7 +1169,7 @@ regexp-clone@0.0.1:
version "0.0.1"
resolved "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589"
request@2.75.x, request@^2.0.0, request@^2.74.0:
request@2.75.x:
version "2.75.0"
resolved "https://registry.npmjs.org/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93"
dependencies:
@ -1074,6 +1195,33 @@ request@2.75.x, request@^2.0.0, request@^2.74.0:
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
request@^2.0.0, request@^2.74.0:
version "2.83.0"
resolved "https://registry.npmjs.org/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356"
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.6.0"
caseless "~0.12.0"
combined-stream "~1.0.5"
extend "~3.0.1"
forever-agent "~0.6.1"
form-data "~2.3.1"
har-validator "~5.0.3"
hawk "~6.0.2"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.17"
oauth-sign "~0.8.2"
performance-now "^2.1.0"
qs "~6.5.1"
safe-buffer "^5.1.1"
stringstream "~0.0.5"
tough-cookie "~2.3.3"
tunnel-agent "^0.6.0"
uuid "^3.1.0"
requestretry@^1.2.2:
version "1.12.2"
resolved "https://registry.npmjs.org/requestretry/-/requestretry-1.12.2.tgz#13ce38a4ce4e809f3c9ec6d4ca3b7b9ba4acf26c"
@ -1094,7 +1242,7 @@ resolve-from@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
@ -1110,37 +1258,41 @@ semver@~5.0.1:
version "5.0.3"
resolved "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a"
send@0.15.4:
version "0.15.4"
resolved "https://registry.npmjs.org/send/-/send-0.15.4.tgz#985faa3e284b0273c793364a35c6737bd93905b9"
send@0.16.1:
version "0.16.1"
resolved "https://registry.npmjs.org/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3"
dependencies:
debug "2.6.8"
debug "2.6.9"
depd "~1.1.1"
destroy "~1.0.4"
encodeurl "~1.0.1"
escape-html "~1.0.3"
etag "~1.8.0"
fresh "0.5.0"
etag "~1.8.1"
fresh "0.5.2"
http-errors "~1.6.2"
mime "1.3.4"
mime "1.4.1"
ms "2.0.0"
on-finished "~2.3.0"
range-parser "~1.2.0"
statuses "~1.3.1"
serve-static@1.12.4:
version "1.12.4"
resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz#9b6aa98eeb7253c4eedc4c1f6fdbca609901a961"
serve-static@1.13.1:
version "1.13.1"
resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719"
dependencies:
encodeurl "~1.0.1"
escape-html "~1.0.3"
parseurl "~1.3.1"
send "0.15.4"
parseurl "~1.3.2"
send "0.16.1"
setprototypeof@1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
setprototypeof@1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
slack-node@~0.2.0:
version "0.2.0"
resolved "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz#de4b8dddaa8b793f61dbd2938104fdabf37dfa30"
@ -1155,7 +1307,7 @@ sliced@1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
smart-buffer@^1.0.4:
smart-buffer@^1.0.13, smart-buffer@^1.0.4:
version "1.1.15"
resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16"
@ -1172,6 +1324,12 @@ sntp@1.x.x:
dependencies:
hoek "2.x.x"
sntp@2.x.x:
version "2.1.0"
resolved "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
dependencies:
hoek "4.x.x"
socks-proxy-agent@2:
version "2.1.1"
resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz#86ebb07193258637870e13b7bd99f26c663df3d3"
@ -1180,18 +1338,23 @@ socks-proxy-agent@2:
extend "3"
socks "~1.1.5"
socks@1.1.9, socks@~1.1.5:
socks@1.1.9:
version "1.1.9"
resolved "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz#628d7e4d04912435445ac0b6e459376cb3e6d691"
dependencies:
ip "^1.1.2"
smart-buffer "^1.0.4"
source-map@~0.2.0:
version "0.2.0"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
socks@~1.1.5:
version "1.1.10"
resolved "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a"
dependencies:
amdefine ">=0.0.4"
ip "^1.1.4"
smart-buffer "^1.0.13"
source-map@~0.5.6:
version "0.5.7"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
sshpk@^1.7.0:
version "1.13.1"
@ -1207,16 +1370,20 @@ sshpk@^1.7.0:
jsbn "~0.1.0"
tweetnacl "~0.14.0"
"statuses@>= 1.3.1 < 2", statuses@~1.3.1:
"statuses@>= 1.3.1 < 2":
version "1.4.0"
resolved "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
statuses@~1.3.1:
version "1.3.1"
resolved "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
streamroller@^0.5.2:
version "0.5.2"
resolved "https://registry.npmjs.org/streamroller/-/streamroller-0.5.2.tgz#2bfe650c25b6a90ab25515a90bb5b9b94e398f0f"
streamroller@^0.7.0:
version "0.7.0"
resolved "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz#a1d1b7cf83d39afb0d63049a5acbf93493bdf64b"
dependencies:
date-format "^1.1.0"
debug "^2.6.8"
date-format "^1.2.0"
debug "^3.1.0"
mkdirp "^0.5.1"
readable-stream "^2.3.0"
@ -1230,7 +1397,7 @@ string_decoder@~1.0.0, string_decoder@~1.0.3:
dependencies:
safe-buffer "~5.1.0"
stringstream@~0.0.4:
stringstream@~0.0.4, stringstream@~0.0.5:
version "0.0.5"
resolved "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
@ -1252,9 +1419,9 @@ timespan@2.3.x:
version "2.3.0"
resolved "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929"
tough-cookie@~2.3.0:
version "2.3.2"
resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
tough-cookie@~2.3.0, tough-cookie@~2.3.3:
version "2.3.3"
resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561"
dependencies:
punycode "^1.4.1"
@ -1262,6 +1429,12 @@ tsscmp@~1.0.0:
version "1.0.5"
resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97"
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
dependencies:
safe-buffer "^5.0.1"
tunnel-agent@~0.4.1:
version "0.4.3"
resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
@ -1295,13 +1468,17 @@ util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
utils-merge@1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
vary@~1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
uuid@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
verror@1.10.0:
version "1.10.0"
@ -1319,7 +1496,7 @@ wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
xml2js@^0.4.19:
xml2js@0.4.19:
version "0.4.19"
resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
dependencies:

Loading…
Cancel
Save