diff --git a/packages/plugin-locale/src/index.ts b/packages/plugin-locale/src/index.ts
index d9091d7b..e38fe307 100644
--- a/packages/plugin-locale/src/index.ts
+++ b/packages/plugin-locale/src/index.ts
@@ -78,7 +78,7 @@ export default (api: IApi) => {
}));
}
- const addAntdLocales: IAddAntdLocales = async args =>
+ const addAntdLocales: IAddAntdLocales = async (args) =>
await api.applyPlugins({
key: 'addAntdLocales',
type: api.ApplyPluginsType.add,
@@ -117,10 +117,10 @@ export default (api: IApi) => {
const localeList = await getList();
const momentLocales = localeList
.map(({ momentLocale }) => momentLocale)
- .filter(locale => locale);
+ .filter((locale) => locale);
const antdLocales = localeList
.map(({ antdLocale }) => antdLocale)
- .filter(locale => locale);
+ .filter((locale) => locale);
let MomentLocales = momentLocales;
let DefaultMomentLocale = '';
@@ -211,7 +211,9 @@ export default (api: IApi) => {
});
// Runtime Plugin
- api.addRuntimePlugin(() => join(paths.absTmpPath!, 'plugin-locale/runtime.tsx'));
+ api.addRuntimePlugin(() =>
+ join(paths.absTmpPath!, 'plugin-locale/runtime.tsx'),
+ );
// Modify entry js
api.addEntryCodeAhead(() =>
diff --git a/packages/plugin-svg-icon/CHANGELOG.md b/packages/plugin-svg-icon/CHANGELOG.md
new file mode 100644
index 00000000..109cfd98
--- /dev/null
+++ b/packages/plugin-svg-icon/CHANGELOG.md
@@ -0,0 +1,5 @@
+# 1.0.0 (2021-03-09)
+
+### Features
+
+- add plugin-svg-icon
diff --git a/packages/plugin-svg-icon/README.md b/packages/plugin-svg-icon/README.md
new file mode 100644
index 00000000..5c804219
--- /dev/null
+++ b/packages/plugin-svg-icon/README.md
@@ -0,0 +1,75 @@
+# @umijs/plugin-svg-icon
+
+> @umijs/plugin-svg-icon.
+
+See our website [@umijs/plugin-svg-icon](https://umijs.org/plugins/plugin-svg-icon) for more information.
+
+## 安装
+
+使用 npm:
+
+```bash
+$ npm install --save-dev @umijs/plugin-svg-icon
+```
+
+使用 yarn:
+
+```bash
+$ yarn add @umijs/plugin-svg-icon --dev
+```
+
+## 功能
+
+自动配置 svgo 并将 svg 打包为 svg 雪碧图
+
+## 使用方法
+
+**注意 svg 文件只有放置在 svgs 的文件夹才会应用此配置!**
+
+安装即可开启
+
+如果想要自己配置 svgo 配置,可以在.umirc 配置文件同级下增加 svgo-config.json
+
+实际使用:
+
+- 1. 需要声明一个通用组件 ICON
+
+```jsx
+import { SvgIcon } from 'umi';
+```
+
+- 2. 使用此组件
+
+```jsx
+
+```
+
+## TODO
+
+- [ ] 1.将示例的 jsx 代码整合到插件内部。
+
+- [ ] 2.升级 svgo 与 svg-sprite-loader 到最新版本
+
+- [ ] 3.暴露 svg-sprite-loader 选项入口
+
+## 为什么要使用此插件
+
+- svg 优点多多,其在移动端有很强的适配能力,在 pc 端也可以防止图片变糊,可以多 svg 图片拼接组合等等,高效易用。但是,通常我们获得的 svg 图片并不能直接使用,它们可能来自第三方 svg 组件库,或者来自设计师的原稿输出,这些 svg 如果直接使用 svg as component 可能存在以下痛点:
+
+ 1. 我们需要 svg 图标携带 hover 样式,但是 svg 被填充了 fill 属性
+
+ 2. 内置的样式可能需要我们手动删除
+
+ 3. 携带一些内部敏感信息需要屏蔽
+
+ 4. 一个 svg 中的某部分全局中基本都有运用,但由于包裹的 svg 父元素不同可能会被多次请求。
+
+ 当 icon 变得非常多的时候这将是重复的体力劳动。
+
+- 目前推荐对 svg 使用的是本插件的 svg-icon 与 url-loader 结合使用:
+
+ 1. svg 确实需要内联样式的效果需要定制,请使用 svg as component。
+
+ 2. 有些 svg 不是全局 icon,而是单个引用,并且非常庞大还是需要使用 svg as component。
+
+更多可以参考:[svg-sprite-loader](https://github.com/JetBrains/svg-sprite-loader) 与 [svgo](https://github.com/svg/svgo)
diff --git a/packages/plugin-svg-icon/package.json b/packages/plugin-svg-icon/package.json
new file mode 100644
index 00000000..8b231dd7
--- /dev/null
+++ b/packages/plugin-svg-icon/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@umijs/plugin-svg-icon",
+ "version": "1.0.0",
+ "description": "@umijs/plugin-svg-icon",
+ "main": "lib/index.js",
+ "types": "lib/index.d.ts",
+ "files": [
+ "lib",
+ "src"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/umijs/plugins"
+ },
+ "keywords": [
+ "umi"
+ ],
+ "authors": [
+ "Cyberhan123 <255542417@qq.com> (https://github.com/Cyberhan123)"
+ ],
+ "license": "MIT",
+ "bugs": "http://github.com/umijs/plugins/issues",
+ "homepage": "https://github.com/umijs/plugins/tree/master/packages/plugin-svg-icon#readme",
+ "peerDependencies": {
+ "umi": "3.x"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "dependencies": {
+ "classnames": "^2.3.1",
+ "svg-sprite-loader": "^6.0.6",
+ "svgo": "^2.3.0",
+ "svgo-loader": "^3.0.0"
+ }
+}
diff --git a/packages/plugin-svg-icon/src/fixtures/normal/.umirc.ts b/packages/plugin-svg-icon/src/fixtures/normal/.umirc.ts
new file mode 100644
index 00000000..3d4e04d1
--- /dev/null
+++ b/packages/plugin-svg-icon/src/fixtures/normal/.umirc.ts
@@ -0,0 +1,7 @@
+export default {
+ routes: [{ path: '/', component: 'index' }],
+ // svgIcon: {},
+ plugins: [
+ require.resolve('../../'),
+ ],
+};
diff --git a/packages/plugin-svg-icon/src/fixtures/normal/assets/svg/wechat.svg b/packages/plugin-svg-icon/src/fixtures/normal/assets/svg/wechat.svg
new file mode 100644
index 00000000..f64676d6
--- /dev/null
+++ b/packages/plugin-svg-icon/src/fixtures/normal/assets/svg/wechat.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/packages/plugin-svg-icon/src/fixtures/normal/assets/svgs/alipay.svg b/packages/plugin-svg-icon/src/fixtures/normal/assets/svgs/alipay.svg
new file mode 100644
index 00000000..cbdce726
--- /dev/null
+++ b/packages/plugin-svg-icon/src/fixtures/normal/assets/svgs/alipay.svg
@@ -0,0 +1,12 @@
+
+
diff --git a/packages/plugin-svg-icon/src/fixtures/normal/assets/svgs/love.svg b/packages/plugin-svg-icon/src/fixtures/normal/assets/svgs/love.svg
new file mode 100644
index 00000000..b2b6f580
--- /dev/null
+++ b/packages/plugin-svg-icon/src/fixtures/normal/assets/svgs/love.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/packages/plugin-svg-icon/src/fixtures/normal/pages/index.tsx b/packages/plugin-svg-icon/src/fixtures/normal/pages/index.tsx
new file mode 100644
index 00000000..0c1a5164
--- /dev/null
+++ b/packages/plugin-svg-icon/src/fixtures/normal/pages/index.tsx
@@ -0,0 +1,33 @@
+import React, { forwardRef } from 'react';
+
+import '../assets/svgs/love.svg';
+import '../assets/svgs/alipay.svg';
+// @ts-ignore
+import { ReactComponent as Wechat } from '../assets/svg/wechat.svg';
+// import { SvgIcon } from 'umi';
+
+const Icon = forwardRef((props: any, ref) => {
+ const { type, className, link, ...htmlProps } = props;
+ const iconName = `#icon-${type}`;
+ const Parent = link ? 'a' : 'i';
+ return (
+
+
+
+ );
+});
+const App = () => {
+ return (
+ <>
+ {/**/}
+ {/**/}
+
+
+
+ >
+
+ );
+};
+export default App;
diff --git a/packages/plugin-svg-icon/src/index.test.ts b/packages/plugin-svg-icon/src/index.test.ts
new file mode 100644
index 00000000..96efd4ce
--- /dev/null
+++ b/packages/plugin-svg-icon/src/index.test.ts
@@ -0,0 +1,26 @@
+import { join } from 'path';
+import { generateTmp, render } from '@umijs/test-utils';
+import { cleanup } from '@testing-library/react';
+
+const fixtures = join(__dirname, 'fixtures');
+
+afterEach(cleanup);
+
+test('normal', async () => {
+ const cwd = join(fixtures, 'normal');
+ await generateTmp({ cwd });
+ const { container } = render({ cwd });
+ expect(container.innerHTML).toEqual(
+ '' +
+ '' +
+ '' +
+ '' +
+ '' +
+ '' +
+ '',
+ );
+});
diff --git a/packages/plugin-svg-icon/src/index.ts b/packages/plugin-svg-icon/src/index.ts
new file mode 100644
index 00000000..e32c4341
--- /dev/null
+++ b/packages/plugin-svg-icon/src/index.ts
@@ -0,0 +1,94 @@
+import { IApi, utils } from 'umi';
+import { join } from 'path';
+import { readFileSync } from 'fs';
+
+const { Mustache, lodash, winPath } = utils;
+export default (api: IApi) => {
+ const { logger } = api;
+ api.describe({
+ config: {
+ schema(Joi) {
+ return Joi.object({
+ // svgoConfig: Joi.string(),
+ });
+ },
+ },
+ });
+ //src 路径
+ const srcDir = api.paths.absSrcPath;
+
+ function getSvgDir(path: string) {
+ return join(srcDir!, path);
+ }
+
+ // svg 文件夹路径
+ const svgsDir = getSvgDir('assets/svgs');
+
+ //获取svgoConfig 路径
+ function getConfigPath() {
+ let svgoConfigDirFile = null;
+ //项目根目录位置
+ const svgoConfigDirFilePath = api.utils.winPath(
+ join(srcDir!, '../svgo-config.json'),
+ );
+ //插件根目录位置
+ const svgoConfigDefaultFilePath = api.utils.winPath('../svgo-config.json');
+ try {
+ svgoConfigDirFile = require.resolve(svgoConfigDirFilePath);
+ } catch (e) {
+ console.log(
+ api.utils.chalk.yellow(
+ `[svg-icon]svgo-config.json doesn't find at ${svgoConfigDirFilePath}, svg-icon auto use default config`,
+ ),
+ );
+ }
+ const svgoConfigDefaultFile = require.resolve(svgoConfigDefaultFilePath);
+ //如果配置文件不存在使用默认配置
+ const svgoConfigFile = svgoConfigDirFile ?? svgoConfigDefaultFile;
+ return require(svgoConfigFile);
+ }
+
+ // 生成svgIcon 组件
+ api.onGenerateFiles(() => {
+ const svgIcon = readFileSync(join(__dirname, 'svgIcon.tpl'), 'utf-8');
+ api.writeTmpFile({
+ path: 'plugin-svg-icon/svgIcon.tsx',
+ content: Mustache.render(svgIcon, {
+ //
+ SSR: !!api.config?.ssr,
+ }),
+ });
+ });
+
+ // // 增加 svgIcon 运行时配置
+ // api.addRuntimePlugin(() =>
+ // [join(api.paths.absTmpPath!, 'plugin-svg-icon/svgIcon.tsx')],
+ // );
+
+ // 导出内容
+ api.addUmiExports(() => [
+ {
+ exportAll: true,
+ source: '../plugin-svg-icon/svgIcon',
+ },
+ ]);
+ api.chainWebpack((config) => {
+ // 默认的svg的模块规则中不去匹配src/assets/svgs,避免此文件中的内容使用默认的url-loader的加载形式
+ config.module.rule('svg').exclude.add(svgsDir).end();
+ config.module
+ .rule('svg-sprite-svgo-loader')
+ .test(/\.svg$/)
+ .include.add(svgsDir) //处理svg目录
+ .end()
+ .use('svg-sprite-loader')
+ .loader('svg-sprite-loader')
+ .options({
+ symbolId: 'icon-[name]',
+ })
+ .end()
+ .use('svgo-loader')
+ .loader('svgo-loader')
+ .options(getConfigPath());
+ return config;
+ });
+};
diff --git a/packages/plugin-svg-icon/src/svgIcon.tpl b/packages/plugin-svg-icon/src/svgIcon.tpl
new file mode 100644
index 00000000..474a6d5b
--- /dev/null
+++ b/packages/plugin-svg-icon/src/svgIcon.tpl
@@ -0,0 +1,49 @@
+import React, { AnchorHTMLAttributes, ClassAttributes, forwardRef } from 'react';
+import classNames from 'classnames';
+
+const requireAll = (requireContext: any) => {
+ requireContext?.keys()?.map(requireContext);
+};
+
+// @ts-ignore
+try {
+ const req = require.context('./assets/svgs', false, /\.svg$/);
+ requireAll(req);
+} catch (e) {
+ console.warn("[svg-icon] doesn't find svg files at './assets/svgs'!");
+}
+
+export type SvgIconProps = {
+ type: string,
+ className: string,
+ link: boolean,
+ ref: React.Ref;
+} & ClassAttributes & AnchorHTMLAttributes
+/**
+ * @description SvgIcon 组件,自动引入./assets/svgs目录下的所有svg文件并生成svg雪碧图
+ *
+ * @param type string svg文件名称
+ *
+ * @param className string svg的文件名称
+ *
+ * @param link boolean 是非为链接 如果为链接父组件将有 i 变成 a 标签
+ *
+ * @param ref svg包裹的父层级的svg样式
+ */
+export const SvgIcon = forwardRef((props: SvgIconProps, ref) => {
+ const { type, className, link, ...htmlProps } = props;
+ const iconName = `#icon-${type}`;
+ const iconClassName = classNames(
+ 'svg-icon',
+ `svg-icon-${props.type}`,
+ className,
+ );
+ const Parent = link ? 'a' : 'i';
+ return (
+
+
+
+ );
+});
diff --git a/packages/plugin-svg-icon/svgo-config.json b/packages/plugin-svg-icon/svgo-config.json
new file mode 100644
index 00000000..7a42d37a
--- /dev/null
+++ b/packages/plugin-svg-icon/svgo-config.json
@@ -0,0 +1,40 @@
+{
+ "plugins": [
+ { "cleanupAttrs": true },
+ { "cleanupEnableBackground": true },
+ { "cleanupIDs": true },
+ { "cleanupListOfValues": true },
+ { "cleanupNumericValues": true },
+ { "collapseGroups": true },
+ { "convertColors": true },
+ { "convertPathData": true },
+ { "convertShapeToPath": true },
+ { "convertStyleToAttrs": true },
+ { "convertTransform": true },
+ { "mergePaths": true },
+ { "removeComments": true },
+ { "removeDesc": true },
+ { "removeDimensions": true },
+ { "removeDoctype": true },
+ { "removeEditorsNSData": true },
+ { "removeEmptyAttrs": true },
+ { "removeEmptyContainers": true },
+ { "removeEmptyText": true },
+ { "removeHiddenElems": true },
+ { "removeMetadata": true },
+ { "removeNonInheritableGroupAttrs": true },
+ { "removeRasterImages": true },
+ { "removeTitle": true },
+ { "removeUnknownsAndDefaults": true },
+ { "removeUselessDefs": true },
+ { "removeUnusedNS": true },
+ { "removeUselessStrokeAndFill": true },
+ {
+ "removeAttrs": { "attrs": "fill" }
+ },
+ { "removeXMLProcInst": true },
+ { "removeStyleElement": true },
+ { "removeUnknownsAndDefaults": true },
+ { "sortAttrs": true }
+ ]
+}
diff --git a/yarn.lock b/yarn.lock
index a13f6e78..60232cff 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4211,6 +4211,11 @@
"@testing-library/dom" "^6.15.0"
"@types/testing-library__react" "^9.1.2"
+"@trysound/sax@0.1.1":
+ version "0.1.1"
+ resolved "http://registry.yarnpkg.com/@trysound%2fsax/-/sax-0.1.1.tgz#3348564048e7a2d7398c935d466c0414ebb6a669"
+ integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==
+
"@types/anymatch@*":
version "1.3.1"
resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
@@ -6956,7 +6961,7 @@ blob-util@^2.0.2:
resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb"
integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==
-bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2:
+bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -7014,7 +7019,7 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
-braces@^2.3.1, braces@^2.3.2:
+braces@^2.2.2, braces@^2.3.1, braces@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
@@ -7674,6 +7679,11 @@ classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classna
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
+classnames@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
+ integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
+
clean-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7"
@@ -8032,6 +8042,11 @@ commander@^5.1.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+commander@^7.1.0:
+ version "7.2.0"
+ resolved "http://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
common-tags@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
@@ -8637,6 +8652,17 @@ css-select@^2.0.0:
domutils "^1.7.0"
nth-check "^1.0.2"
+css-select@^3.1.2:
+ version "3.1.2"
+ resolved "http://registry.yarnpkg.com/css-select/-/css-select-3.1.2.tgz#d52cbdc6fee379fba97fb0d3925abbd18af2d9d8"
+ integrity sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^4.0.0"
+ domhandler "^4.0.0"
+ domutils "^2.4.3"
+ nth-check "^2.0.0"
+
css-select@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
@@ -8679,6 +8705,14 @@ css-tree@1.0.0-alpha.39:
mdn-data "2.0.6"
source-map "^0.6.1"
+css-tree@^1.1.2:
+ version "1.1.3"
+ resolved "http://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
css-what@2.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
@@ -8689,6 +8723,11 @@ css-what@^3.2.1:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39"
integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==
+css-what@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233"
+ integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==
+
css.escape@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
@@ -8784,6 +8823,13 @@ csso@^4.0.2:
dependencies:
css-tree "1.0.0-alpha.39"
+csso@^4.2.0:
+ version "4.2.0"
+ resolved "http://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+ dependencies:
+ css-tree "^1.1.2"
+
cssom@0.3.x, cssom@^0.3.4, cssom@~0.3.6:
version "0.3.8"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
@@ -9028,6 +9074,11 @@ deep-is@^0.1.3, deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+deepmerge@1.3.2:
+ version "1.3.2"
+ resolved "http://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
+ integrity sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=
+
deepmerge@4.2.2, deepmerge@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
@@ -9243,6 +9294,15 @@ dom-serializer@0:
domelementtype "^2.0.1"
entities "^2.0.0"
+dom-serializer@^1.0.1:
+ version "1.3.1"
+ resolved "http://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.1.tgz#d845a1565d7c041a95e5dab62184ab41e3a519be"
+ integrity sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.0.0"
+ entities "^2.0.0"
+
dom-serializer@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
@@ -9271,6 +9331,11 @@ domelementtype@^2.0.1:
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==
+domelementtype@^2.2.0:
+ version "2.2.0"
+ resolved "http://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+ integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
+
domexception@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
@@ -9285,11 +9350,23 @@ domhandler@^2.3.0:
dependencies:
domelementtype "1"
+domhandler@^4.0.0, domhandler@^4.2.0:
+ version "4.2.0"
+ resolved "http://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059"
+ integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==
+ dependencies:
+ domelementtype "^2.2.0"
+
dompurify@^2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.6.tgz#54945dc5c0b45ce5ae228705777e8e59d7b2edc4"
integrity sha1-VJRdxcC0XOWuIocFd36OWdey7cQ=
+domready@1.0.8:
+ version "1.0.8"
+ resolved "http://registry.yarnpkg.com/domready/-/domready-1.0.8.tgz#91f252e597b65af77e745ae24dd0185d5e26d58c"
+ integrity sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=
+
domutils@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
@@ -9306,6 +9383,15 @@ domutils@^1.5.1, domutils@^1.7.0:
dom-serializer "0"
domelementtype "1"
+domutils@^2.4.3:
+ version "2.6.0"
+ resolved "http://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7"
+ integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
dot-prop@^4.1.0, dot-prop@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
@@ -9711,7 +9797,7 @@ escape-html@~1.0.3:
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
@@ -10526,7 +10612,7 @@ external-editor@^3.0.3:
iconv-lite "^0.4.24"
tmp "^0.0.33"
-extglob@^2.0.4:
+extglob@^2.0.2, extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
@@ -11793,6 +11879,11 @@ hastscript@^6.0.0:
property-information "^5.0.0"
space-separated-tokens "^1.0.0"
+he@^1.1.1:
+ version "1.2.0"
+ resolved "http://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
hex-color-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
@@ -11913,7 +12004,7 @@ html-tags@^3.0.0, html-tags@^3.1.0:
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140"
integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==
-htmlparser2@^3.10.0, htmlparser2@^3.9.1:
+htmlparser2@^3.10.0, htmlparser2@^3.8.3, htmlparser2@^3.9.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
@@ -12110,7 +12201,7 @@ ignore@^5.0.4, ignore@^5.0.5, ignore@^5.0.6, ignore@^5.1.1, ignore@^5.1.4, ignor
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
-image-size@~0.5.0:
+image-size@^0.5.1, image-size@~0.5.0:
version "0.5.5"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
@@ -12748,7 +12839,7 @@ is-plain-obj@2.1.0, is-plain-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
+is-plain-obj@^1.0.0, is-plain-obj@^1.1, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
@@ -12938,7 +13029,7 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-isobject@^2.0.0:
+isobject@^2.0.0, isobject@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
@@ -13519,6 +13610,11 @@ joycon@^2.2.5:
resolved "https://registry.yarnpkg.com/joycon/-/joycon-2.2.5.tgz#8d4cf4cbb2544d7b7583c216fcdfec19f6be1615"
integrity sha512-YqvUxoOcVPnCp0VU1/56f+iKSdvIRJYPznH22BdXV3xMk75SFXhWeJkZ8C9XxUWt1b5x2X1SxuFygW1U0FmkEQ==
+js-base64@^2.1.9:
+ version "2.6.4"
+ resolved "http://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
+ integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
+
js-file-download@^0.4.12:
version "0.4.12"
resolved "https://registry.yarnpkg.com/js-file-download/-/js-file-download-0.4.12.tgz#10c70ef362559a5b23cdbdc3bd6f399c3d91d821"
@@ -13822,7 +13918,7 @@ kind-of@^4.0.0:
dependencies:
is-buffer "^1.1.5"
-kind-of@^5.0.0:
+kind-of@^5.0.0, kind-of@^5.0.2:
version "5.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
@@ -14171,7 +14267,7 @@ loader-runner@^2.4.0:
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
+loader-utils@^1.0.2, loader-utils@^1.0.3, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
@@ -14693,6 +14789,11 @@ mdn-browser-compat-data@^1.0.28:
dependencies:
extend "3.0.2"
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "http://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
mdn-data@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
@@ -14882,6 +14983,13 @@ merge-descriptors@1.0.1:
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+merge-options@1.0.1:
+ version "1.0.1"
+ resolved "http://registry.yarnpkg.com/merge-options/-/merge-options-1.0.1.tgz#2a64b24457becd4e4dc608283247e94ce589aa32"
+ integrity sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==
+ dependencies:
+ is-plain-obj "^1.1"
+
merge-stream@2.0.0, merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -14912,6 +15020,25 @@ micromark@~2.11.0:
debug "^4.0.0"
parse-entities "^2.0.0"
+micromatch@3.1.0:
+ version "3.1.0"
+ resolved "http://registry.yarnpkg.com/micromatch/-/micromatch-3.1.0.tgz#5102d4eaf20b6997d6008e3acfe1c44a3fa815e2"
+ integrity sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.2.2"
+ define-property "^1.0.0"
+ extend-shallow "^2.0.1"
+ extglob "^2.0.2"
+ fragment-cache "^0.2.1"
+ kind-of "^5.0.2"
+ nanomatch "^1.2.1"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
@@ -15127,6 +15254,11 @@ mississippi@^3.0.0:
stream-each "^1.1.0"
through2 "^2.0.0"
+mitt@1.1.2:
+ version "1.1.2"
+ resolved "http://registry.yarnpkg.com/mitt/-/mitt-1.1.2.tgz#380e61480d6a615b660f07abb60d51e0a4e4bed6"
+ integrity sha1-OA5hSA1qYVtmDwertg1R4KTkvtY=
+
mixin-deep@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
@@ -15301,7 +15433,7 @@ nanoid@^3.1.20:
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz?cache=0&sync_timestamp=1606834232543&other_urls=https%3A%2F%2Fregistry.yarnpkg.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
integrity sha1-utwmPGsdzxS3HvqoX2q0wdbPx4g=
-nanomatch@^1.2.9:
+nanomatch@^1.2.1, nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
@@ -15693,6 +15825,13 @@ nth-check@^1.0.2, nth-check@~1.0.1:
dependencies:
boolbase "~1.0.0"
+nth-check@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125"
+ integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==
+ dependencies:
+ boolbase "^1.0.0"
+
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
@@ -17167,6 +17306,13 @@ postcss-place@^4.0.1:
postcss "^7.0.2"
postcss-values-parser "^2.0.0"
+postcss-prefix-selector@^1.6.0:
+ version "1.9.0"
+ resolved "http://registry.yarnpkg.com/postcss-prefix-selector/-/postcss-prefix-selector-1.9.0.tgz#db549802b79f9f91f7419c8c1f86d31d974aff5e"
+ integrity sha512-tTUHUNP+/Qfgg+fvbljUIeLs1ijICWb8+CT3bZM2joE2pkd+EnuBzSfZNHY2RMmozNRp44yEFv+I+6IIiLcoCg==
+ dependencies:
+ postcss "^7.0.0"
+
postcss-preset-env@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5"
@@ -17420,6 +17566,16 @@ postcss@7.0.32, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14
source-map "^0.6.1"
supports-color "^6.1.0"
+postcss@^5.2.17:
+ version "5.2.18"
+ resolved "http://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
+ integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
+ dependencies:
+ chalk "^1.1.3"
+ js-base64 "^2.1.9"
+ source-map "^0.5.6"
+ supports-color "^3.2.3"
+
postcss@^6.0.1:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
@@ -17447,6 +17603,44 @@ postcss@^8.1.4, postcss@^8.1.6:
nanoid "^3.1.20"
source-map "^0.6.1"
+posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
+ version "0.2.1"
+ resolved "http://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz#35d530de386740c2ba24ff2eb2faf39ccdf271dd"
+ integrity sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=
+ dependencies:
+ htmlparser2 "^3.8.3"
+ isobject "^2.1.0"
+
+posthtml-rename-id@^1.0:
+ version "1.0.12"
+ resolved "http://registry.yarnpkg.com/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz#cf7f6eb37146bf1afac31e68f18c6cc19ae61433"
+ integrity sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==
+ dependencies:
+ escape-string-regexp "1.0.5"
+
+posthtml-render@^1.0.5, posthtml-render@^1.0.6:
+ version "1.4.0"
+ resolved "http://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.4.0.tgz#40114070c45881cacb93347dae3eff53afbcff13"
+ integrity sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==
+
+posthtml-svg-mode@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.yarnpkg.com/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz#abd554face81223cab0cb367e18e4efd2a4e74b0"
+ integrity sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==
+ dependencies:
+ merge-options "1.0.1"
+ posthtml "^0.9.2"
+ posthtml-parser "^0.2.1"
+ posthtml-render "^1.0.6"
+
+posthtml@^0.9.2:
+ version "0.9.2"
+ resolved "http://registry.yarnpkg.com/posthtml/-/posthtml-0.9.2.tgz#f4c06db9f67b61fd17c4e256e7e3d9515bf726fd"
+ integrity sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=
+ dependencies:
+ posthtml-parser "^0.2.0"
+ posthtml-render "^1.0.5"
+
preact@^10.5.7:
version "10.5.7"
resolved "https://registry.yarnpkg.com/preact/-/preact-10.5.7.tgz#f1d84725539e18f7ccbea937cf3db5895661dbd3"
@@ -17763,7 +17957,7 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-query-string@^4.1.0:
+query-string@^4.1.0, query-string@^4.3.2:
version "4.3.4"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
@@ -21060,16 +21254,66 @@ supports-hyperlinks@^2.0.0, supports-hyperlinks@^2.1.0:
has-flag "^4.0.0"
supports-color "^7.0.0"
+svg-baker-runtime@^1.4.7:
+ version "1.4.7"
+ resolved "http://registry.yarnpkg.com/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz#f4720637f5b6202eef6378d81f1fead0815f8a4e"
+ integrity sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==
+ dependencies:
+ deepmerge "1.3.2"
+ mitt "1.1.2"
+ svg-baker "^1.7.0"
+
+svg-baker@^1.5.0, svg-baker@^1.7.0:
+ version "1.7.0"
+ resolved "http://registry.yarnpkg.com/svg-baker/-/svg-baker-1.7.0.tgz#8367f78d875550c52fe4756f7303d5c5d7c2e9a7"
+ integrity sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==
+ dependencies:
+ bluebird "^3.5.0"
+ clone "^2.1.1"
+ he "^1.1.1"
+ image-size "^0.5.1"
+ loader-utils "^1.1.0"
+ merge-options "1.0.1"
+ micromatch "3.1.0"
+ postcss "^5.2.17"
+ postcss-prefix-selector "^1.6.0"
+ posthtml-rename-id "^1.0"
+ posthtml-svg-mode "^1.0.3"
+ query-string "^4.3.2"
+ traverse "^0.6.6"
+
svg-parser@^2.0.0, svg-parser@^2.0.2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+svg-sprite-loader@^6.0.6:
+ version "6.0.6"
+ resolved "http://registry.yarnpkg.com/svg-sprite-loader/-/svg-sprite-loader-6.0.6.tgz#8514cc52c472e53551a3f6bbc00065c8026e60b8"
+ integrity sha512-AcGvAH19iNuqGZ+DItYo0WOSl+TjTTGvx2pli9xNAFrGZ3UmO50rQRVt2+YJHPrvIAzdvxVv1EyIu/gEePAMCg==
+ dependencies:
+ bluebird "^3.5.0"
+ deepmerge "1.3.2"
+ domready "1.0.8"
+ escape-string-regexp "1.0.5"
+ loader-utils "^1.1.0"
+ svg-baker "^1.5.0"
+ svg-baker-runtime "^1.4.7"
+ url-slug "2.0.0"
+
svg-tags@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=
+svgo-loader@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.yarnpkg.com/svgo-loader/-/svgo-loader-3.0.0.tgz#9112db53005bf3432dbb020542cd69b20a0d1e52"
+ integrity sha512-gwyFuzTxZ8hEWYKQ9GodudSKRHzW8CUqgdfsdNpu1U5Keow5dPIgxT4DoHUEVXQRolefgSCeBtW3y12CyhIGxw==
+ dependencies:
+ loader-utils "^1.0.3"
+ svgo "^2.2.0"
+
svgo@^1.0.0, svgo@^1.2.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
@@ -21089,6 +21333,19 @@ svgo@^1.0.0, svgo@^1.2.2:
unquote "~1.1.1"
util.promisify "~1.0.0"
+svgo@^2.2.0, svgo@^2.3.0:
+ version "2.3.0"
+ resolved "http://registry.yarnpkg.com/svgo/-/svgo-2.3.0.tgz#6b3af81d0cbd1e19c83f5f63cec2cb98c70b5373"
+ integrity sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==
+ dependencies:
+ "@trysound/sax" "0.1.1"
+ chalk "^4.1.0"
+ commander "^7.1.0"
+ css-select "^3.1.2"
+ css-tree "^1.1.2"
+ csso "^4.2.0"
+ stable "^0.1.8"
+
swagger-client@^3.12.2:
version "3.12.2"
resolved "https://registry.yarnpkg.com/swagger-client/-/swagger-client-3.12.2.tgz#c6d1148d749507d328a1647bd71f33166147387d"
@@ -21615,7 +21872,7 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
-traverse@~0.6.6:
+traverse@^0.6.6, traverse@~0.6.6:
version "0.6.6"
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
@@ -21987,6 +22244,11 @@ unicode-property-aliases-ecmascript@^1.0.4:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
+unidecode@0.1.8:
+ version "0.1.8"
+ resolved "http://registry.yarnpkg.com/unidecode/-/unidecode-0.1.8.tgz#efbb301538bc45246a9ac8c559d72f015305053e"
+ integrity sha1-77swFTi8RSRqmsjFWdcvAVMFBT4=
+
unified@^6.1.2:
version "6.2.0"
resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
@@ -22247,6 +22509,13 @@ url-parse@^1.4.3, url-parse@^1.4.7:
querystringify "^2.1.1"
requires-port "^1.0.0"
+url-slug@2.0.0:
+ version "2.0.0"
+ resolved "http://registry.yarnpkg.com/url-slug/-/url-slug-2.0.0.tgz#a789d5aed4995c0d95af33377ad1d5c68d4d7027"
+ integrity sha1-p4nVrtSZXA2VrzM3etHVxo1NcCc=
+ dependencies:
+ unidecode "0.1.8"
+
url@^0.11.0, url@~0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"