Merge branch 'develop' into merge-validator

* develop:
  feat(docs): update readme
  feat(docs): compress logo image
  feat(docs): add sunmao start link in readme
  feat(runtime): use render set to check all the slot elements hidden or not
  fix(styleTraitForm): fix nested button warning
  feat(runtime): pass slot fallback into slot elements
  docs(*): replace webzard-io with smartxworks
  fix(runtime): remove react-markdown

# Conflicts:
#	yarn.lock
This commit is contained in:
Bowen Tan 2022-07-15 11:34:22 +08:00
commit aeaa083486
28 changed files with 149 additions and 391 deletions

View File

@ -1,21 +1,33 @@
<div align="center">
<img src="./docs/images/logo.png" alt="logo" width="200" />
<a href='https://sunmao-ui.com' target='_blank'>
<img src="./docs/images/logo.png" alt="logo" width="200" />
</a>
</div>
<div align="center">
<h1>Sunmao</h1>
</div>
<p align="center">
<img alt="Apache-2.0" src="https://img.shields.io/github/license/webzard-io/sunmao-ui"/>
<a href="https://github.com/webzard-io/sunmao-ui/issues">
<img src="https://img.shields.io/github/issues/webzard-io/sunmao-ui" alt="GitHub issues">
<img alt="Apache-2.0" src="https://img.shields.io/github/license/smartxworks/sunmao-ui"/>
<a href="https://github.com/smartxworks/sunmao-ui/issues">
<img src="https://img.shields.io/github/issues/smartxworks/sunmao-ui" alt="GitHub issues">
</a>
<img alt="Github Stars" src="https://badgen.net/github/stars/smartxworks/sunmao-ui" />
<a href="https://join.slack.com/t/sunmao/shared_invite/zt-1cgk81ebm-DyG9p2D5GNFS6vtbQwWj7A">
<img src="https://img.shields.io/badge/slack-@sunmao-purple.svg?logo=slack" alt="Join the chat at Slack">
</a>
<img alt="Github Stars" src="https://badgen.net/github/stars/webzard-io/sunmao-ui" />
</p>
Sunmao is a front-end low-code framework. Through Sunmao, you can easily encapsulate any front-end UI components into low-code component libraries, so as to build your own low-code UI development platform, making front-end development as tight as Sunmao.
Sunmao(榫卯 /suən mɑʊ/) is a front-end low-code framework. Through Sunmao, you can easily encapsulate any front-end UI components into low-code component libraries, so as to build your own low-code UI development platform, making front-end development as tight as Sunmao.
[中文](./docs/zh/README.md)
## DEMO
Sunmaos website is developed with Sunmaolook here[Sunmao 官网](https://sunmao-ui.com/dev.html)
We also provide an open-to-use template[Sunmao Starter Kit](https://github.com/webzard-io/sunmao-start)
## Why Sunmao?
### Reactive low-code framework
@ -36,6 +48,19 @@ You are in type safety both when developing Sunmao components and when using the
For more details, read [Sunmao: A truly extensible low-code UI framework](./docs/en/what-is-sunmao.md).
## Tutorial
Sunmao users are divided into two roles, one is a developer and the other is a user.
The responsibilities of developers are similar to those of common front-end developers. They are responsible for developing UI components and encapsulating common UI components to Sunmao components. Developers need to write code to implement the logic of the component.
The user's responsibility is to use the Sunmao components encapsulated by developers to build front-end applications in the Sunmao low-code editor. Users do not need front-end knowledge and programming skills. They can complete application construction only through UI interaction.
We have prepared two tutorials for different roles. The user only needs to read the user's tutorial, but the developer has to read both.
- [User's Tutorial](./docs/en/user.md)
- [Developer's Tutorial](./docs/en/developer.md)
## local development
### Start
@ -60,23 +85,6 @@ yarn
> When you run the runtime or editor locally, if you modify the code of other packages, you must rebuild the modified package, otherwise, the runtime and editor will still run the old code.
## Tutorial
Sunmao users are divided into two roles, one is a developer and the other is a user.
The responsibilities of developers are similar to those of common front-end developers. They are responsible for developing UI components and encapsulating common UI components to Sunmao components. Developers need to write code to implement the logic of the component.
The user's responsibility is to use the Sunmao components encapsulated by developers to build front-end applications in the Sunmao low-code editor. Users do not need front-end knowledge and programming skills. They can complete application construction only through UI interaction.
We have prepared two tutorials for different roles. The user only needs to read the user's tutorial, but the developer has to read both.
- [User's Tutorial](./docs/en/user.md)
- [Developer's Tutorial](./docs/en/developer.md)
## Online Demo
[Sunmao Playground](https://sunmao-ui-cloud.vercel.app)
## License
Apache-2.0

View File

@ -135,7 +135,7 @@ We believe that providing props like `dataUrl`, `hidden`, or `handlers` to every
Sunmao's GUI editor will read all of the components' specs and generate a form based on its JSON schema description.
If some of the form widgets require extensive customization, component developers can implement their own widgets and allow specific components to use them. A detailed design of the customized widgets can be found [here](https://github.com/webzard-io/Sunmao/issues/313).
If some of the form widgets require extensive customization, component developers can implement their own widgets and allow specific components to use them. A detailed design of the customized widgets can be found [here](https://github.com/smartxworks/sunmao-ui/issues/313).
## Sunmao is open

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,20 +1,31 @@
<div align="center">
<img src="../images/logo.png" alt="logo" width="200" />
<a href='https://sunmao-ui.com' target='_blank'>
<img src="../images/logo.png" alt="logo" width="200" />
</a>
</div>
<div align="center">
<h1>Sunmao</h1>
</div>
<p align="center">
<img alt="Apache-2.0 License" src="https://img.shields.io/github/license/webzard-io/sunmao-ui"/>
<a href="https://github.com/webzard-io/sunmao-ui/issues">
<img src="https://img.shields.io/github/issues/webzard-io/sunmao-ui" alt="GitHub issues">
<img alt="Apache-2.0 License" src="https://img.shields.io/github/license/smartxworks/sunmao-ui"/>
<a href="https://github.com/smartxworks/sunmao-ui/issues">
<img src="https://img.shields.io/github/issues/smartxworks/sunmao-ui" alt="GitHub issues">
</a>
<img alt="Github Stars" src="https://badgen.net/github/stars/smartxworks/sunmao-ui" />
<a href="https://join.slack.com/t/sunmao/shared_invite/zt-1cgk81ebm-DyG9p2D5GNFS6vtbQwWj7A">
<img src="https://img.shields.io/badge/slack-@sunmao-purple.svg?logo=slack" alt="Join the chat at Slack">
</a>
<img alt="Github Stars" src="https://badgen.net/github/stars/webzard-io/sunmao-ui" />
</p>
Sunmao 是一个前端低代码框架。通过 Sunmao您可以轻松将各种前端 UI 组件库和自己开发的前端组件,封装成低代码组件库,从而搭建您自己的低代码 UI 开发工具,使前端开发变得如榫卯般严丝合缝。
## DEMO
Sunmao 的官网就是由 Sunmao 开发的,可以即刻体验:[Sunmao 官网](https://sunmao-ui.com/dev.html)
我们还提供了一个项目模板,开箱即用:[Sunmao Starter Kit](https://github.com/webzard-io/sunmao-start)
## 为什么选择 Sunmao
### 响应式的低代码框架
@ -35,6 +46,19 @@ Sunmao 内置了低代码工具的 GUI 编辑器,几乎囊括了一个完整
更多详情,请见 [Sunmao一个真正可扩展的低代码 UI 框架](./what-is-sunmao.md)
## 教程
Sunmao 的用户分为两种角色,一种是开发者,一种是使用者。
开发者的职责和寻常的前端开发者类似,负责开发 UI 组件,并且把普通的 UI 组件封装为 Sunmao 的组件。开发者需要通过写代码来实现组件的逻辑。
使用者的职责是利用开发者封装好的 Sunmao 组件,在 Sunmao 低代码编辑器中搭建前端应用。使用者不需要前端知识和编程能力,仅通过 UI 交互就可以完成应用搭建。
为此,我们准备了两份教程,分别面向不同的角色。使用者仅需阅读使用者的教程,但开发者则要先阅读使用者教程,再阅读开发者教程。
- [使用者的教程](./user.md)
- [开发者的教程](./developer.md)
## 本地开发
### 启动项目
@ -59,23 +83,6 @@ yarn
> 当你本地运行 runtime 或 editor 时,如果你修改了别的包的代码,必须重新构建被修改的包,否则 runtime 和 editor 中运行的依旧是旧代码。
## 教程
Sunmao 的用户分为两种角色,一种是开发者,一种是使用者。
开发者的职责和寻常的前端开发者类似,负责开发 UI 组件,并且把普通的 UI 组件封装为 Sunmao 的组件。开发者需要通过写代码来实现组件的逻辑。
使用者的职责是利用开发者封装好的 Sunmao 组件,在 Sunmao 低代码编辑器中搭建前端应用。使用者不需要前端知识和编程能力,仅通过 UI 交互就可以完成应用搭建。
为此,我们准备了两份教程,分别面向不同的角色。使用者仅需阅读使用者的教程,但开发者则要先阅读使用者教程,再阅读开发者教程。
- [使用者的教程](./user.md)
- [开发者的教程](./developer.md)
## 在线 DEMO
[Sunmao Playground](https://sunmao-ui-cloud.vercel.app)
## 许可证
Apache-2.0

View File

@ -133,7 +133,7 @@ Web UI 开发已经相当成熟,所以 Sunmao 只是在此基础之上增加
Sunmao 的可视化编辑器读取所有组件的规范并基于其定义的 JSON schema 自动生成表单。
如果一部分表单需要定制,组件开发者可以实现自定义的编辑器 widget。关于扩展可视化编辑器的设计可以进一步阅读这一[设计文档](https://github.com/webzard-io/Sunmao/issues/313)。
如果一部分表单需要定制,组件开发者可以实现自定义的编辑器 widget。关于扩展可视化编辑器的设计可以进一步阅读这一[设计文档](https://github.com/smartxworks/sunmao-ui/issues/313)。
## 保持开放

View File

@ -70,7 +70,30 @@
"container": {
"id": "nested_tabs",
"slot": "content"
}
},
"ifCondition": "{{ $slot.tabIndex === 0 }}"
}
}
]
},
{
"id": "text_2",
"type": "core/v1/text",
"properties": {
"value": {
"raw": "also in tab3",
"format": "plain"
}
},
"traits": [
{
"type": "core/v1/slot",
"properties": {
"container": {
"id": "nested_tabs",
"slot": "content"
},
"ifCondition": "{{ $slot.tabIndex === 0 }}"
}
}
]

View File

@ -1,14 +1,14 @@
{
"name": "@sunmao-ui/arco-lib",
"version": "0.3.1",
"homepage": "https://github.com/webzard-io/sunmao-ui-arco-lib",
"homepage": "https://github.com/smartxworks/sunmao-ui-arco-lib",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git+https://github.com/webzard-io/sunmao-ui-arco-lib.git"
"url": "git+https://github.com/smartxworks/sunmao-ui-arco-lib.git"
},
"main": "dist/index.js",
"module": "dist/esm/index.js",

View File

@ -3,14 +3,14 @@
"version": "0.5.1",
"description": "sunmao-ui chakra-ui library",
"author": "sunmao-ui developers",
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
},
"main": "dist/index.js",
"module": "dist/esm/index.js",

View File

@ -101,9 +101,7 @@ export default implementRuntimeComponent({
${customStyle?.tabContent}
`}
>
{slotsElements?.content
? slotsElements.content({ tabIndex: idx })
: placeholder}
{slotsElements?.content?.({ tabIndex: idx }, placeholder)}
</TabPanel>
);
})}

View File

@ -3,14 +3,14 @@
"version": "0.7.1",
"description": "sunmao-ui core",
"author": "sunmao-ui developers",
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
},
"main": "dist/index.js",
"module": "dist/esm/index.js",
@ -29,7 +29,7 @@
"prepublish": "npm run build && npm run typings"
},
"bugs": {
"url": "https://github.com/webzard-io/sunmao-ui/issues"
"url": "https://github.com/smartxworks/sunmao-ui/issues"
},
"dependencies": {
"lodash": "^4.17.21"

View File

@ -3,7 +3,7 @@
"version": "0.3.1",
"description": "The SDK for SunMao Editor",
"author": "sunmao-ui developers",
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"
@ -41,7 +41,6 @@
"mobx-react-lite": "^3.2.2",
"rc-select": "^14.1.5",
"react-color": "^2.19.3",
"react-markdown": "6.0.3",
"tern": "^0.24.3"
},
"devDependencies": {

View File

@ -34,7 +34,6 @@ import { NullField } from './NullField';
import { MultiSpecField } from './MultiSpecField';
import { CategoryWidget } from './CategoryWidget';
import { UnsupportedField } from './UnsupportedField';
import ReactMarkdown from 'react-markdown';
type ExpressionButtonProps = {
isExpression?: boolean;
@ -161,9 +160,7 @@ const DefaultTemplate: React.FC<TemplateProps> = props => {
bg="blackAlpha.700"
_focus={{ boxShadow: 'none' }}
>
<ReactMarkdown className={css(descriptionStyle)}>
{description}
</ReactMarkdown>
<p className={css(descriptionStyle)}>{description}</p>
</PopoverContent>
) : null}
</Portal>

View File

@ -35,12 +35,12 @@ describe('update component property', () => {
const appModel = new AppModel(AppSchema.spec.components, registry);
const origin = appModel.toSchema();
const text1 = appModel.getComponentById('text1' as any);
text1!.updateComponentProperty('value', { raw: 'hello', format: 'md' });
text1!.updateComponentProperty('value', { raw: 'hello', format: 'plain' });
text1!.updateComponentProperty('newProperty', "a property that didn't exist before");
const newSchema = appModel.toSchema();
it('update component properties', () => {
expect(newSchema[5].properties.value).toEqual({ raw: 'hello', format: 'md' });
expect(newSchema[5].properties.value).toEqual({ raw: 'hello', format: 'plain' });
});
it("update a new property that component don't have", () => {

View File

@ -48,7 +48,7 @@ export const ComponentInvalidSchema: ComponentSchema[] = [
properties: {
value: {
raw: false,
format: 'md',
format: 'plain',
},
},
traits: [],
@ -88,7 +88,7 @@ export const ComponentWrongPropertyExpressionSchema: ComponentSchema[] = [
properties: {
text: {
raw: '{{fetch.data.value}}',
format: 'md',
format: 'plain',
},
isLoading: false,
colorScheme: 'blue',
@ -119,7 +119,7 @@ export const ComponentWrongPropertyExpressionSchema: ComponentSchema[] = [
properties: {
value: {
raw: '{{ Math.random2() }}',
format: 'md',
format: 'plain',
},
},
traits: [],
@ -189,7 +189,7 @@ export const TraitInvalidSchema: ComponentSchema[] = [
properties: {
value: {
raw: 'hello',
format: 'md',
format: 'plain',
},
},
traits: [
@ -205,7 +205,7 @@ export const TraitInvalidSchema: ComponentSchema[] = [
properties: {
value: {
raw: 'hello',
format: 'md',
format: 'plain',
},
},
traits: [
@ -238,7 +238,7 @@ export const EventTraitSchema: ComponentSchema[] = [
properties: {
text: {
raw: 'hello',
format: 'md',
format: 'plain',
},
isLoading: false,
colorScheme: 'blue',
@ -310,7 +310,7 @@ export const EventTraitMethodSchema: ComponentSchema[] = [
properties: {
value: {
raw: 'hello',
format: 'md',
format: 'plain',
},
},
traits: [
@ -326,7 +326,7 @@ export const EventTraitMethodSchema: ComponentSchema[] = [
properties: {
text: {
raw: 'hello',
format: 'md',
format: 'plain',
},
isLoading: false,
colorScheme: 'blue',

View File

@ -3,7 +3,7 @@
"version": "0.7.1",
"description": "sunmao-ui editor",
"author": "sunmao-ui developers",
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
"license": "Apache-2.0",
"main": "dist/index.js",
"module": "dist/esm/index.js",
@ -25,10 +25,10 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
},
"bugs": {
"url": "https://github.com/webzard-io/sunmao-ui/issues"
"url": "https://github.com/smartxworks/sunmao-ui/issues"
},
"dependencies": {
"@chakra-ui/icons": "^1.0.15",

View File

@ -169,6 +169,7 @@ export const StyleTraitForm: React.FC<Props> = props => {
size="sm"
variant="ghost"
colorScheme="red"
as="div"
icon={<CloseIcon fontSize="12px" />}
onClick={removeStyle}
/>

View File

@ -46,7 +46,7 @@ type Props = {
};
// Read this pr to understand the coordinates system before you modify this component.
// https://github.com/webzard-io/sunmao-ui/pull/286
// https://github.com/smartxworks/sunmao-ui/pull/286
export const EditorMask: React.FC<Props> = observer((props: Props) => {
const { services, mousePosition, wrapperRef, hoverComponentIdRef, dragOverSlotRef } =
props;

View File

@ -15,17 +15,4 @@ describe('Text component', () => {
expect(ele).toBeTruthy();
expect(ele.innerHTML).toMatchInlineSnapshot('"plain text"');
});
it('should render markdown text', () => {
const { queryByText } = render(
<Text
value={{
raw: '**plain** text',
format: 'md',
}}
></Text>
);
const ele = queryByText(/text/i);
expect(ele).toBeTruthy();
expect(ele.innerHTML).toMatchInlineSnapshot('"<strong>plain</strong> text"');
});
});

View File

@ -3,14 +3,14 @@
"version": "0.7.1",
"description": "sunmao-ui runtime",
"author": "sunmao-ui developers",
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
},
"main": "dist/index.js",
"module": "dist/esm/index.js",
@ -41,7 +41,6 @@
"lodash": "^4.17.21",
"mitt": "^3.0.0",
"path-to-regexp": "^6.2.0",
"react-markdown": "6.0.3",
"react-resize-detector": "^6.7.6",
"react-simple-code-editor": "^0.11.0",
"use-deep-compare": "^1.1.0",

View File

@ -22,7 +22,8 @@ export const ImplWrapper = React.memo<ImplWrapperProps>(
isEqual &&
prevComponent === nextComponent &&
// TODO: keep ImplWrapper memorized and get slot props from store
shallowCompare(prevProps.slotProps, nextProps.slotProps)
shallowCompare(prevProps.slotProps, nextProps.slotProps) &&
shallowCompare(prevProps.slotContext, nextProps.slotContext)
);
}
);

View File

@ -161,7 +161,7 @@ export const ImplWrapperMain = React.forwardRef<HTMLDivElement, ImplWrapperProps
<Impl
ref={ref}
key={c.id}
{...omit(props, 'slotProps')}
{...omit(props, ['slotProps', 'slotContext'])}
{...mergedProps}
slotsElements={slotElements}
mergeState={mergeState}

View File

@ -8,7 +8,7 @@ import { watch } from '../../..';
export const UnmountImplWrapper = React.forwardRef<HTMLDivElement, ImplWrapperProps>(
function UnmountImplWrapper(props, ref) {
const { component: c, services } = props;
const { component: c, services, slotContext } = props;
const { stateManager, registry } = services;
const { executeTrait } = useRuntimeFunctions(props);
@ -76,6 +76,12 @@ export const UnmountImplWrapper = React.forwardRef<HTMLDivElement, ImplWrapperPr
initSingleComponentState(registry, stateManager, c);
}
if (isHidden && slotContext) {
slotContext.renderSet.delete(c.id);
if (slotContext.renderSet.size === 0) {
return <>{slotContext.fallback}</>;
}
}
return !isHidden ? <ImplWrapperMain {...props} ref={ref} /> : null;
}
);

View File

@ -17,8 +17,20 @@ export function getSlotElements(
return <ImplWrapper key={child.id} {...props} component={child} />;
});
slotElements[slot] = function getSlot(slotProps) {
return slotChildren.map(child => React.cloneElement(child, { slotProps }));
slotElements[slot] = function getSlot(slotProps, slotFallback) {
const slotContext = {
renderSet: new Set(childrenMap[c.id][slot].map(child => child.id)),
parentId: c.id,
slotProps: JSON.stringify(slotProps),
fallback: slotFallback,
};
const children = slotChildren.map(child =>
React.cloneElement(child, {
slotProps,
slotContext,
})
);
return children;
};
}
return slotElements;

View File

@ -1,6 +1,5 @@
import React from 'react';
import { css } from '@emotion/css';
import ReactMarkdown from 'react-markdown';
import { Static, Type } from '@sinclair/typebox';
export const TextPropertySpec = Type.Object(
@ -11,7 +10,6 @@ export const TextPropertySpec = Type.Object(
format: Type.KeyOf(
Type.Object({
plain: Type.String(),
md: Type.String(),
}),
{
title: 'Format',
@ -31,18 +29,6 @@ export type TextProps = {
const Text = React.forwardRef<HTMLDivElement, TextProps>(({ value, cssStyle }, ref) => {
const text = typeof value.raw === 'string' ? value.raw : `${value.raw}`;
if (value.format === 'md') {
return (
<div
className={css`
${cssStyle}
`}
ref={ref}
>
<ReactMarkdown>{text}</ReactMarkdown>
</div>
);
}
return (
<span

View File

@ -21,6 +21,7 @@ export type ImplWrapperProps<
app: RuntimeApplication;
evalListItem?: boolean;
slotProps?: unknown;
slotContext?: { renderSet: Set<string>; fallback?: React.ReactNode };
} & ComponentParamsFromApp;
export type ComponentImplProps<
@ -70,7 +71,10 @@ type SubscribeMethods<U> = (map: {
}) => void;
type MergeState<T> = (partialState: Partial<T>) => void;
export type SlotsElements<U extends Record<string, SlotSpec>> = {
[K in keyof U]?: (props: Static<U[K]['slotProps']>) => React.ReactNode;
[K in keyof U]?: (
props: Static<U[K]['slotProps']>,
fallback?: React.ReactNode
) => React.ReactNode;
};
export type RuntimeFunctions<

View File

@ -3,7 +3,7 @@
"version": "0.2.1",
"description": "The Sunmao shared lib",
"author": "sunmao-ui developers",
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"

View File

@ -3,7 +3,7 @@
"version": "1.0.3",
"description": "vite plugins for sunmao-ui",
"author": "sunmao-ui developers",
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"
@ -14,7 +14,7 @@
],
"repository": {
"type": "git",
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
},
"scripts": {}
}

278
yarn.lock
View File

@ -4262,13 +4262,6 @@
dependencies:
"@types/node" "*"
"@types/hast@^2.0.0":
version "2.3.4"
resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz"
integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==
dependencies:
"@types/unist" "*"
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.3"
resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz"
@ -4343,13 +4336,6 @@
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2"
integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==
"@types/mdast@^3.0.0":
version "3.0.10"
resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz"
integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==
dependencies:
"@types/unist" "*"
"@types/minimatch@^3.0.3":
version "3.0.5"
resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz"
@ -4497,11 +4483,6 @@
resolved "https://registry.yarnpkg.com/@types/tinycolor2/-/tinycolor2-1.4.2.tgz#721ca5c5d1a2988b4a886e35c2ffc5735b6afbdf"
integrity sha512-PeHg/AtdW6aaIO2a+98Xj7rWY4KC1E6yOy7AFknJQ7VXUGNrMlyxDFxJo7HqLtjQms/ZhhQX52mLVW/EX3JGOw==
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3":
version "2.0.6"
resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz"
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
"@types/warning@^3.0.0":
version "3.0.0"
resolved "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz"
@ -5146,11 +5127,6 @@ babel-runtime@^6.23.0:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
bail@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
@ -5425,21 +5401,6 @@ char-regex@^1.0.2:
resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
character-entities-legacy@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
character-entities@^1.0.0:
version "1.2.4"
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
character-reference-invalid@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"
@ -5647,11 +5608,6 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
comma-separated-tokens@^1.0.0:
version "1.0.8"
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
commander@^4.0.0:
version "4.1.1"
resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"
@ -6067,7 +6023,7 @@ debug@2.6.9, debug@^2.6.9:
dependencies:
ms "2.0.0"
debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
version "4.3.2"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
@ -7191,7 +7147,7 @@ expect@^27.3.1:
jest-message-util "^27.3.1"
jest-regex-util "^27.0.6"
extend@^3.0.0, extend@~3.0.2:
extend@~3.0.2:
version "3.0.2"
resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
@ -8042,11 +7998,6 @@ init-package-json@^2.0.2:
validate-npm-package-license "^3.0.4"
validate-npm-package-name "^3.0.0"
inline-style-parser@0.1.1:
version "0.1.1"
resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz"
integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
inquirer@6.5.2, inquirer@^6.3.1:
version "6.5.2"
resolved "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz"
@ -8106,19 +8057,6 @@ ip@^1.1.5:
resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz"
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
is-alphabetical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
is-alphanumerical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
dependencies:
is-alphabetical "^1.0.0"
is-decimal "^1.0.0"
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
@ -8151,11 +8089,6 @@ is-boolean-object@^1.1.0:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
is-buffer@^2.0.0:
version "2.0.5"
resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz"
integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
is-callable@^1.1.4, is-callable@^1.2.4:
version "1.2.4"
resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz"
@ -8189,11 +8122,6 @@ is-date-object@^1.0.1:
dependencies:
has-tostringtag "^1.0.0"
is-decimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
is-directory@^0.3.1:
version "0.3.1"
resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz"
@ -8233,11 +8161,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-hexadecimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
is-lambda@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz"
@ -9413,48 +9336,6 @@ material-colors@^1.2.1:
resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46"
integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
mdast-util-definitions@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2"
integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==
dependencies:
unist-util-visit "^2.0.0"
mdast-util-from-markdown@^0.8.0:
version "0.8.5"
resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c"
integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==
dependencies:
"@types/mdast" "^3.0.0"
mdast-util-to-string "^2.0.0"
micromark "~2.11.0"
parse-entities "^2.0.0"
unist-util-stringify-position "^2.0.0"
mdast-util-to-hast@^10.2.0:
version "10.2.0"
resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz#61875526a017d8857b71abc9333942700b2d3604"
integrity sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==
dependencies:
"@types/mdast" "^3.0.0"
"@types/unist" "^2.0.0"
mdast-util-definitions "^4.0.0"
mdurl "^1.0.0"
unist-builder "^2.0.0"
unist-util-generated "^1.0.0"
unist-util-position "^3.0.0"
unist-util-visit "^2.0.0"
mdast-util-to-string@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b"
integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==
mdurl@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz"
integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@ -9505,14 +9386,6 @@ merge@^2.1.1:
resolved "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz"
integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==
micromark@~2.11.0:
version "2.11.4"
resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a"
integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==
dependencies:
debug "^4.0.0"
parse-entities "^2.0.0"
micromatch@^4.0.2, micromatch@^4.0.4:
version "4.0.4"
resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz"
@ -10288,18 +10161,6 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
parse-entities@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
dependencies:
character-entities "^1.0.0"
character-entities-legacy "^1.0.0"
character-reference-invalid "^1.0.0"
is-alphanumerical "^1.0.0"
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz"
@ -10620,13 +10481,6 @@ prop-types@^15.5.10, prop-types@^15.8.1:
object-assign "^4.1.1"
react-is "^16.13.1"
property-information@^5.3.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69"
integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
dependencies:
xtend "^4.0.0"
proto-list@~1.2.1:
version "1.2.4"
resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
@ -10923,7 +10777,7 @@ react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1:
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-is@^17.0.0, react-is@^17.0.1:
react-is@^17.0.1:
version "17.0.2"
resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
@ -10938,25 +10792,6 @@ react-json-tree@^0.16.1:
prop-types "^15.8.1"
react-base16-styling "^0.9.1"
react-markdown@6.0.3:
version "6.0.3"
resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-6.0.3.tgz#625ec767fa321d91801129387e7d31ee0cb99254"
integrity sha512-kQbpWiMoBHnj9myLlmZG9T1JdoT/OEyHK7hqM6CqFT14MAkgWiWBUYijLyBmxbntaN6dCDicPcUhWhci1QYodg==
dependencies:
"@types/hast" "^2.0.0"
"@types/unist" "^2.0.3"
comma-separated-tokens "^1.0.0"
prop-types "^15.7.2"
property-information "^5.3.0"
react-is "^17.0.0"
remark-parse "^9.0.0"
remark-rehype "^8.0.0"
space-separated-tokens "^1.1.0"
style-to-object "^0.3.0"
unified "^9.0.0"
unist-util-visit "^2.0.0"
vfile "^4.0.0"
react-nanny@^2.9.0:
version "2.14.0"
resolved "https://registry.yarnpkg.com/react-nanny/-/react-nanny-2.14.0.tgz#c53afa8cd9612ca0eee57a35e0d38b65f76445a4"
@ -11276,20 +11111,6 @@ regjsparser@^0.7.0:
dependencies:
jsesc "~0.5.0"
remark-parse@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640"
integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==
dependencies:
mdast-util-from-markdown "^0.8.0"
remark-rehype@^8.0.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-8.1.0.tgz#610509a043484c1e697437fa5eb3fd992617c945"
integrity sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==
dependencies:
mdast-util-to-hast "^10.2.0"
request@^2.88.0, request@^2.88.2:
version "2.88.2"
resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz"
@ -11754,11 +11575,6 @@ source-map@^0.7.3:
resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
space-separated-tokens@^1.1.0:
version "1.1.5"
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
spdx-correct@^3.0.0:
version "3.1.1"
resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz"
@ -12009,13 +11825,6 @@ strong-log-transformer@^2.1.0:
minimist "^1.2.0"
through "^2.3.4"
style-to-object@^0.3.0:
version "0.3.0"
resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz"
integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
dependencies:
inline-style-parser "0.1.1"
style-value-types@4.1.4:
version "4.1.4"
resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-4.1.4.tgz#80f37cb4fb024d6394087403dfb275e8bb627e75"
@ -12318,11 +12127,6 @@ trim-newlines@^3.0.0:
resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
trough@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
ts-interface-checker@^0.1.9:
version "0.1.13"
resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
@ -12587,18 +12391,6 @@ unicode-property-aliases-ecmascript@^2.0.0:
resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz"
integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
unified@^9.0.0:
version "9.2.2"
resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975"
integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==
dependencies:
bail "^1.0.0"
extend "^3.0.0"
is-buffer "^2.0.0"
is-plain-obj "^2.0.0"
trough "^1.0.0"
vfile "^4.0.0"
unique-filename@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz"
@ -12613,50 +12405,6 @@ unique-slug@^2.0.0:
dependencies:
imurmurhash "^0.1.4"
unist-builder@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
unist-util-generated@^1.0.0:
version "1.1.6"
resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b"
integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==
unist-util-is@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797"
integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==
unist-util-position@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47"
integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==
unist-util-stringify-position@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
dependencies:
"@types/unist" "^2.0.2"
unist-util-visit-parents@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6"
integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==
dependencies:
"@types/unist" "^2.0.0"
unist-util-is "^4.0.0"
unist-util-visit@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
dependencies:
"@types/unist" "^2.0.0"
unist-util-is "^4.0.0"
unist-util-visit-parents "^3.0.0"
universal-user-agent@^6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz"
@ -12788,24 +12536,6 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
vfile-message@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
dependencies:
"@types/unist" "^2.0.0"
unist-util-stringify-position "^2.0.0"
vfile@^4.0.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624"
integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==
dependencies:
"@types/unist" "^2.0.0"
is-buffer "^2.0.0"
unist-util-stringify-position "^2.0.0"
vfile-message "^2.0.0"
vite@^2.6.13:
version "2.6.13"
resolved "https://registry.npmjs.org/vite/-/vite-2.6.13.tgz"
@ -13063,7 +12793,7 @@ xmlchars@^2.2.0:
resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz"
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
xtend@^4.0.0, xtend@~4.0.1:
xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==