diff --git a/.eslintrc b/.eslintrc index 0d09c5cde52b52..53a25376bebc8a 100644 --- a/.eslintrc +++ b/.eslintrc @@ -48,7 +48,6 @@ "no-useless-rename": 1, "rest-spread-spacing": 1, "no-trailing-spaces": 1, - "quotes": [1, "single"], "no-control-regex": 0, "prettier/prettier": 0, "no-await-in-loop": 1 diff --git a/.gitignore b/.gitignore index 21d18f03cb2b9a..b4d18a3f067ead 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,5 @@ config/app.json config/config.js yarn-error.log tmp -newrelic_agent.log *.swp *.iml diff --git a/.travis.yml b/.travis.yml index 2d3e9e5e4e898f..3507d8537028dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: node_js -node_js: - - "lts/*" +node_js: stable install: - yarn diff --git a/app.json b/app.json index 29ce1eca949561..f01d4f00f3a76f 100644 --- a/app.json +++ b/app.json @@ -5,9 +5,6 @@ "website": "https://docs.rsshub.app/", "logo": "https://i.imgur.com/NZpRScX.png", "keywords": ["RSS"], - "engines": { - "node": "10.x" - }, "env": { "PORT": { "value": "80", diff --git a/config.js b/config.js index 45b2ff8309d825..b4c164ae736d75 100644 --- a/config.js +++ b/config.js @@ -52,5 +52,4 @@ module.exports = { pass: process.env.HTTP_BASIC_AUTH_PASS || 'passw0rd', }, puppeteerWSEndpoint: process.env.PUPPETEER_WS_ENDPOINT, - newrelicLicenseKey: process.env.NEWRELIC_LICENSE_KEY, }; diff --git a/index.js b/index.js index 5b541e2c49ac7f..caf03065bd2d6d 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,4 @@ const config = require('./config'); -if (config.newrelicLicenseKey) { - require('newrelic'); -} const Koa = require('koa'); const fs = require('fs'); const logger = require('./utils/logger'); diff --git a/newrelic.js b/newrelic.js deleted file mode 100644 index 77f0ccf3b42492..00000000000000 --- a/newrelic.js +++ /dev/null @@ -1,24 +0,0 @@ -const config = require('./config'); - -exports.config = { - app_name: ['RSSHub'], - license_key: config.newrelicLicenseKey, - logging: { - level: 'info', - }, - allow_all_headers: true, - attributes: { - exclude: [ - 'request.headers.cookie', - 'request.headers.authorization', - 'request.headers.proxyAuthorization', - 'request.headers.setCookie*', - 'request.headers.x*', - 'response.headers.cookie', - 'response.headers.authorization', - 'response.headers.proxyAuthorization', - 'response.headers.setCookie*', - 'response.headers.x*', - ], - }, -}; diff --git a/package.json b/package.json index e8f31a8e2c3dd8..796a2ec0892479 100644 --- a/package.json +++ b/package.json @@ -29,18 +29,18 @@ }, "homepage": "https://github.com/DIYgod/RSSHub#readme", "devDependencies": { - "eslint": "5.8.0", - "eslint-config-prettier": "^3.1.0", + "eslint": "5.9.0", + "eslint-config-prettier": "^3.3.0", "eslint-plugin-prettier": "^3.0.0", - "lint-staged": "^8.0.2", - "nodemon": "^1.18.4", - "prettier": "^1.14.2", + "lint-staged": "^8.0.5", + "nodemon": "^1.18.6", + "prettier": "^1.15.2", "prettier-check": "^2.0.0", - "vuepress": "0.14.4", + "vuepress": "0.14.5", "yorkie": "^2.0.0" }, "dependencies": { - "art-template": "4.13.1", + "art-template": "4.13.2", "axios": "0.18.0", "axios-retry": "3.1.1", "cheerio": "1.0.0-rc.2", @@ -49,28 +49,27 @@ "dayjs": "^1.7.7", "form-data": "^2.3.2", "git-rev-sync": "1.12.0", - "googleapis": "34.0.0", + "googleapis": "35.0.0", "he": "^1.1.1", "iconv-lite": "0.4.24", "imgur": "^0.3.1", "json-bigint": "0.3.0", - "koa": "2.6.1", + "koa": "2.6.2", "koa-basic-auth": "^3.0.0", "koa-favicon": "2.0.1", "koa-mount": "^4.0.0", "koa-router": "7.4.0", "lru-cache": "4.1.3", - "luxon": "^1.4.3", + "luxon": "^1.7.1", "markdown-it": "^8.4.2", - "newrelic": "^4.9.0", "path-to-regexp": "2.4.0", "pidusage": "^2.0.17", "plist": "^3.0.1", - "puppeteer": "^1.9.0", + "puppeteer": "^1.10.0", "raven": "^2.6.4", "readall": "1.1.0", "redis": "2.8.0", - "rss-parser": "3.5.2", + "rss-parser": "3.5.3", "sharp": "^0.21.0", "twit": "2.2.11", "winston": "3.1.0" diff --git a/routes/99percentinvisible/transcript.js b/routes/99percentinvisible/transcript.js index a41001b850582b..50afa1ac3eb667 100644 --- a/routes/99percentinvisible/transcript.js +++ b/routes/99percentinvisible/transcript.js @@ -15,28 +15,30 @@ module.exports = async (ctx) => { .get(); const out = await Promise.all( - list.filter((e) => e.startsWith('/episode')).map(async (itemUrl) => { - itemUrl = url.resolve(host, itemUrl); - const cache = await ctx.cache.get(itemUrl); - if (cache) { - return Promise.resolve(JSON.parse(cache)); - } - - const response = await axios.get(itemUrl); - const $ = cheerio.load(response.data); - - const single = { - title: $('article header h1') - .text() - .trim(), - link: itemUrl, - author: '99% Invisible', - description: $('article .transcript-content').html(), - pubDate: new Date($('article header .entry-meta time').text()), - }; - ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); - return Promise.resolve(single); - }) + list + .filter((e) => e.startsWith('/episode')) + .map(async (itemUrl) => { + itemUrl = url.resolve(host, itemUrl); + const cache = await ctx.cache.get(itemUrl); + if (cache) { + return Promise.resolve(JSON.parse(cache)); + } + + const response = await axios.get(itemUrl); + const $ = cheerio.load(response.data); + + const single = { + title: $('article header h1') + .text() + .trim(), + link: itemUrl, + author: '99% Invisible', + description: $('article .transcript-content').html(), + pubDate: new Date($('article header .entry-meta time').text()), + }; + ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); + return Promise.resolve(single); + }) ); ctx.state.data = { diff --git a/routes/github/issue.js b/routes/github/issue.js index 8e57117a9e3b4f..57f41a0f082d27 100644 --- a/routes/github/issue.js +++ b/routes/github/issue.js @@ -24,11 +24,13 @@ module.exports = async (ctx) => { ctx.state.data = { title: `${user}/${repo} Issues`, link: host, - item: data.filter((item) => item.pull_request === undefined).map((item) => ({ - title: item.title, - description: md.render(item.body) || 'No description', - pubDate: new Date(item.created_at), - link: `${host}/${item.number}`, - })), + item: data + .filter((item) => item.pull_request === undefined) + .map((item) => ({ + title: item.title, + description: md.render(item.body) || 'No description', + pubDate: new Date(item.created_at), + link: `${host}/${item.number}`, + })), }; }; diff --git a/routes/universities/cas/sim/academic.js b/routes/universities/cas/sim/academic.js index 527dfbed223ecc..97983b247ae921 100644 --- a/routes/universities/cas/sim/academic.js +++ b/routes/universities/cas/sim/academic.js @@ -12,20 +12,19 @@ module.exports = async (ctx) => { const list = $('.list-news li') .slice(0, 10) - .map( - (i, e) => - $(e).children().length > 0 - ? { - link: $(e) - .find('a') - .attr('href'), - date: $(e) - .find('span') - .text() - .replace('[', '') - .replace(']', ''), - } - : null + .map((i, e) => + $(e).children().length > 0 + ? { + link: $(e) + .find('a') + .attr('href'), + date: $(e) + .find('span') + .text() + .replace('[', '') + .replace(']', ''), + } + : null ) .get(); diff --git a/routes/universities/sdu/cmse.js b/routes/universities/sdu/cmse.js index 77eb7389afbda4..a3013627177239 100644 --- a/routes/universities/sdu/cmse.js +++ b/routes/universities/sdu/cmse.js @@ -18,34 +18,36 @@ module.exports = async (ctx) => { .get(); const out = await Promise.all( - list.filter((e) => e.startsWith('../info')).map(async (itemUrl) => { - itemUrl = url.resolve(host, itemUrl.slice('3')); - const cache = await ctx.cache.get(itemUrl); - if (cache) { - return Promise.resolve(JSON.parse(cache)); - } - - const response = await axios.get(itemUrl); - const $ = cheerio.load(response.data); - - const rawDate = $('#show_info') - .text() - .split(/\s{4}/); - let date = rawDate[0].split(':')[1]; - date = date.slice(0, 4) + '-' + date.slice(5, 7) + '-' + date.slice(8, 10) + ' ' + date.slice(12); - - const single = { - title: $('#show_title') + list + .filter((e) => e.startsWith('../info')) + .map(async (itemUrl) => { + itemUrl = url.resolve(host, itemUrl.slice('3')); + const cache = await ctx.cache.get(itemUrl); + if (cache) { + return Promise.resolve(JSON.parse(cache)); + } + + const response = await axios.get(itemUrl); + const $ = cheerio.load(response.data); + + const rawDate = $('#show_info') .text() - .trim(), - link: itemUrl, - author: '山东大学材料科学与工程学院', - description: $('#show_content').html(), - pubDate: new Date(date), - }; - ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); - return Promise.resolve(single); - }) + .split(/\s{4}/); + let date = rawDate[0].split(':')[1]; + date = date.slice(0, 4) + '-' + date.slice(5, 7) + '-' + date.slice(8, 10) + ' ' + date.slice(12); + + const single = { + title: $('#show_title') + .text() + .trim(), + link: itemUrl, + author: '山东大学材料科学与工程学院', + description: $('#show_content').html(), + pubDate: new Date(date), + }; + ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); + return Promise.resolve(single); + }) ); ctx.state.data = { diff --git a/routes/universities/sdu/epe.js b/routes/universities/sdu/epe.js index 1d4af12fbaf751..3852744a9613a5 100644 --- a/routes/universities/sdu/epe.js +++ b/routes/universities/sdu/epe.js @@ -18,33 +18,35 @@ module.exports = async (ctx) => { .get(); const out = await Promise.all( - list.filter((e) => e.startsWith('../info')).map(async (itemUrl) => { - itemUrl = url.resolve(host, itemUrl.slice('3')); - const cache = await ctx.cache.get(itemUrl); - if (cache) { - return Promise.resolve(JSON.parse(cache)); - } - - const response = await axios.get(itemUrl); - const $ = cheerio.load(response.data); - - const rawDate = $('#show_info') - .text() - .split(/\s{4}/); - const date = rawDate[0].split(':')[1]; - - const single = { - title: $('#show_title') + list + .filter((e) => e.startsWith('../info')) + .map(async (itemUrl) => { + itemUrl = url.resolve(host, itemUrl.slice('3')); + const cache = await ctx.cache.get(itemUrl); + if (cache) { + return Promise.resolve(JSON.parse(cache)); + } + + const response = await axios.get(itemUrl); + const $ = cheerio.load(response.data); + + const rawDate = $('#show_info') .text() - .trim(), - link: itemUrl, - author: '山东大学能源与动力工程学院', - description: $('#show_content').html(), - pubDate: new Date(date), - }; - ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); - return Promise.resolve(single); - }) + .split(/\s{4}/); + const date = rawDate[0].split(':')[1]; + + const single = { + title: $('#show_title') + .text() + .trim(), + link: itemUrl, + author: '山东大学能源与动力工程学院', + description: $('#show_content').html(), + pubDate: new Date(date), + }; + ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); + return Promise.resolve(single); + }) ); ctx.state.data = { diff --git a/routes/universities/sdu/grad/academic.js b/routes/universities/sdu/grad/academic.js index aed4fcb89d4742..ffa5d4b768fcb0 100644 --- a/routes/universities/sdu/grad/academic.js +++ b/routes/universities/sdu/grad/academic.js @@ -15,30 +15,32 @@ module.exports = async (ctx) => { .get(); const out = await Promise.all( - list.filter((itemUrl) => itemUrl.startsWith('http')).map(async (itemUrl) => { - const cache = await ctx.cache.get(itemUrl); - if (cache) { - return Promise.resolve(JSON.parse(cache)); - } - - const response = await axios.get(itemUrl); - const $ = cheerio.load(response.data); - - const titleGroup = $('#newsTitle') - .children() - .text() - .split('\n'); - - const single = { - title: titleGroup[0], - link: itemUrl, - author: '山东大学研究生院', - description: $('.newscontent_1').html(), - pubDate: new Date(titleGroup[2].slice(8)), - }; - ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); - return Promise.resolve(single); - }) + list + .filter((itemUrl) => itemUrl.startsWith('http')) + .map(async (itemUrl) => { + const cache = await ctx.cache.get(itemUrl); + if (cache) { + return Promise.resolve(JSON.parse(cache)); + } + + const response = await axios.get(itemUrl); + const $ = cheerio.load(response.data); + + const titleGroup = $('#newsTitle') + .children() + .text() + .split('\n'); + + const single = { + title: titleGroup[0], + link: itemUrl, + author: '山东大学研究生院', + description: $('.newscontent_1').html(), + pubDate: new Date(titleGroup[2].slice(8)), + }; + ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); + return Promise.resolve(single); + }) ); ctx.state.data = { diff --git a/routes/universities/sdu/mech.js b/routes/universities/sdu/mech.js index 030d86aa92ec74..04059c0cf32b30 100644 --- a/routes/universities/sdu/mech.js +++ b/routes/universities/sdu/mech.js @@ -18,37 +18,39 @@ module.exports = async (ctx) => { .get(); const out = await Promise.all( - list.filter((e) => e.startsWith('../info') || e.startsWith('http://www.rd.sdu.edu.cn/')).map(async (itemUrl) => { - const isFromMech = itemUrl.startsWith('../info'); - if (isFromMech) { - itemUrl = url.resolve(host, itemUrl.slice('3')); - } - const cache = await ctx.cache.get(itemUrl); - if (cache) { - return Promise.resolve(JSON.parse(cache)); - } - - const response = await axios.get(itemUrl); - const $ = cheerio.load(response.data); - - const rawDate = $('#show_info') - .text() - .split(/\s{4}/); - let date = rawDate[0].split(':')[1]; - date = date.slice(0, 4) + '-' + date.slice(5, 7) + '-' + date.slice(8, 10) + ' ' + date.slice(11); - - const single = { - title: $('#show_title') + list + .filter((e) => e.startsWith('../info') || e.startsWith('http://www.rd.sdu.edu.cn/')) + .map(async (itemUrl) => { + const isFromMech = itemUrl.startsWith('../info'); + if (isFromMech) { + itemUrl = url.resolve(host, itemUrl.slice('3')); + } + const cache = await ctx.cache.get(itemUrl); + if (cache) { + return Promise.resolve(JSON.parse(cache)); + } + + const response = await axios.get(itemUrl); + const $ = cheerio.load(response.data); + + const rawDate = $('#show_info') .text() - .trim(), - link: itemUrl, - author: '山东大学机械工程学院', - description: $('#show_content').html(), - pubDate: new Date(date), - }; - ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); - return Promise.resolve(single); - }) + .split(/\s{4}/); + let date = rawDate[0].split(':')[1]; + date = date.slice(0, 4) + '-' + date.slice(5, 7) + '-' + date.slice(8, 10) + ' ' + date.slice(11); + + const single = { + title: $('#show_title') + .text() + .trim(), + link: itemUrl, + author: '山东大学机械工程学院', + description: $('#show_content').html(), + pubDate: new Date(date), + }; + ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60); + return Promise.resolve(single); + }) ); ctx.state.data = { diff --git a/routes/weibo/user.js b/routes/weibo/user.js index 17dbc4ba2117b0..85e8d108fe17c7 100644 --- a/routes/weibo/user.js +++ b/routes/weibo/user.js @@ -27,15 +27,17 @@ module.exports = async (ctx) => { title: `${name}的微博`, link: `http://weibo.com/${uid}/`, description: `${name}的微博`, - item: response.data.data.cards.filter((item) => item.mblog && !item.mblog.isTop).map((item) => { - const description = weiboUtils.format(item.mblog); - const title = description.replace(//g, '[图片]').replace(/<.*?>/g, ''); - return { - title, - description: description, - pubDate: date(item.mblog.created_at, 8), - link: `https://weibo.com/${uid}/${item.mblog.bid}`, - }; - }), + item: response.data.data.cards + .filter((item) => item.mblog && !item.mblog.isTop) + .map((item) => { + const description = weiboUtils.format(item.mblog); + const title = description.replace(//g, '[图片]').replace(/<.*?>/g, ''); + return { + title, + description: description, + pubDate: date(item.mblog.created_at, 8), + link: `https://weibo.com/${uid}/${item.mblog.bid}`, + }; + }), }; }; diff --git a/yarn.lock b/yarn.lock index b7d197767c775f..6be61554143914 100644 --- a/yarn.lock +++ b/yarn.lock @@ -739,6 +739,20 @@ lodash "^4.17.5" to-fast-properties "^2.0.0" +"@iamstarkov/listr-update-renderer@0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@iamstarkov/listr-update-renderer/-/listr-update-renderer-0.4.1.tgz#d7c48092a2dcf90fd672b6c8b458649cb350c77e" + integrity sha512-IJyxQWsYDEkf8C8QthBn5N8tIUR9V9je6j3sMIpAkonaadjbvxmRC6RAhpa3RKxndhNnU2M6iNbtJwd7usQYIA== + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -747,28 +761,6 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@newrelic/koa@^1.0.0": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@newrelic/koa/-/koa-1.0.6.tgz#3f34a59472a29e0997bf62f78e01a938bcc099e7" - integrity sha512-V7TR4fMeSjmM6XyT2YDebQ/wQzmVDq+g7Mn3fQItvGWOR+y3kzPoQS7w0hCU6+imPsr3N+GC6Xcj+4EWTHxT3w== - dependencies: - methods "^1.1.2" - -"@newrelic/native-metrics@^3.0.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@newrelic/native-metrics/-/native-metrics-3.1.2.tgz#eff858f178af5b9f8cbb676eb549d8bbc0ef7a6a" - integrity sha512-JjUmPrp2LEEkhVtelICme5p7sHHpfpu2Wjk5/L1D3Zvt01v4mCsrL2XaIMBmHgg3T2ZbqMiqWZCn2LtGZ6nklA== - dependencies: - nan "^2.10.0" - semver "^5.5.1" - -"@newrelic/superagent@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@newrelic/superagent/-/superagent-1.0.0.tgz#d51265a9a677312d91f83ff1f99f5a5d51abf557" - integrity sha512-TK5JytA7qk2ZejklCBKCZ8iRe9/8oPtW5xRK5d9pNnXeFZlXXlQ+Pf48q7sdI7vSL9k3EGU1xWI+kQVkIGgI8A== - dependencies: - methods "^1.1.2" - "@nodelib/fs.stat@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz#54c5a964462be3d4d78af631363c18d6fa91ac26" @@ -804,11 +796,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.1.tgz#da61b64a2930a80fa708e57c45cd5441eb379d5b" integrity sha512-i1sl+WCX2OCHeUi9oi7PiCNUtYFrpWhpcx878vpeq/tlZTKzcFdHePlyFHVbWqeuKN0SRPl/9ZFDSTsfv9h7VQ== -"@tyriar/fibonacci-heap@^2.0.7": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@tyriar/fibonacci-heap/-/fibonacci-heap-2.0.8.tgz#819fdff85fb559790539ff8a347c246777b4011c" - integrity sha512-yujW2S09dkH3uBUiTR5GtMni7LgQS2bSm1ezjugyUzuzM7JUkNvNRMwUL7/bee8gv812zhw1Yw/aIzL47UbTVQ== - "@vue/babel-preset-app@3.0.0-beta.11": version "3.0.0-beta.11" resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-3.0.0-beta.11.tgz#c8b889aa73464050f9cd3f9dc621951d85c24508" @@ -1138,11 +1125,6 @@ ansi-colors@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.1.tgz#9638047e4213f3428a11944a7d4b31cba0a3ff95" integrity sha512-Xt+zb6nqgvV9SWAVp0EG3lRsHcbq5DDgqjPPz6pwgtj6RKz65zGXMNa82oJfOSBA/to6GmRP7Dr+6o+kbApTzQ== -ansi-escapes@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= - ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" @@ -1272,10 +1254,10 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -art-template@4.13.1: - version "4.13.1" - resolved "https://registry.yarnpkg.com/art-template/-/art-template-4.13.1.tgz#b96249ea0bc2297a3dc88a69ed85f896a75ea86b" - integrity sha512-EfUHvgtsgboF5MJuCrT8pWJezDefdh8o5LMq/IWsZaZebGJ9KG6pNgZgIX0gtbclVURWGG1PEtZ8iRRXzTvXTg== +art-template@4.13.2: + version "4.13.2" + resolved "https://registry.yarnpkg.com/art-template/-/art-template-4.13.2.tgz#4c4cbd44de08aad031660240871f45c7d737cfc1" + integrity sha512-04ws5k+ndA5DghfheY4c8F1304XJKeTcaXqZCLpxFkNMSkaR3ChW1pX2i9d3sEEOZuLy7de8lFriRaik1jEeOQ== dependencies: acorn "^5.0.3" escodegen "^1.8.1" @@ -1334,7 +1316,7 @@ async@^1.5.2: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.1.4, async@^2.6.0: +async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== @@ -3124,10 +3106,10 @@ escodegen@^1.8.1: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.1.0.tgz#2c26d2cdcfa3a05f0642cd7e6e4ef3316cdabfa2" - integrity sha512-QYGfmzuc4q4J6XIhlp8vRKdI/fI0tQfQPy1dME3UOLprE+v4ssH/3W9LM2Q7h5qBcy5m0ehCrBDU2YF8q6OY8w== +eslint-config-prettier@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d" + integrity sha512-Bc3bh5bAcKNvs3HOpSi6EfGA2IIp7EzWcg2tS4vP7stnXu/J1opihHDM7jI9JCIckyIDTgZLSWn7J3HY0j2JfA== dependencies: get-stdin "^6.0.0" @@ -3156,10 +3138,10 @@ eslint-visitor-keys@^1.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.8.0.tgz#91fbf24f6e0471e8fdf681a4d9dd1b2c9f28309b" - integrity sha512-Zok6Bru3y2JprqTNm14mgQ15YQu/SMDkWdnmHfFg770DIUlmMFd/gqqzCHekxzjHZJxXv3tmTpH0C1icaYJsRQ== +eslint@5.9.0: + version "5.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.9.0.tgz#b234b6d15ef84b5849c6de2af43195a2d59d408e" + integrity sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.5.3" @@ -3964,25 +3946,25 @@ google-p12-pem@^1.0.0: node-forge "^0.7.4" pify "^3.0.0" -googleapis-common@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-0.3.0.tgz#97ba111f7420367e636a30a2b87be4a7f220c7e9" - integrity sha512-OqQ2iskzjPHLoM+AXk7e/TmEsdgxyAk8PVbMg0S8v2wPhgMu2wTawEL7zH9QG236u/RqQ1Ak120oSWsamPnWGg== +googleapis-common@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-0.4.0.tgz#3b3c2c26f731dcf72101239e70dfa3d677e079e6" + integrity sha512-G8U5eUhmCzvZa80BtfcL2ECPiIJxmJYsPPIY3/9iODrIvDkY75wtxnEobG7HDUprtn/3Es6mP6KevqNZ5u6t4g== dependencies: axios "^0.18.0" google-auth-library "^2.0.0" - pify "^3.0.0" + pify "^4.0.0" qs "^6.5.2" url-template "^2.0.8" uuid "^3.2.1" -googleapis@34.0.0: - version "34.0.0" - resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-34.0.0.tgz#15323c2334edeff3bae500faeec7e15ea6fb0047" - integrity sha512-nGfTSrlQF77HDNOHDy0ii3ET1h8Yap6QXxkfMZsre+7hBg91g4RsgrA50BgrOXpbNlQCBOGXWhUsa267kVeA/Q== +googleapis@35.0.0: + version "35.0.0" + resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-35.0.0.tgz#958503baa2d32b2702aed7308f8b6abd15a9b5c1" + integrity sha512-HseVyK5CVwFM+x+uHqkbKxDRuaMVkYyfAM7Buz3X44/BglHWtzOrtffRVoQORLQHVf4kzhJcjmUvVTwfOG6klA== dependencies: google-auth-library "^2.0.0" - googleapis-common "^0.3.0" + googleapis-common "^0.4.0" got@^6.7.1: version "6.7.1" @@ -4897,7 +4879,7 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@^5.0.0, json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -5083,7 +5065,37 @@ koa-webpack@^4.0.0: webpack-hot-client "^3.0.0" webpack-log "^1.1.1" -koa@2.6.1, koa@^2.4.1: +koa@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/koa/-/koa-2.6.2.tgz#57ba4d049b0a99cae0d594e6144e2931949a7ce1" + integrity sha512-KdnBFhTgh9ysMMoYe4J4fLvaKjT7mF3nRYV8MjxLzx6qywFNeptqi4xevyUltg1fZl2CFJ+HeLXuCGx07Yvl/A== + dependencies: + accepts "^1.3.5" + cache-content-type "^1.0.0" + content-disposition "~0.5.2" + content-type "^1.0.4" + cookies "~0.7.1" + debug "~3.1.0" + delegates "^1.0.0" + depd "^1.1.2" + destroy "^1.0.4" + error-inject "^1.0.0" + escape-html "^1.0.3" + fresh "~0.5.2" + http-assert "^1.3.0" + http-errors "^1.6.3" + is-generator-function "^1.0.7" + koa-compose "^4.1.0" + koa-convert "^1.2.0" + koa-is-json "^1.0.0" + on-finished "^2.3.0" + only "~0.0.2" + parseurl "^1.3.2" + statuses "^1.5.0" + type-is "^1.6.16" + vary "^1.1.2" + +koa@^2.4.1: version "2.6.1" resolved "https://registry.yarnpkg.com/koa/-/koa-2.6.1.tgz#88cabb18cd297e0577a37e40f400c4b6f1699fef" integrity sha512-n9R5Eex4y0drUeqFTeCIeXyz8wjr2AxBo2Cq8LvmiXbJl4yDA5KIrecMPkhnmgACZnPXMRyCLbJoyLmpM9aFAw== @@ -5155,11 +5167,12 @@ linkify-it@^2.0.0: dependencies: uc.micro "^1.0.1" -lint-staged@^8.0.2: - version "8.0.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.0.3.tgz#977a43d66914e2242d3c3c0b41bc10737622c61a" - integrity sha512-G1Ija5l6mF/BRkHSs3oK1Adz/e17HP3iT9hFAf8IC+UJWDLe4Xc5FxYXgEWN1NOA6vbnekEhWC4FjqzJ2Ba2lA== +lint-staged@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.0.5.tgz#8eeca1a213eaded09c4e217da455b6f432046034" + integrity sha512-QI2D6lw2teArlr2fmrrCIqHxef7mK2lKjz9e+aZSzFlk5rsy10rg97p3wA9H/vIFR3Fvn34fAgUktD/k896S2A== dependencies: + "@iamstarkov/listr-update-renderer" "0.4.1" chalk "^2.3.1" commander "^2.14.1" cosmiconfig "^5.0.2" @@ -5173,7 +5186,6 @@ lint-staged@^8.0.2: is-windows "^1.0.2" jest-validate "^23.5.0" listr "^0.14.2" - listr-update-renderer "https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update" lodash "^4.17.5" log-symbols "^2.2.0" micromatch "^3.1.8" @@ -5182,7 +5194,7 @@ lint-staged@^8.0.2: path-is-inside "^1.0.2" pify "^3.0.0" please-upgrade-node "^3.0.2" - staged-git-files "1.1.1" + staged-git-files "1.1.2" string-argv "^0.0.2" stringify-object "^3.2.2" @@ -5192,22 +5204,9 @@ listr-silent-renderer@^1.1.1: integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= listr-update-renderer@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" - integrity sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc= - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - strip-ansi "^3.0.1" - -"listr-update-renderer@https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update": version "0.4.0" resolved "https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update#06073fa93166277607a7814f4e1f83960081414c" + integrity sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc= dependencies: chalk "^1.1.3" cli-truncate "^0.2.1" @@ -5364,14 +5363,6 @@ log-symbols@^2.1.0, log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -log-update@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" - integrity sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE= - dependencies: - ansi-escapes "^1.0.0" - cli-cursor "^1.0.2" - log-update@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" @@ -5433,10 +5424,10 @@ lru-cache@4.1.3, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache pseudomap "^1.0.2" yallist "^2.1.2" -luxon@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.4.5.tgz#88f6d4901f61bcff26cfbb66b54f464c9f759b82" - integrity sha512-l2zRBzQt47/OLD//V5odz5JFIvReS+7dmt0KtP6R+jMymki1XuU+hA8loyUvwLj6714HD79cokPtOF2TO8nl5w== +luxon@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.7.1.tgz#721e86f12c47526014a53c9f92f74f2da6dc9a4c" + integrity sha512-0fTd5a3UUVATblRdhD9ZXdhCdXp+ktqGERRu8q9seeMFfED0otQFeqrZwDw/2AoMH/cHjmswVJC8IUPeNBIPTA== make-dir@^1.0.0: version "1.3.0" @@ -5590,7 +5581,7 @@ merge2@^1.2.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== -methods@^1.0.1, methods@^1.1.2: +methods@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= @@ -5680,13 +5671,13 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -mini-css-extract-plugin@^0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.4.tgz#c10410a004951bd3cedac1da69053940fccb625d" - integrity sha512-o+Jm+ocb0asEngdM6FsZWtZsRzA8koFUudIDwYUfl94M3PejPHG7Vopw5hN9V8WsMkSFpm3tZP3Fesz89EyrfQ== +mini-css-extract-plugin@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz#d2bcf77bb2596b8e4bd9257e43d3f9164c2e86cb" + integrity sha512-XWuB3G61Rtasq/gLe7cp5cuozehE6hN+E4sxCamRR/WDiHTg+f7ZIAS024r8UJQffY+e2gGELXQZgQoFDfNDCg== dependencies: + "@webpack-contrib/schema-utils" "^1.0.0-beta.0" loader-utils "^1.1.0" - schema-utils "^1.0.0" webpack-sources "^1.1.0" minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: @@ -5811,7 +5802,7 @@ mz@^2.6.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.10.0, nan@^2.11.1, nan@^2.9.2: +nan@^2.11.1, nan@^2.9.2: version "2.11.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA== @@ -5891,23 +5882,6 @@ neo-async@^2.5.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== -newrelic@^4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/newrelic/-/newrelic-4.9.0.tgz#8d7e0426115e0b2cd078de2dafb95952e17879c3" - integrity sha512-02lsCULkqPpZmWdj7XIxoXICgGp/f/KMsPYwrmRT2c/iTvZJvtTCcAYYYyqF708WUe+qVohjI3n7dmUGM+VrHw== - dependencies: - "@newrelic/koa" "^1.0.0" - "@newrelic/superagent" "^1.0.0" - "@tyriar/fibonacci-heap" "^2.0.7" - async "^2.1.4" - concat-stream "^1.5.0" - https-proxy-agent "^2.2.1" - json-stringify-safe "^5.0.0" - readable-stream "^2.1.4" - semver "^5.3.0" - optionalDependencies: - "@newrelic/native-metrics" "^3.0.0" - next-tick@1: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -5982,10 +5956,10 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -nodemon@^1.18.4: - version "1.18.5" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.5.tgz#3d3924df23d06806952e8b6d3de052f2a3351807" - integrity sha512-8806dC8dfBlbxQmqNOSEeay/qlbddKvFzxIGNxnPtxUlTtH77xsrC66RnA3M47HCSgMgE5bj+U586o50RowXBg== +nodemon@^1.18.6: + version "1.18.6" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.6.tgz#89b1136634d6c0afc7de24cc932a760e999e2c76" + integrity sha512-4pHQNYEZun+IkIC2jCaXEhkZnfA7rQe73i8RkdRyDJls/K+WxR7IpI5uNUsAvQ0zWvYcCDNGD+XVtw2ZG86/uQ== dependencies: chokidar "^2.0.4" debug "^3.1.0" @@ -6478,6 +6452,11 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pify@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -6894,10 +6873,10 @@ prettier@1.13.7: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.7.tgz#850f3b8af784a49a6ea2d2eaa7ed1428a34b7281" integrity sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w== -prettier@^1.14.2: - version "1.14.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.3.tgz#90238dd4c0684b7edce5f83b0fb7328e48bd0895" - integrity sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg== +prettier@^1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.2.tgz#d31abe22afa4351efa14c7f8b94b58bb7452205e" + integrity sha512-YgPLFFA0CdKL4Eg2IHtUSjzj/BWgszDHiNQAe0VAIBse34148whfdzLagRL+QiKS+YfK5ftB6X4v/MBw8yCoug== pretty-bytes@^4.0.2: version "4.0.2" @@ -7056,10 +7035,10 @@ punycode@^1.2.4, punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -puppeteer@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.9.0.tgz#56dba79e7ea4faac807877bee3b23d63291fc59e" - integrity sha512-GH4PmhJf9wBRAPvtJkEJLAvdNNOofZortmBZSj8cGWYni98GUFqsf66blOEfJbo5B8l0KG5HR2d/W2MejnUrzg== +puppeteer@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.10.0.tgz#e3005f1251c2feae0e10c0f7a35afbcd56589ceb" + integrity sha512-3i28X/ucX8t3eL4TZA60FLMOQNKqudFSOGDHr0cT7T4dE027CrcS885aAqjdxNybhMPliM5yImNsKJ6SQrPzhw== dependencies: debug "^3.1.0" extract-zip "^1.6.6" @@ -7170,7 +7149,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -7537,10 +7516,10 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rss-parser@3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/rss-parser/-/rss-parser-3.5.2.tgz#fca07638d3fda43cefdb31f6f7aae5c5856a3175" - integrity sha512-tpD+psqq1v6yqH0aLZtmnK0yp5PmewYrHlAonrUIEepEJSqUq553raC3sY6Tw/3DxsnZg8fsa/nSU5VwBZYsyg== +rss-parser@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/rss-parser/-/rss-parser-3.5.3.tgz#4b125c44371eafbd1150479188c0f33bf02e6e92" + integrity sha512-oByqqKTuB6tCg/4UTPXUpJmG4Wr+H72qsBcSnBZM9nH1NhjV8lXzx8uKibN9Sq+mZwwZQyOitjoQvZ/ePsttKA== dependencies: entities "^1.1.1" xml2js "^0.4.19" @@ -7936,10 +7915,10 @@ stack-trace@0.0.10, stack-trace@0.0.x: resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= -staged-git-files@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.1.tgz#37c2218ef0d6d26178b1310719309a16a59f8f7b" - integrity sha512-H89UNKr1rQJvI1c/PIR3kiAMBV23yvR7LItZiV74HWZwzt7f3YHuujJ9nJZlt58WlFox7XQsOahexwk7nTe69A== +staged-git-files@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b" + integrity sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA== static-extend@^0.1.1: version "0.1.2" @@ -8799,10 +8778,10 @@ vuepress-html-webpack-plugin@^3.2.0: toposort "^1.0.0" util.promisify "1.0.0" -vuepress@0.14.4: - version "0.14.4" - resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-0.14.4.tgz#fea77daa840b11429564bdddde3653bbbec4affb" - integrity sha512-AUZ+6wL1uXapX+I7h4EeXQ2Gcxaars7Ys5K8EUVuCgyDB0v36eoQWnoAVpNpMXL7kPCkVSq8DUtJQtOtHluSXQ== +vuepress@0.14.5: + version "0.14.5" + resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-0.14.5.tgz#06e78a3af1a24d612d7a17bbba811e962d0acda1" + integrity sha512-3HwrEiOvgQ5sezjqU7Dh91xTBwlWFs4DJSqxWF4zf6HeVojmVtPlf7iLT1O4oQtFtSxJ8l0OyYZmgGPSeAMeFA== dependencies: "@babel/core" "7.0.0-beta.47" "@vue/babel-preset-app" "3.0.0-beta.11" @@ -8836,7 +8815,7 @@ vuepress@0.14.4: markdown-it-container "^2.0.0" markdown-it-emoji "^1.4.0" markdown-it-table-of-contents "^0.4.0" - mini-css-extract-plugin "^0.4.1" + mini-css-extract-plugin "0.4.1" nprogress "^0.2.0" optimize-css-assets-webpack-plugin "^4.0.0" portfinder "^1.0.13"