diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..a24bd8c
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,5 @@
+.github/
+.vscode/
+dist
+release
+*.config.js
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
index 40cec25..bb34673 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -1,5 +1,64 @@
{
+ "extends": [
+ "eslint:recommended",
+ "plugin:prettier/recommended"
+ ],
+ "plugins": [
+ "prettier"
+ ],
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module"
+ },
+ "env": {
+ "node": true,
+ "es6": true
+ },
"rules": {
+ "no-console": 0,
+ "block-scoped-var": 1,
+ "curly": 1,
+ "eqeqeq": 1,
+ "no-global-assign": 1,
+ "no-implicit-globals": 1,
+ "no-labels": 1,
+ "no-multi-str": 1,
+ "comma-spacing": 1,
+ "comma-style": 1,
+ "func-call-spacing": 1,
+ "keyword-spacing": 1,
+ "linebreak-style": 1,
+ "lines-around-comment": 1,
+ "no-multiple-empty-lines": 1,
+ "space-infix-ops": 1,
+ "arrow-spacing": 1,
+ "no-var": 1,
+ "prefer-const": 1,
+ "no-unsafe-negation": 1,
+ "array-callback-return": 1,
+ "dot-notation": 1,
+ "no-eval": 1,
+ "no-extend-native": 1,
+ "no-extra-label": 1,
+ "semi": 1,
+ "space-before-blocks": 1,
+ "space-in-parens": 1,
+ "space-unary-ops": 1,
+ "spaced-comment": 1,
+ "arrow-body-style": 1,
+ "arrow-parens": 1,
+ "no-restricted-imports": 1,
+ "no-duplicate-imports": 1,
+ "no-useless-computed-key": 1,
+ "no-useless-rename": 1,
+ "rest-spread-spacing": 1,
+ "no-trailing-spaces": 1,
+ "no-control-regex": 0,
+ "prettier/prettier": 0,
+ "no-await-in-loop": 1,
+ "require-atomic-updates": 0,
+ "no-prototype-builtins": 0,
+ "no-undef": 0,
"vue/no-use-v-if-with-v-for": "off",
}
-}
+}
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..5c7c453
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,7 @@
+package.json
+package-lock.json
+.github/
+.vscode/
+dist
+release
+*.config.js
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..8fa3efc
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,7 @@
+{
+ "printWidth": 233,
+ "tabWidth": 4,
+ "singleQuote": true,
+ "trailingComma": "es5",
+ "arrowParens": "always"
+}
diff --git a/package.json b/package.json
index 3c585c6..a3ecda6 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,10 @@
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack -w --mode=production --progress --display-error-details --colors",
"build": "webpack --mode=production --progress --display-error-details --colors",
- "release": "npm run build && zip -r release/radar.zip dist"
+ "release": "npm run build && zip -r release/radar.zip dist",
+ "format": "eslint \"**/*.js\" --fix && prettier \"**/*.{js,scss,less}\" --write",
+ "format:staged": "eslint \"**/*.js\" --fix && pretty-quick --staged --verbose --pattern \"**/*.{js,scss,less}\"",
+ "format:check": "eslint \"**/*.js\" && prettier-check \"**/*.{js,scss,less}\""
},
"repository": {
"type": "git",
@@ -16,6 +19,9 @@
"rsshub",
"rss"
],
+ "gitHooks": {
+ "pre-commit": "npm run format:staged"
+ },
"author": "DIYgod",
"license": "MIT",
"bugs": {
@@ -31,13 +37,19 @@
"copy-webpack-plugin": "5.0.4",
"css-loader": "3.2.0",
"cssnano": "4.1.10",
+ "eslint": "6.2.0",
+ "eslint-config-prettier": "6.0.0",
"eslint-loader": "2.2.1",
+ "eslint-plugin-prettier": "3.1.0",
"file-loader": "4.2.0",
"less": "3.9.0",
"less-loader": "5.0.0",
"mini-css-extract-plugin": "0.8.0",
"node-sass": "4.12.0",
"postcss-loader": "3.0.0",
+ "prettier": "^1.18.2",
+ "prettier-check": "2.0.0",
+ "pretty-quick": "1.11.1",
"sass-loader": "7.2.0",
"svg-inline-loader": "0.8.0",
"template-string-optimize-loader": "3.0.0",
@@ -56,4 +68,4 @@
"rss-parser": "3.7.2",
"vue-router": "3.1.2"
}
-}
+}
\ No newline at end of file
diff --git a/src/css/options.scss b/src/css/options.scss
index bcf485b..282922a 100644
--- a/src/css/options.scss
+++ b/src/css/options.scss
@@ -2,4 +2,4 @@ $--color-primary: #f5712c;
$--font-path: '~element-ui/lib/theme-chalk/fonts';
-@import "~element-ui/packages/theme-chalk/src/index";
\ No newline at end of file
+@import '~element-ui/packages/theme-chalk/src/index';
diff --git a/src/css/popup.less b/src/css/popup.less
index 7b5c887..2727868 100644
--- a/src/css/popup.less
+++ b/src/css/popup.less
@@ -2,7 +2,7 @@ body {
min-width: 310px;
margin: 0;
padding: 20px 20px 5px;
- font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
+ font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
&.something {
.no-rss {
@@ -24,7 +24,7 @@ body {
width: 18px;
display: inline-block;
fill: #666;
- transition: .3s;
+ transition: 0.3s;
margin-left: 5px;
&:hover {
@@ -43,7 +43,7 @@ body {
font-size: 16px;
margin: 0 0 15px;
}
-
+
ul,
li {
padding: 0;
@@ -70,7 +70,7 @@ body {
}
a {
- color: #FF8549;
+ color: #ff8549;
text-decoration: none;
}
}
@@ -121,7 +121,7 @@ body {
border: 1px solid #f5712c;
line-height: 30px;
text-align: center;
- transition: .3s;
+ transition: 0.3s;
border-radius: 4px;
cursor: pointer;
box-sizing: border-box;
@@ -159,12 +159,12 @@ body {
}
&.rss-submitto-inoreader {
- color: #0099EB;
- border: 1px solid #0099EB;
+ color: #0099eb;
+ border: 1px solid #0099eb;
&:hover {
color: #fff;
- background: #0099EB;
+ background: #0099eb;
}
}
}
@@ -179,4 +179,4 @@ body {
.rss-action {
margin-left: auto;
}
-}
\ No newline at end of file
+}
diff --git a/src/js/background/index.js b/src/js/background/index.js
index 9625da7..4b942ce 100644
--- a/src/js/background/index.js
+++ b/src/js/background/index.js
@@ -2,20 +2,28 @@ import { handleRSS, removeRSS, addPageRSS, getAllRSS } from './utils';
import { getConfig, saveConfig } from '../common/config';
chrome.tabs.onActivated.addListener((tab) => {
- chrome.tabs.sendMessage(tab.tabId, {
- text: 'getPageRSS',
- }, (feeds) => {
- handleRSS(feeds, tab.tabId, true);
- });
+ chrome.tabs.sendMessage(
+ tab.tabId,
+ {
+ text: 'getPageRSS',
+ },
+ (feeds) => {
+ handleRSS(feeds, tab.tabId, true);
+ }
+ );
});
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
if (changeInfo.url && tab.active) {
- chrome.tabs.sendMessage(tab.id, {
- text: 'getPageRSS',
- }, (feeds) => {
- handleRSS(feeds, tab.id);
- });
+ chrome.tabs.sendMessage(
+ tab.id,
+ {
+ text: 'getPageRSS',
+ },
+ (feeds) => {
+ handleRSS(feeds, tab.id);
+ }
+ );
}
});
@@ -50,7 +58,7 @@ getConfig((config) => {
chrome.notifications.onClicked.addListener((id) => {
if (id === 'RSSHubRadarUpdate') {
chrome.tabs.create({
- url: 'https://github.com/DIYgod/RSSHub-Radar/releases'
+ url: 'https://github.com/DIYgod/RSSHub-Radar/releases',
});
chrome.notifications.clear('RSSHubRadarUpdate');
}
@@ -58,4 +66,4 @@ getConfig((config) => {
config.version = VERSION;
saveConfig(config);
}
-});
\ No newline at end of file
+});
diff --git a/src/js/background/utils.js b/src/js/background/utils.js
index 89b922f..89157a9 100644
--- a/src/js/background/utils.js
+++ b/src/js/background/utils.js
@@ -5,13 +5,13 @@ import { getConfig } from '../common/config';
let config;
let rules = {};
import RSSParser from 'rss-parser';
-let rssParser = new RSSParser();
+const rssParser = new RSSParser();
window.pageRSS = {};
window.pageRSSHub = {};
window.websiteRSSHub = {};
-function schedule(time = +new Date + config.refreshTimeout * 1000) {
+function schedule(time = +new Date() + config.refreshTimeout * 1000) {
chrome.alarms.create('refreshRules', {
when: time,
periodInMinutes: config.refreshTimeout / 60,
@@ -20,7 +20,7 @@ function schedule(time = +new Date + config.refreshTimeout * 1000) {
function initSchedule() {
getRulesDate((lastDate) => {
- if (!lastDate || (+new Date - lastDate > config.refreshTimeout * 1000)) {
+ if (!lastDate || +new Date() - lastDate > config.refreshTimeout * 1000) {
refreshRules();
schedule();
} else {
@@ -46,7 +46,7 @@ chrome.alarms.onAlarm.addListener((alarm) => {
}
});
-chrome.idle.onStateChanged.addListener(newState => {
+chrome.idle.onStateChanged.addListener((newState) => {
if (newState === 'active') {
initSchedule();
}
@@ -65,13 +65,14 @@ chrome.browserAction.setBadgeBackgroundColor({
color: '#FF2800',
});
-chrome.browserAction.setBadgeTextColor && chrome.browserAction.setBadgeTextColor({
- color: '#fff'
-});
+chrome.browserAction.setBadgeTextColor &&
+ chrome.browserAction.setBadgeTextColor({
+ color: '#fff',
+ });
function setBadge(tabId) {
chrome.browserAction.setBadgeText({
- text: config.notice.badge ? (((window.pageRSS[tabId].length + window.pageRSSHub[tabId].length) || (window.websiteRSSHub[tabId].length ? ' ' : '')) + '') : '',
+ text: config.notice.badge ? (window.pageRSS[tabId].length + window.pageRSSHub[tabId].length || (window.websiteRSSHub[tabId].length ? ' ' : '')) + '' : '',
tabId,
});
}
@@ -92,19 +93,23 @@ function ruleHandler(rule, params, tabId, url, success, fail) {
}
return reaultWithParams;
- }
+ };
if (rule.script) {
- chrome.tabs.sendMessage(tabId, {
- text: 'executeScript',
- code: rule.script
- }, (result) => {
- params = Object.assign({}, result, params);
- if (!rule.verification || rule.verification(params)) {
- success(run());
- } else {
- fail();
+ chrome.tabs.sendMessage(
+ tabId,
+ {
+ text: 'executeScript',
+ code: rule.script,
+ },
+ (result) => {
+ params = Object.assign({}, result, params);
+ if (!rule.verification || rule.verification(params)) {
+ success(run());
+ } else {
+ fail();
+ }
}
- });
+ );
} else {
if (!rule.verification || rule.verification(params)) {
success(run());
@@ -127,10 +132,12 @@ function getPageRSSHub(url, tabId, done) {
if (ru.source instanceof Array) {
ru.source.forEach((source) => {
const router = new RouteRecognizer();
- router.add([{
- path: source,
- handler: index,
- }]);
+ router.add([
+ {
+ path: source,
+ handler: index,
+ },
+ ]);
const result = router.recognize(new URL(url).pathname.replace(/\/$/, ''));
if (result && result[0]) {
recognized.push(result[0]);
@@ -138,10 +145,12 @@ function getPageRSSHub(url, tabId, done) {
});
} else if (typeof ru.source === 'string') {
const router = new RouteRecognizer();
- router.add([{
- path: ru.source,
- handler: index,
- }]);
+ router.add([
+ {
+ path: ru.source,
+ handler: index,
+ },
+ ]);
const result = router.recognize(new URL(url).pathname.replace(/\/$/, ''));
if (result && result[0]) {
recognized.push(result[0]);
@@ -150,27 +159,37 @@ function getPageRSSHub(url, tabId, done) {
}
});
const result = [];
- Promise.all(recognized.map((recog) => {
- return new Promise((resolve) => {
- ruleHandler(rule[recog.handler], recog.params, tabId, url, (parsed) => {
- if (parsed) {
- result.push({
- title: formatBlank(rules[domain]._name ? '当前' : '', rule[recog.handler].title),
- url: '{rsshubDomain}' + parsed,
- });
- } else {
- result.push({
- title: formatBlank(rules[domain]._name ? '当前' : '', rule[recog.handler].title),
- url: rule[recog.handler].docs,
- isDocs: true,
- });
- }
- resolve();
- }, () => {
- resolve();
- });
- });
- })).then(() => {
+ Promise.all(
+ recognized.map(
+ (recog) =>
+ new Promise((resolve) => {
+ ruleHandler(
+ rule[recog.handler],
+ recog.params,
+ tabId,
+ url,
+ (parsed) => {
+ if (parsed) {
+ result.push({
+ title: formatBlank(rules[domain]._name ? '当前' : '', rule[recog.handler].title),
+ url: '{rsshubDomain}' + parsed,
+ });
+ } else {
+ result.push({
+ title: formatBlank(rules[domain]._name ? '当前' : '', rule[recog.handler].title),
+ url: rule[recog.handler].docs,
+ isDocs: true,
+ });
+ }
+ resolve();
+ },
+ () => {
+ resolve();
+ }
+ );
+ })
+ )
+ ).then(() => {
done(result);
});
} else {
@@ -183,7 +202,7 @@ function getPageRSSHub(url, tabId, done) {
function formatBlank(str1, str2) {
if (str1 && str2) {
- return str1 + ((str1[str1.length - 1].match(/[a-zA-Z0-9]/) || str2[0].match(/[a-zA-Z0-9]/)) ? ' ' : '') + str2;
+ return str1 + (str1[str1.length - 1].match(/[a-zA-Z0-9]/) || str2[0].match(/[a-zA-Z0-9]/) ? ' ' : '') + str2;
} else {
return (str1 || '') + (str2 || '');
}
@@ -218,10 +237,11 @@ export function handleRSS(feeds, tabId, useCache) {
setBadge(tabId);
} else {
chrome.tabs.get(tabId, (tab) => {
- feeds && feeds.forEach((feed) => {
- feed.image = tab.favIconUrl || feed.image;
- });
- window.pageRSS[tabId] = feeds && feeds.filter((feed) => !feed.uncertain) || [];
+ feeds &&
+ feeds.forEach((feed) => {
+ feed.image = tab.favIconUrl || feed.image;
+ });
+ window.pageRSS[tabId] = (feeds && feeds.filter((feed) => !feed.uncertain)) || [];
window.websiteRSSHub[tabId] = getWebsiteRSSHub(tab.url) || [];
@@ -231,15 +251,18 @@ export function handleRSS(feeds, tabId, useCache) {
});
});
- feeds && feeds.filter((feed) => feed.uncertain).forEach((feed) => {
- rssParser.parseURL(feed.url, (err, result) => {
- if (!err) {
- feed.title = result.title;
- window.pageRSS[tabId].push(feed);
- setBadge(tabId);
- }
- });
- });
+ feeds &&
+ feeds
+ .filter((feed) => feed.uncertain)
+ .forEach((feed) => {
+ rssParser.parseURL(feed.url, (err, result) => {
+ if (!err) {
+ feed.title = result.title;
+ window.pageRSS[tabId].push(feed);
+ setBadge(tabId);
+ }
+ });
+ });
}
}
@@ -264,5 +287,5 @@ export function getAllRSS(tabId) {
pageRSS: window.pageRSS[tabId] || {},
websiteRSSHub: window.websiteRSSHub[tabId] || {},
pageRSSHub: window.pageRSSHub[tabId] || {},
- }
-}
\ No newline at end of file
+ };
+}
diff --git a/src/js/common/config.js b/src/js/common/config.js
index 634500d..4cc9f2e 100644
--- a/src/js/common/config.js
+++ b/src/js/common/config.js
@@ -12,7 +12,7 @@ export const defaultConfig = {
refreshTimeout: 5 * 60 * 60,
};
-export function getConfig (success) {
+export function getConfig(success) {
if (chrome.storage) {
chrome.storage.sync.get('config', (result) => {
success(Object.assign({}, defaultConfig, result.config));
@@ -22,16 +22,19 @@ export function getConfig (success) {
}
}
-export function saveConfig (config, success) {
+export function saveConfig(config, success) {
if (!config.rsshubDomain) {
config.rsshubDomain = defaultConfig.rsshubDomain;
}
config.rsshubDomain = config.rsshubDomain.replace(/\/$/, '');
if (chrome.storage) {
- chrome.storage.sync.set({
- config,
- }, () => {
- success && success();
- });
+ chrome.storage.sync.set(
+ {
+ config,
+ },
+ () => {
+ success && success();
+ }
+ );
}
-}
\ No newline at end of file
+}
diff --git a/src/js/common/rules.js b/src/js/common/rules.js
index 815a2d2..bf23852 100644
--- a/src/js/common/rules.js
+++ b/src/js/common/rules.js
@@ -1,18 +1,16 @@
-export function refreshRules (success) {
- fetch('https://raw.githubusercontent.com/DIYgod/RSSHub/master/assets/radar-rules.js')
- .then((response) => {
- response.text()
- .then((text) => {
- chrome.storage.local.set({
- rules: text,
- rulesDate: +new Date(),
- });
- success && success();
- });
+export function refreshRules(success) {
+ fetch('https://raw.githubusercontent.com/DIYgod/RSSHub/master/assets/radar-rules.js').then((response) => {
+ response.text().then((text) => {
+ chrome.storage.local.set({
+ rules: text,
+ rulesDate: +new Date(),
+ });
+ success && success();
});
+ });
}
-export function getRules (success) {
+export function getRules(success) {
chrome.storage.local.get('rules', (result) => {
if (result && result.rules) {
success(eval(result.rules), result.rules);
@@ -24,7 +22,7 @@ export function getRules (success) {
});
}
-export function getRulesDate (success) {
+export function getRulesDate(success) {
chrome.storage.local.get('rulesDate', (result) => {
if (result && result.rulesDate) {
success(result.rulesDate);
@@ -34,9 +32,9 @@ export function getRulesDate (success) {
});
}
-export function updateRules (text, success) {
+export function updateRules(text, success) {
chrome.storage.local.set({
rules: text,
});
success && success();
-}
\ No newline at end of file
+}
diff --git a/src/js/common/utils.js b/src/js/common/utils.js
index 779f1f4..d5584d8 100644
--- a/src/js/common/utils.js
+++ b/src/js/common/utils.js
@@ -1,5 +1,5 @@
-export function secondToTime (second) {
+export function secondToTime(second) {
const hour = Math.floor(second / 3600);
const min = Math.floor((second - hour * 3600) / 60);
return `${hour ? hour + '小时' : ''}${min}分钟`;
-}
\ No newline at end of file
+}
diff --git a/src/js/content/index.js b/src/js/content/index.js
index 45039da..a33e4de 100644
--- a/src/js/content/index.js
+++ b/src/js/content/index.js
@@ -11,4 +11,4 @@ chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
chrome.runtime.sendMessage(null, {
text: 'setPageRSS',
feeds: getPageRSS(),
-});
\ No newline at end of file
+});
diff --git a/src/js/content/utils.js b/src/js/content/utils.js
index 525692d..a31e5de 100644
--- a/src/js/content/utils.js
+++ b/src/js/content/utils.js
@@ -1,28 +1,34 @@
import RSSParser from 'rss-parser';
-let rssParser = new RSSParser();
+const rssParser = new RSSParser();
let pageRSS = null;
-const defaultTitle = document.querySelector('title') && document.querySelector('title').innerHTML && document.querySelector('title').innerHTML.replace(//, (match, p1) => p1).trim();
-const image = document.querySelector('link[rel~="icon"]') && handleUrl(document.querySelector('link[rel~="icon"]').getAttribute('href')) || document.location.origin + '/favicon.ico';
+const defaultTitle =
+ document.querySelector('title') &&
+ document.querySelector('title').innerHTML &&
+ document
+ .querySelector('title')
+ .innerHTML.replace(//, (match, p1) => p1)
+ .trim();
+const image = (document.querySelector('link[rel~="icon"]') && handleUrl(document.querySelector('link[rel~="icon"]').getAttribute('href'))) || document.location.origin + '/favicon.ico';
-function handleUrl (url) {
+function handleUrl(url) {
if (url.startsWith('//')) {
url = document.location.protocol + url;
} else if (url.startsWith('/')) {
url = document.location.origin + url;
- } else if (!(/^(http|https):\/\//i.test(url))) {
+ } else if (!/^(http|https):\/\//i.test(url)) {
url = document.location.href + '/' + url.replace(/^\//g, '');
}
return url;
}
-export function getPageRSS () {
+export function getPageRSS() {
if (!pageRSS) {
pageRSS = [];
const saved = {};
// links
- let types = [
+ const types = [
'application/rss+xml',
'application/atom+xml',
'application/rdf+xml',
@@ -34,15 +40,15 @@ export function getPageRSS () {
'text/rdf+xml',
'text/rss',
'text/atom',
- 'text/rdf'
+ 'text/rdf',
];
- let links = document.querySelectorAll('link[type]');
+ const links = document.querySelectorAll('link[type]');
for (let i = 0; i < links.length; i++) {
if (links[i].hasAttribute('type') && types.indexOf(links[i].getAttribute('type')) !== -1) {
- let feed_url = links[i].getAttribute('href');
+ const feed_url = links[i].getAttribute('href');
if (feed_url) {
- let feed = {
+ const feed = {
url: handleUrl(feed_url),
title: links[i].getAttribute('title') || defaultTitle,
image,
@@ -54,17 +60,19 @@ export function getPageRSS () {
}
// a
- let aEles = document.querySelectorAll('a');
+ const aEles = document.querySelectorAll('a');
const check = /([^a-zA-Z]|^)rss([^a-zA-Z]|$)/i;
for (let i = 0; i < aEles.length; i++) {
if (aEles[i].hasAttribute('href')) {
const href = aEles[i].getAttribute('href');
- if (href.match(/\/(feed|rss|atom)(\.(xml|rss|atom))?$/)
- || aEles[i].hasAttribute('title') && aEles[i].getAttribute('title').match(check)
- || aEles[i].hasAttribute('class') && aEles[i].getAttribute('class').match(check)
- || aEles[i].innerText && aEles[i].innerText.match(check)) {
- let feed = {
+ if (
+ href.match(/\/(feed|rss|atom)(\.(xml|rss|atom))?$/) ||
+ (aEles[i].hasAttribute('title') && aEles[i].getAttribute('title').match(check)) ||
+ (aEles[i].hasAttribute('class') && aEles[i].getAttribute('class').match(check)) ||
+ (aEles[i].innerText && aEles[i].innerText.match(check))
+ ) {
+ const feed = {
url: handleUrl(href),
title: aEles[i].innerText || aEles[i].getAttribute('title') || defaultTitle,
image,
@@ -99,7 +107,7 @@ export function getPageRSS () {
},
});
}
- })
+ });
}
}
saved[document.location.href] = 1;
@@ -107,11 +115,11 @@ export function getPageRSS () {
return pageRSS;
}
-export function runCode (code) {
+export function runCode(code) {
try {
return eval(code);
} catch (e) {
console.warn('RSS Radar error: ', e);
return {};
}
-}
\ No newline at end of file
+}
diff --git a/src/js/options/index.js b/src/js/options/index.js
index 72acccd..f1f2913 100644
--- a/src/js/options/index.js
+++ b/src/js/options/index.js
@@ -1,4 +1,4 @@
-import '../../css/options.scss'
+import '../../css/options.scss';
import Vue from 'vue';
import VueRouter from 'vue-router';
import App from './App.vue';
@@ -27,17 +27,12 @@ Vue.prototype.$loading = Loading.service;
Vue.prototype.$message = Message;
Vue.config.productionTip = false;
-const routes = [
- { path: '/', redirect: '/setting' },
- { path: '/setting', component: Setting },
- { path: '/list', component: List },
- { path: '/about', component: About },
-];
+const routes = [{ path: '/', redirect: '/setting' }, { path: '/setting', component: Setting }, { path: '/list', component: List }, { path: '/about', component: About }];
const router = new VueRouter({
routes,
});
new Vue({
- render: h => h(App),
+ render: (h) => h(App),
router,
}).$mount('#app');
diff --git a/src/js/popup/index.js b/src/js/popup/index.js
index 8880a5f..b993e3b 100644
--- a/src/js/popup/index.js
+++ b/src/js/popup/index.js
@@ -17,13 +17,20 @@ function generateList(type, list) {
- ${item.isDocs ? `` : `
- ${config.submitto.ttrss && config.submitto.ttrssDomain ? `` : ''}
+ ${
+ item.isDocs
+ ? ``
+ : `
+ ${
+ config.submitto.ttrss && config.submitto.ttrssDomain
+ ? ``
+ : ''
+ }
${config.submitto.feedly ? `` : ''}
${config.submitto.inoreader ? `` : ''}`
}
- `
+ `;
});
document.querySelector(`.${type} ul`).innerHTML = result;
document.querySelector(`.${type}`).style.display = 'block';
@@ -34,45 +41,52 @@ function generateList(type, list) {
document.querySelector('.icons-setting').innerHTML = settingIcon;
document.querySelector('.icons-about').innerHTML = aboutIcon;
-chrome.tabs.query({
- active: true,
- currentWindow: true
-}, (tabs) => {
- const tabId = tabs[0].id;
+chrome.tabs.query(
+ {
+ active: true,
+ currentWindow: true,
+ },
+ (tabs) => {
+ const tabId = tabs[0].id;
- getConfig((conf) => {
- config = conf;
- chrome.runtime.sendMessage(null, {
- text: 'getAllRSS',
- tabId: tabId
- }, (feeds) => {
- generateList('page-rss', feeds.pageRSS);
- generateList('page-rsshub', feeds.pageRSSHub);
- generateList('website-rsshub', feeds.websiteRSSHub);
-
- const clipboard = new ClipboardJS('.rss-copy');
- clipboard.on('success', function (e) {
- e.trigger.innerHTML = '已复制';
- setTimeout(() => {
- e.trigger.innerHTML = '复制';
- }, 1000);
- });
+ getConfig((conf) => {
+ config = conf;
+ chrome.runtime.sendMessage(
+ null,
+ {
+ text: 'getAllRSS',
+ tabId: tabId,
+ },
+ (feeds) => {
+ generateList('page-rss', feeds.pageRSS);
+ generateList('page-rsshub', feeds.pageRSSHub);
+ generateList('website-rsshub', feeds.websiteRSSHub);
- document.querySelectorAll('.rss-image').forEach((ele) => {
- ele.addEventListener('error', function () {
- this.setAttribute('src', './rsshub.png');
- });
- });
-
- document.querySelectorAll('a').forEach((ele) => {
- ele.addEventListener('click', (e) => {
- e.preventDefault();
- chrome.tabs.create({
- url: ele.getAttribute('href'),
+ const clipboard = new ClipboardJS('.rss-copy');
+ clipboard.on('success', function(e) {
+ e.trigger.innerHTML = '已复制';
+ setTimeout(() => {
+ e.trigger.innerHTML = '复制';
+ }, 1000);
});
- window.close();
- });
- });
+
+ document.querySelectorAll('.rss-image').forEach((ele) => {
+ ele.addEventListener('error', function() {
+ this.setAttribute('src', './rsshub.png');
+ });
+ });
+
+ document.querySelectorAll('a').forEach((ele) => {
+ ele.addEventListener('click', (e) => {
+ e.preventDefault();
+ chrome.tabs.create({
+ url: ele.getAttribute('href'),
+ });
+ window.close();
+ });
+ });
+ }
+ );
});
- });
-});
+ }
+);
diff --git a/yarn.lock b/yarn.lock
index a789210..b189636 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -888,6 +888,11 @@ abbrev@1:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+acorn-jsx@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
+ integrity sha1-MqBk/ZJUKSFqCbFBECv90YX65A4=
+
acorn@5.7.1:
version "5.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
@@ -898,6 +903,11 @@ acorn@^6.2.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51"
integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==
+acorn@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a"
+ integrity sha1-JrjRzZqbcANQtxwJBVRvZNEoTno=
+
ajv-errors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
@@ -908,7 +918,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5:
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:
version "6.10.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
@@ -938,6 +948,13 @@ ansi-colors@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
+ansi-escapes@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228"
+ integrity sha1-TczbhGw+7hD21k3qZic+q5DDcig=
+ dependencies:
+ type-fest "^0.5.2"
+
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -1008,6 +1025,11 @@ arr-union@^3.1.0:
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+array-differ@^2.0.3:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/array-differ/download/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1"
+ integrity sha1-S5wcPxS5BnVwgpJXaeirkE9IAbE=
+
array-filter@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
@@ -1028,7 +1050,7 @@ array-reduce@~0.0.0:
resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=
-array-union@^1.0.1:
+array-union@^1.0.1, array-union@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
@@ -1045,6 +1067,11 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+arrify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farrify%2Fdownload%2Farrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
+
asap@~2.0.3:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
@@ -1089,6 +1116,11 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=
+
async-each@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
@@ -1457,6 +1489,11 @@ callsites@^2.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=
+
camelcase-keys@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
@@ -1512,7 +1549,7 @@ chai@^4.2.0:
pathval "^1.1.0"
type-detect "^4.0.5"
-chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2:
+chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1532,6 +1569,11 @@ chalk@^1.1.1:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1562887878067&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=
+
check-error@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
@@ -1586,6 +1628,18 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-width@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+ integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+
clipboard@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
@@ -1885,6 +1939,15 @@ cross-spawn@^3.0.0:
lru-cache "^4.0.1"
which "^1.2.9"
+cross-spawn@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-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-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -2102,7 +2165,7 @@ debug@^2.2.0, debug@^2.3.3:
dependencies:
ms "2.0.0"
-debug@^4.1.0:
+debug@^4.0.1, debug@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
@@ -2231,6 +2294,13 @@ dir-glob@^2.0.0:
dependencies:
path-type "^3.0.0"
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=
+ dependencies:
+ esutils "^2.0.2"
+
dom-serializer@0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
@@ -2322,6 +2392,11 @@ emoji-regex@^7.0.1:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=
+
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@@ -2400,6 +2475,13 @@ escodegen@1.11.0:
optionalDependencies:
source-map "~0.6.1"
+eslint-config-prettier@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-6.0.0.tgz#f429a53bde9fc7660e6353910fd996d6284d3c25"
+ integrity sha1-9CmlO96fx2YOY1ORD9mW1ihNPCU=
+ dependencies:
+ get-stdin "^6.0.0"
+
eslint-loader@2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337"
@@ -2411,6 +2493,13 @@ eslint-loader@2.2.1:
object-hash "^1.1.4"
rimraf "^2.6.1"
+eslint-plugin-prettier@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/eslint-plugin-prettier/download/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d"
+ integrity sha1-hpUYj5XaqTsNxUskk0fKO3nEaG0=
+ dependencies:
+ prettier-linter-helpers "^1.0.0"
+
eslint-scope@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
@@ -2419,6 +2508,78 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
+eslint-scope@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
+ integrity sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-utils@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c"
+ integrity sha1-4sPI26doQl+JfPD55R/i4kFIXUw=
+ dependencies:
+ eslint-visitor-keys "^1.0.0"
+
+eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&sync_timestamp=1565705523991&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
+ integrity sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=
+
+eslint@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.2.0.tgz?cache=0&sync_timestamp=1566166030868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-6.2.0.tgz#4c42c20e3fc03f28db25f34ccba621a9a47e8b56"
+ integrity sha1-TELCDj/APyjbJfNMy6YhqaR+i1Y=
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ ajv "^6.10.0"
+ chalk "^2.1.0"
+ cross-spawn "^6.0.5"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ eslint-scope "^5.0.0"
+ eslint-utils "^1.4.0"
+ eslint-visitor-keys "^1.1.0"
+ espree "^6.1.0"
+ esquery "^1.0.1"
+ esutils "^2.0.2"
+ file-entry-cache "^5.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^5.0.0"
+ globals "^11.7.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ inquirer "^6.4.1"
+ is-glob "^4.0.0"
+ js-yaml "^3.13.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.3.0"
+ lodash "^4.17.14"
+ minimatch "^3.0.4"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ progress "^2.0.0"
+ regexpp "^2.0.1"
+ semver "^6.1.2"
+ strip-ansi "^5.2.0"
+ strip-json-comments "^3.0.1"
+ table "^5.2.3"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+espree@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.npm.taobao.org/espree/download/espree-6.1.0.tgz#a1e8aa65bf29a331d70351ed814a80e7534e0884"
+ integrity sha1-oeiqZb8pozHXA1HtgUqA51NOCIQ=
+ dependencies:
+ acorn "^7.0.0"
+ acorn-jsx "^5.0.0"
+ eslint-visitor-keys "^1.1.0"
+
esprima@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -2429,6 +2590,13 @@ esprima@^4.0.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+esquery@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
+ integrity sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=
+ dependencies:
+ estraverse "^4.0.0"
+
esrecurse@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
@@ -2436,6 +2604,11 @@ esrecurse@^4.1.0:
dependencies:
estraverse "^4.1.0"
+estraverse@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1565734335990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=
+
estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -2459,6 +2632,32 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
+execa@^0.6.0:
+ version "0.6.3"
+ resolved "https://registry.npm.taobao.org/execa/download/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe"
+ integrity sha1-V7aaWU8IF1nGnlNw8NF7nLEWWP4=
+ 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"
+
+execa@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
+ integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=
+ 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"
+
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
@@ -2512,6 +2711,15 @@ extend@~3.0.2:
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz?cache=0&sync_timestamp=1562602052556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
@@ -2541,6 +2749,11 @@ fast-deep-equal@^2.0.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+fast-diff@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
+ integrity sha1-c+4RmC2Gyq95WYKNUZz+kn+sXwM=
+
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
@@ -2556,6 +2769,20 @@ figgy-pudding@^3.5.1:
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
+figures@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/figures/download/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9"
+ integrity sha1-dWJ1yWRkYWPMb5GXx6ApXb/QTek=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
+ integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=
+ dependencies:
+ flat-cache "^2.0.1"
+
file-loader@4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.2.0.tgz#5fb124d2369d7075d70a9a5abecd12e60a95215e"
@@ -2607,6 +2834,13 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
+find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ locate-path "^2.0.0"
+
findup-sync@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
@@ -2617,6 +2851,15 @@ findup-sync@3.0.0:
micromatch "^3.0.4"
resolve-dir "^1.0.1"
+flat-cache@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
+ integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=
+ dependencies:
+ flatted "^2.0.0"
+ rimraf "2.6.3"
+ write "1.0.3"
+
flat@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2"
@@ -2624,6 +2867,11 @@ flat@^4.1.0:
dependencies:
is-buffer "~2.0.3"
+flatted@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
+ integrity sha1-aeV8qo8OrLwoHS4stFjUb9tEngg=
+
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -2711,6 +2959,11 @@ function-bind@^1.0.2, function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -2752,6 +3005,11 @@ get-stdin@^4.0.1:
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+get-stdin@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
+ integrity sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs=
+
get-stream@3.0.0, get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
@@ -2784,6 +3042,13 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
+glob-parent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954"
+ integrity sha1-HcmfDzmwBtPpLCwoQGg4Lwwg6VQ=
+ dependencies:
+ is-glob "^4.0.1"
+
glob@7.1.3:
version "7.1.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
@@ -2844,7 +3109,7 @@ global-prefix@^3.0.0:
kind-of "^6.0.2"
which "^1.3.1"
-globals@^11.1.0:
+globals@^11.1.0, globals@^11.7.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
@@ -3081,7 +3346,7 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-iconv-lite@^0.4.4:
+iconv-lite@^0.4.24, iconv-lite@^0.4.4:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -3112,11 +3377,16 @@ ignore-walk@^3.0.1:
dependencies:
minimatch "^3.0.4"
-ignore@^3.3.5:
+ignore@^3.3.5, ignore@^3.3.7:
version "3.3.10"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=
+
image-size@~0.5.0:
version "0.5.5"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
@@ -3137,6 +3407,14 @@ import-fresh@^2.0.0:
caller-path "^2.0.0"
resolve-from "^3.0.0"
+import-fresh@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
+ integrity sha1-bTP6Hc7235MPrgA0RvM0Fa+QURg=
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
import-from@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
@@ -3207,6 +3485,25 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
+inquirer@^6.4.1:
+ version "6.5.1"
+ resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.1.tgz#8bfb7a5ac02dac6ff641ac4c5ff17da112fcdb42"
+ integrity sha1-i/t6WsAtrG/2QaxMX/F9oRL820I=
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^2.4.2"
+ cli-cursor "^3.1.0"
+ cli-width "^2.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.15"
+ mute-stream "0.0.8"
+ run-async "^2.2.0"
+ rxjs "^6.4.0"
+ string-width "^4.1.0"
+ strip-ansi "^5.1.0"
+ through "^2.3.6"
+
interpret@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
@@ -3378,6 +3675,11 @@ is-fullwidth-code-point@^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-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=
+
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
@@ -3421,6 +3723,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-promise%2Fdownload%2Fis-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+ integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
+
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
@@ -3570,6 +3877,11 @@ json-schema@0.2.3:
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
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"
@@ -3679,7 +3991,7 @@ less@3.9.0:
request "^2.83.0"
source-map "~0.6.0"
-levn@~0.3.0:
+levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
@@ -3740,6 +4052,14 @@ loader-utils@^0.2.11:
json5 "^0.5.0"
object-assign "^4.0.1"
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -3758,7 +4078,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@^4.0.0, lodash@^4.2.0, lodash@~4.17.10:
+lodash@^4.0.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.0, lodash@~4.17.10:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@@ -3965,7 +4285,7 @@ mime@^2.4.4:
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
-mimic-fn@^2.0.0:
+mimic-fn@^2.0.0, mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
@@ -4099,6 +4419,11 @@ move-concurrently@^1.0.1:
rimraf "^2.5.4"
run-queue "^1.0.3"
+mri@^1.1.0:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/mri/download/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a"
+ integrity sha1-fLHdG5tAkF8frAU6viW2cg9EdEo=
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -4114,6 +4439,21 @@ ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+multimatch@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/multimatch/download/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b"
+ integrity sha1-DiU0zGvCONmrZ+G5zV/Nhabb9ws=
+ dependencies:
+ array-differ "^2.0.3"
+ array-union "^1.0.2"
+ arrify "^1.0.1"
+ minimatch "^3.0.4"
+
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=
+
nan@^2.12.1, nan@^2.13.2:
version "2.14.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
@@ -4136,6 +4476,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
needle@^2.2.1:
version "2.4.0"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
@@ -4467,7 +4812,14 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
-optionator@^0.8.1:
+onetime@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
+ integrity sha1-//DzyRYX/mK7UBiWNumayKbfe+U=
+ dependencies:
+ mimic-fn "^2.1.0"
+
+optionator@^0.8.1, optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
@@ -4505,7 +4857,7 @@ os-locale@^3.0.0, os-locale@^3.1.0:
lcid "^2.0.0"
mem "^4.0.0"
-os-tmpdir@^1.0.0:
+os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
@@ -4543,6 +4895,13 @@ p-is-promise@^2.0.0:
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=
+ dependencies:
+ p-try "^1.0.0"
+
p-limit@^2.0.0, p-limit@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
@@ -4550,6 +4909,13 @@ p-limit@^2.0.0, p-limit@^2.2.0:
dependencies:
p-try "^2.0.0"
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -4564,6 +4930,11 @@ p-timeout@^2.0.1:
dependencies:
p-finally "^1.0.0"
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@@ -4583,6 +4954,13 @@ parallel-transform@^1.1.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=
+ dependencies:
+ callsites "^3.0.0"
+
parse-asn1@^5.0.0:
version "5.1.4"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
@@ -5116,11 +5494,42 @@ prepend-http@^2.0.0:
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
+prettier-check@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/prettier-check/download/prettier-check-2.0.0.tgz#edd086ee12d270579233ccb136a16e6afcfba1ae"
+ integrity sha1-7dCG7hLScFeSM8yxNqFuavz7oa4=
+ dependencies:
+ execa "^0.6.0"
+
+prettier-linter-helpers@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
+ integrity sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s=
+ dependencies:
+ fast-diff "^1.1.2"
+
prettier@1.16.3:
version "1.16.3"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d"
integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==
+prettier@^1.18.2:
+ version "1.18.2"
+ resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea"
+ integrity sha1-aCPnxZAAF7S9Os9G/prEtNe9qeo=
+
+pretty-quick@^1.11.1:
+ version "1.11.1"
+ resolved "https://registry.npm.taobao.org/pretty-quick/download/pretty-quick-1.11.1.tgz#462ffa2b93d24c05b7a0c3a001e08601a0c55ee4"
+ integrity sha1-Ri/6K5PSTAW3oMOgAeCGAaDFXuQ=
+ dependencies:
+ chalk "^2.3.0"
+ execa "^0.8.0"
+ find-up "^2.1.0"
+ ignore "^3.3.7"
+ mri "^1.1.0"
+ multimatch "^3.0.0"
+
private@^0.1.6:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -5136,6 +5545,11 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+progress@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=
+
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -5370,6 +5784,11 @@ regexp-tree@^0.1.6:
resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3"
integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==
+regexpp@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpp%2Fdownload%2Fregexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
+ integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=
+
regexpu-core@^4.5.4:
version "4.5.4"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
@@ -5482,6 +5901,11 @@ resolve-from@^3.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
integrity sha1-six699nWiBvItuZTM17rywoYh0g=
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@@ -5501,6 +5925,14 @@ responselike@1.0.2:
dependencies:
lowercase-keys "^1.0.0"
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
@@ -5516,7 +5948,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
+rimraf@2, rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@@ -5544,6 +5976,13 @@ rss-parser@3.7.2:
entities "^1.1.1"
xml2js "^0.4.19"
+run-async@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
+ integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA=
+ dependencies:
+ is-promise "^2.1.0"
+
run-queue@^1.0.0, run-queue@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
@@ -5551,6 +5990,13 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
+rxjs@^6.4.0:
+ version "6.5.2"
+ resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
+ integrity sha1-LjXOgVzUbYTQKiCftOWSHgUdvsc=
+ dependencies:
+ tslib "^1.9.0"
+
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2:
version "5.2.0"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
@@ -5639,6 +6085,11 @@ semver@^6.1.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
+semver@^6.1.2:
+ version "6.3.0"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=
+
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -5706,7 +6157,7 @@ shell-quote@^1.6.1:
array-reduce "~0.0.0"
jsonify "~0.0.0"
-signal-exit@^3.0.0:
+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=
@@ -5728,6 +6179,15 @@ slash@^1.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+slice-ansi@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
+ integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -5961,6 +6421,15 @@ string-width@^3.0.0, string-width@^3.1.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
+string-width@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff"
+ integrity sha1-uoRtHaqXw8WWFVMIBj4HXtHJmv8=
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^5.2.0"
+
string.prototype.padend@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0"
@@ -6034,6 +6503,11 @@ strip-json-comments@2.0.1, strip-json-comments@~2.0.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+strip-json-comments@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
+ integrity sha1-hXE5dakfuHvxswXMp3OV5A0qZKc=
+
stylehacks@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
@@ -6097,6 +6571,16 @@ svgo@^1.0.0:
unquote "~1.1.1"
util.promisify "~1.0.0"
+table@^5.2.3:
+ version "5.4.6"
+ resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
+ integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=
+ dependencies:
+ ajv "^6.10.2"
+ lodash "^4.17.14"
+ slice-ansi "^2.1.0"
+ string-width "^3.0.0"
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -6156,6 +6640,11 @@ terser@^4.1.2:
source-map "~0.6.1"
source-map-support "~0.5.12"
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
throttle-debounce@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd"
@@ -6169,6 +6658,11 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
+through@^2.3.6:
+ 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.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
@@ -6191,6 +6685,13 @@ tiny-emitter@^2.0.0:
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=
+ dependencies:
+ os-tmpdir "~1.0.2"
+
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
@@ -6285,6 +6786,11 @@ type-detect@^4.0.0, type-detect@^4.0.5:
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+type-fest@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2"
+ integrity sha1-1u9CoDVsbNRfSUhcO2KB/BSOSKI=
+
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
@@ -6448,6 +6954,11 @@ v8-compile-cache@2.0.3:
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==
+v8-compile-cache@^2.0.3:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
+ integrity sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4=
+
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -6651,6 +7162,13 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+write@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
+ integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=
+ dependencies:
+ mkdirp "^0.5.1"
+
xml2js@^0.4.19:
version "0.4.19"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"