未验证 提交 2631225a 编写于 作者: P Peter Pan 提交者: GitHub

feat(frontend): newly-designed scalar & sample page (#618)

* chore: update dependencies

* fix: wrong language detection in development

* feat: add new icons for future features

* feat: add refresh and language changing

* feat: remove scalar x-axis label

* feat: add scalar chart toolbox

* fix: move const out of type defination

* feat: maximize scalar chart

* feat: chart toolbox tooltip

* build: update dependencies

* feat: new scalar chart page

* pref: better component reuse in chart page

* fix: re-design of button component

* feat: new scalar side bar

* style: fix lint

* fix: remove samples page

* fix: runs color mismatch

* build: update dependencies

* feat: newly-designed image samples page

* feat: add run indicator in scalar chart tooltip

* feat: add empty tip when nothing selected in scalar and sample page
上级 2241c370
...@@ -33,6 +33,7 @@ module.exports = { ...@@ -33,6 +33,7 @@ module.exports = {
extends: [ extends: [
'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended',
'plugin:react/recommended', 'plugin:react/recommended',
'plugin:react-hooks/recommended',
'prettier/@typescript-eslint', 'prettier/@typescript-eslint',
'plugin:prettier/recommended' 'plugin:prettier/recommended'
], ],
...@@ -44,7 +45,6 @@ module.exports = { ...@@ -44,7 +45,6 @@ module.exports = {
ecmaVersion: 2018, ecmaVersion: 2018,
sourceType: 'module' sourceType: 'module'
}, },
plugins: ['react-hooks'],
settings: { settings: {
react: { react: {
version: 'detect' version: 'detect'
...@@ -54,9 +54,7 @@ module.exports = { ...@@ -54,9 +54,7 @@ module.exports = {
'@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'error', '@typescript-eslint/no-explicit-any': 'error',
'react/prop-types': 'off', 'react/prop-types': 'off',
'react/react-in-jsx-scope': 'off', 'react/react-in-jsx-scope': 'off'
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn'
} }
} }
] ]
......
...@@ -3,19 +3,24 @@ const fs = require('fs'); ...@@ -3,19 +3,24 @@ const fs = require('fs');
module.exports = { module.exports = {
// lint all files when global package.json or eslint config changes. // lint all files when global package.json or eslint config changes.
'./(package.json|.eslintrc.js)': () => 'yarn lint', './(package.json|.eslintrc.js)': () =>
`eslint --ext .tsx,.jsx.ts,.js --ignore-path ${path.join(__dirname, '.gitignore')} ${__dirname}`,
// check types when ts file or package.json changes. // check types when ts file or package.json changes.
'packages/**/(*.ts?(x)|package.json)': filenames => './(packages/*/package.json|packages/*/**/*.ts?(x))': filenames =>
[ [
...new Set( ...new Set(
filenames.map( filenames.map(filename => path.relative(path.join(__dirname, 'packages'), filename).split(path.sep)[0])
filename => path.relative(path.join(process.cwd(), 'packages'), filename).split(path.sep)[0]
)
) )
] ]
.map(p => path.join(process.cwd(), 'packages', p, 'tsconfig.json')) .map(p => path.join(__dirname, 'packages', p, 'tsconfig.json'))
.filter(p => fs.statSync(p).isFile()) .filter(p => {
try {
return fs.statSync(p).isFile();
} catch (e) {
return false;
}
})
.map(p => `tsc -p ${p} --noEmit`), .map(p => `tsc -p ${p} --noEmit`),
// lint changed files // lint changed files
......
...@@ -38,17 +38,17 @@ ...@@ -38,17 +38,17 @@
"version": "yarn format && git add -A" "version": "yarn format && git add -A"
}, },
"devDependencies": { "devDependencies": {
"@typescript-eslint/eslint-plugin": "2.27.0", "@typescript-eslint/eslint-plugin": "2.31.0",
"@typescript-eslint/parser": "2.27.0", "@typescript-eslint/parser": "2.31.0",
"eslint": "6.8.0", "eslint": "6.8.0",
"eslint-config-prettier": "6.10.1", "eslint-config-prettier": "6.11.0",
"eslint-plugin-prettier": "3.1.2", "eslint-plugin-prettier": "3.1.3",
"eslint-plugin-react": "7.19.0", "eslint-plugin-react": "7.19.0",
"eslint-plugin-react-hooks": "3.0.0", "eslint-plugin-react-hooks": "4.0.0",
"husky": "4.2.5", "husky": "4.2.5",
"lerna": "^3.20.2", "lerna": "3.20.2",
"lint-staged": "10.1.3", "lint-staged": "10.2.2",
"prettier": "2.0.4", "prettier": "2.0.5",
"rimraf": "3.0.2", "rimraf": "3.0.2",
"typescript": "3.8.3", "typescript": "3.8.3",
"yarn": "1.22.4" "yarn": "1.22.4"
......
...@@ -30,11 +30,11 @@ ...@@ -30,11 +30,11 @@
}, },
"dependencies": { "dependencies": {
"@visualdl/server": "^2.0.0-beta.32", "@visualdl/server": "^2.0.0-beta.32",
"pm2": "4.2.3" "pm2": "4.4.0"
}, },
"devDependencies": { "devDependencies": {
"electron": "8.2.1", "electron": "8.2.5",
"electron-builder": "22.4.1" "electron-builder": "22.6.0"
}, },
"engines": { "engines": {
"node": ">=10", "node": ">=10",
......
...@@ -36,15 +36,15 @@ ...@@ -36,15 +36,15 @@
"dependencies": { "dependencies": {
"@visualdl/server": "^2.0.0-beta.32", "@visualdl/server": "^2.0.0-beta.32",
"open": "7.0.3", "open": "7.0.3",
"ora": "4.0.3", "ora": "4.0.4",
"pm2": "4.2.3", "pm2": "4.4.0",
"yargs": "15.3.1" "yargs": "15.3.1"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "13.11.1", "@types/node": "13.13.5",
"@types/yargs": "15.0.4", "@types/yargs": "15.0.4",
"cross-env": "7.0.2", "cross-env": "7.0.2",
"ts-node": "8.8.2", "ts-node": "8.10.1",
"typescript": "3.8.3" "typescript": "3.8.3"
}, },
"engines": { "engines": {
......
import React, {FunctionComponent} from 'react'; import React, {FunctionComponent} from 'react';
import { import {
WithStyled, WithStyled,
borderActiveColor,
borderColor,
borderFocusedColor,
borderRadius,
dangerActiveColor, dangerActiveColor,
dangerColor, dangerColor,
dangerFocusedColor, dangerFocusedColor,
...@@ -10,7 +14,10 @@ import { ...@@ -10,7 +14,10 @@ import {
primaryActiveColor, primaryActiveColor,
primaryColor, primaryColor,
primaryFocusedColor, primaryFocusedColor,
sameBorder,
textColor,
textInvertColor, textInvertColor,
textLighterColor,
transitionProps transitionProps
} from '~/utils/style'; } from '~/utils/style';
...@@ -31,26 +38,36 @@ const colors = { ...@@ -31,26 +38,36 @@ const colors = {
} }
}; };
const Wrapper = styled.a<{type: keyof typeof colors}>` const Wrapper = styled.a<{type?: keyof typeof colors; rounded?: boolean; disabled?: boolean}>`
cursor: pointer; cursor: pointer;
height: ${height}; height: ${height};
line-height: ${height}; line-height: ${height};
border-radius: ${half(height)}; border-radius: ${props => (props.rounded ? half(height) : borderRadius)};
background-color: ${props => colors[props.type].default}; ${props => (props.type ? '' : sameBorder({color: borderColor}))}
color: ${textInvertColor}; background-color: ${props => (props.type ? colors[props.type].default : 'transparent')};
display: block; color: ${props => (props.disabled ? textLighterColor : props.type ? textInvertColor : textColor)};
cursor: ${props => (props.disabled ? 'not-allowed' : 'cursor')};
display: inline-block;
vertical-align: top;
text-align: center; text-align: center;
${transitionProps('background-color')} padding: 0 ${em(20)};
${transitionProps(['background-color', 'border-color'])}
${ellipsis()} ${ellipsis()}
&:hover, ${props =>
&:focus { props.disabled
background-color: ${props => colors[props.type].focused}; ? ''
} : `
&:hover,
&:focus {
${props.type ? '' : sameBorder({color: borderFocusedColor})}
background-color: ${props.type ? colors[props.type].focused : 'transparent'};
}
&:active { &:active {
background-color: ${props => colors[props.type].active}; ${props.type ? '' : sameBorder({color: borderActiveColor})}
} background-color: ${props.type ? colors[props.type].active : 'transparent'};
}`}
`; `;
const Icon = styled(RawIcon)` const Icon = styled(RawIcon)`
...@@ -58,13 +75,23 @@ const Icon = styled(RawIcon)` ...@@ -58,13 +75,23 @@ const Icon = styled(RawIcon)`
`; `;
type ButtonProps = { type ButtonProps = {
rounded?: boolean;
icon?: string; icon?: string;
type?: keyof typeof colors; type?: keyof typeof colors;
disabled?: boolean;
onClick?: () => unknown; onClick?: () => unknown;
}; };
const Button: FunctionComponent<ButtonProps & WithStyled> = ({icon, type, children, className, onClick}) => ( const Button: FunctionComponent<ButtonProps & WithStyled> = ({
<Wrapper className={className} onClick={onClick} type={type || 'primary'}> disabled,
rounded,
icon,
type,
children,
className,
onClick
}) => (
<Wrapper className={className} onClick={onClick} type={type} rounded={rounded} disabled={disabled}>
{icon && <Icon type={icon}></Icon>} {icon && <Icon type={icon}></Icon>}
{children} {children}
</Wrapper> </Wrapper>
......
import React, {FunctionComponent} from 'react'; import React, {FunctionComponent, useCallback, useEffect, useState} from 'react';
import { import {
WithStyled, WithStyled,
backgroundColor, backgroundColor,
borderRadius, borderRadius,
headerHeight,
math, math,
primaryColor, primaryColor,
rem,
sameBorder, sameBorder,
size,
transitionProps transitionProps
} from '~/utils/style'; } from '~/utils/style';
import ee from '~/utils/event';
import styled from 'styled-components'; import styled from 'styled-components';
const Div = styled.div` const Div = styled.div<{maximized?: boolean; width?: string; height?: string}>`
${props =>
size(
props.maximized ? `calc(100vh - ${headerHeight} - ${rem(40)})` : props.height || 'auto',
props.maximized ? '100%' : props.width || '100%'
)}
background-color: ${backgroundColor}; background-color: ${backgroundColor};
${sameBorder({radius: math(`${borderRadius} * 2`)})} ${sameBorder({radius: math(`${borderRadius} * 2`)})}
${transitionProps(['border-color', 'box-shadow'])} ${transitionProps(['border-color', 'box-shadow'])}
position: relative;
&:hover { &:hover {
border-color: ${primaryColor}; border-color: ${primaryColor};
...@@ -22,8 +32,34 @@ const Div = styled.div` ...@@ -22,8 +32,34 @@ const Div = styled.div`
} }
`; `;
const Chart: FunctionComponent<WithStyled> = ({className, children}) => { type ChartProps = {
return <Div className={className}>{children}</Div>; cid: symbol;
width?: string;
height?: string;
};
const Chart: FunctionComponent<ChartProps & WithStyled> = ({cid, width, height, className, children}) => {
const [maximized, setMaximized] = useState(false);
const toggleMaximze = useCallback(
(id: symbol, value: boolean) => {
if (id === cid) {
setMaximized(value);
}
},
[cid]
);
useEffect(() => {
ee.on('toggle-chart-size', toggleMaximze);
return () => {
ee.off('toggle-chart-size', toggleMaximze);
};
}, [toggleMaximze]);
return (
<Div maximized={maximized} width={width} height={height} className={className}>
{children}
</Div>
);
}; };
export default Chart; export default Chart;
import React, {FunctionComponent, useState} from 'react';
import {
backgroundColor,
borderRadius,
em,
rem,
size,
textColor,
textLighterColor,
transitionProps
} from '~/utils/style';
import Icon from '~/components/Icon';
import styled from 'styled-components';
const Wrapper = styled.div`
background-color: ${backgroundColor};
border-radius: ${borderRadius};
& + & {
margin-top: ${rem(4)};
}
`;
const Header = styled.div`
height: ${em(40)};
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 ${em(20)};
color: ${textLighterColor};
cursor: pointer;
> h3 {
color: ${textColor};
flex-grow: 1;
margin: 0;
font-weight: 700;
}
> .total {
margin-right: ${em(20)};
}
`;
const Content = styled.div`
border-top: 1px solid #eee;
padding: ${rem(20)};
`;
const CollapseIcon = styled(Icon)<{opened?: boolean}>`
${size(em(14))}
display: block;
flex-shrink: 0;
transform: rotate(${props => (props.opened ? '180' : '0')}deg) scale(${10 / 14});
${transitionProps('transform')}
`;
type ChartCollapseProps = {
title: string;
opened?: boolean;
total?: number;
};
const ChartCollapse: FunctionComponent<ChartCollapseProps> = ({opened, title, total, children}) => {
const [isOpened, setOpened] = useState(opened !== false);
return (
<Wrapper>
<Header onClick={() => setOpened(o => !o)}>
<h3>{title}</h3>
{total != null ? <span className="total">{total}</span> : null}
<CollapseIcon type="chevron-down" opened={isOpened} />
</Header>
{isOpened ? <Content>{children}</Content> : null}
</Wrapper>
);
};
export default ChartCollapse;
import React, {FunctionComponent, useMemo, useState} from 'react'; import React, {FunctionComponent, PropsWithChildren, useCallback, useEffect, useMemo, useState} from 'react';
import {WithStyled, primaryColor, rem} from '~/utils/style'; import {Trans, useTranslation} from '~/utils/i18n';
import {WithStyled, backgroundColor, headerHeight, link, primaryColor, rem, textLighterColor} from '~/utils/style';
import BarLoader from 'react-spinners/BarLoader'; import BarLoader from 'react-spinners/BarLoader';
import Chart from '~/components/Chart'; import Chart from '~/components/Chart';
import ChartCollapse from '~/components/ChartCollapse';
import Pagination from '~/components/Pagination'; import Pagination from '~/components/Pagination';
import SearchInput from '~/components/SearchInput';
import groupBy from 'lodash/groupBy';
import styled from 'styled-components'; import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n'; import useSearchValue from '~/hooks/useSearchValue';
const StyledPagination = styled(Pagination)`
margin-top: ${rem(20)};
`;
const Wrapper = styled.div` const Wrapper = styled.div`
display: flex; display: flex;
...@@ -13,6 +21,7 @@ const Wrapper = styled.div` ...@@ -13,6 +21,7 @@ const Wrapper = styled.div`
justify-content: flex-start; justify-content: flex-start;
align-items: stretch; align-items: stretch;
align-content: flex-start; align-content: flex-start;
margin-bottom: -${rem(20)};
> * { > * {
margin: 0 ${rem(20)} ${rem(20)} 0; margin: 0 ${rem(20)} ${rem(20)} 0;
...@@ -21,6 +30,11 @@ const Wrapper = styled.div` ...@@ -21,6 +30,11 @@ const Wrapper = styled.div`
} }
`; `;
const Search = styled.div`
width: ${rem(280)};
margin-bottom: ${rem(16)};
`;
const Loading = styled.div` const Loading = styled.div`
display: flex; display: flex;
justify-content: center; justify-content: center;
...@@ -29,49 +43,168 @@ const Loading = styled.div` ...@@ -29,49 +43,168 @@ const Loading = styled.div`
padding: ${rem(40)} 0; padding: ${rem(40)} 0;
`; `;
const Empty = styled.div` const Empty = styled.div<{height?: string}>`
display: flex; width: 100%;
justify-content: center; text-align: center;
align-items: center; font-size: ${rem(16)};
font-size: ${rem(20)}; color: ${textLighterColor};
height: ${rem(150)}; line-height: ${rem(24)};
flex-grow: 1; height: ${props => props.height ?? 'auto'};
padding: ${rem(320)} 0 ${rem(70)};
background-color: ${backgroundColor};
background-image: url(${`${process.env.PUBLIC_PATH}/images/empty.svg`});
background-repeat: no-repeat;
background-position: calc(50% + ${rem(25)}) ${rem(70)};
background-size: ${rem(280)} ${rem(244)};
${link}
`; `;
// TODO: add types type Item = {
// eslint-disable-next-line @typescript-eslint/no-explicit-any id?: string;
type ChartPageProps<T = any> = { label: string;
};
export interface WithChart<T extends Item> {
(item: T & {cid: symbol}, index: number): React.ReactNode;
}
type ChartPageProps<T extends Item> = {
items?: T[]; items?: T[];
running?: boolean;
loading?: boolean; loading?: boolean;
withChart?: (item: T) => React.ReactNode; chartSize?: {
width?: string;
height?: string;
};
withChart?: WithChart<T>;
}; };
const ChartPage: FunctionComponent<ChartPageProps & WithStyled> = ({items, loading, withChart, className}) => { const ChartPage = <T extends Item>({
items,
loading,
chartSize,
withChart,
className
}: PropsWithChildren<ChartPageProps<T> & WithStyled>): ReturnType<FunctionComponent> => {
const {t} = useTranslation('common'); const {t} = useTranslation('common');
const [page, setPage] = useState(1);
const pageSize = 12; const pageSize = 12;
const total = Math.ceil((items?.length ?? 0) / pageSize);
const [page, setPage] = useState(1); const [inputValue, setInputValue] = useState('');
const searchValue = useSearchValue(inputValue);
const pageItems = useMemo(() => items?.slice((page - 1) * pageSize, page * pageSize) ?? [], [items, page]); const matchedTags = useMemo(() => {
try {
const pattern = new RegExp(searchValue);
return items?.filter(tag => pattern.test(tag.label)) ?? [];
} catch {
return [];
}
}, [items, searchValue]);
return ( const pageMatchedTags = useMemo(() => matchedTags?.slice((page - 1) * pageSize, page * pageSize) ?? [], [
<div className={className}> matchedTags,
{loading ? ( page
]);
useEffect(() => {
setPage(1);
}, [searchValue]);
const groupedItems = useMemo(
() =>
Object.entries(groupBy<T>(items ?? [], item => item.label.split('/')[0])).sort(([a], [b]) => {
const ua = a.toUpperCase();
const ub = b.toUpperCase();
if (ua < ub) {
return -1;
}
if (ua > ub) {
return 1;
}
return 0;
}),
[items]
);
const total = useMemo(() => Math.ceil(matchedTags.length / pageSize), [matchedTags]);
const withCharts = useCallback(
(charts: T[], search?: boolean) =>
loading ? (
<Loading> <Loading>
<BarLoader color={primaryColor} width="20%" height="4px" /> <BarLoader color={primaryColor} width="20%" height="4px" />
</Loading> </Loading>
) : ( ) : (
<Wrapper> <Wrapper>
{pageItems.length ? ( {charts.length ? (
pageItems.map((item, index) => <Chart key={index}>{withChart?.(item)}</Chart>) charts.map((item, j) => {
const cid = Symbol(item.label);
return (
<Chart
cid={cid}
key={item.id || item.label}
width={chartSize?.width ?? rem(430)}
height={chartSize?.height ?? rem(337)}
>
{withChart?.({...item, cid}, j)}
</Chart>
);
})
) : ( ) : (
<Empty>{t('empty')}</Empty> <Empty height={rem(500)}>
{search ? (
<Trans i18nKey="search-empty">
Nothing found. Please try again with another word.
<br />
Or you can <a onClick={() => setInputValue('')}>see all charts</a>.
</Trans>
) : (
t('empty')
)}
</Empty>
)} )}
</Wrapper> </Wrapper>
),
[withChart, loading, chartSize, t]
);
return (
<div className={className}>
<Search>
<SearchInput
placeholder={t('search-tags')}
rounded
value={inputValue}
onChange={(value: string) => setInputValue(value)}
/>
</Search>
{searchValue ? (
<ChartCollapse title={t('search-result')} total={matchedTags.length}>
{withCharts(pageMatchedTags, true)}
{pageMatchedTags.length ? <StyledPagination page={page} total={total} onChange={setPage} /> : null}
</ChartCollapse>
) : groupedItems.length ? (
groupedItems.map((groupedItem, i) => (
<ChartCollapse
title={groupedItem[0]}
key={groupedItem[0]}
total={groupedItem[1].length}
opened={i === 0}
>
{withCharts(groupedItem[1])}
</ChartCollapse>
))
) : (
<Empty height={`calc(100vh - ${headerHeight} - ${rem(96)})`}>
<Trans i18nKey="unselected-empty">
Nothing selected.
<br />
Please select display data from right side.
</Trans>
</Empty>
)} )}
<Pagination page={page} total={total} onChange={setPage} />
</div> </div>
); );
}; };
......
import React, {FunctionComponent, useCallback, useState} from 'react';
import {
WithStyled,
em,
primaryActiveColor,
primaryColor,
primaryFocusedColor,
rem,
textColor,
textLightColor,
textLighterColor,
tooltipBackgroundColor,
tooltipTextColor,
transitionProps
} from '~/utils/style';
import Icon from '~/components/Icon';
import ReactTooltip from 'react-tooltip';
import {nanoid} from 'nanoid';
import styled from 'styled-components';
const Toolbox = styled.div`
font-size: ${em(16)};
height: 1em;
line-height: 1;
margin-bottom: ${rem(18)};
display: flex;
`;
const ToolboxItem = styled.a<{active?: boolean}>`
cursor: pointer;
color: ${props => (props.active ? primaryColor : textLighterColor)};
${transitionProps('color')}
&:hover {
color: ${props => (props.active ? primaryFocusedColor : textLightColor)};
}
&:active {
color: ${props => (props.active ? primaryActiveColor : textColor)};
}
& + & {
margin-left: ${rem(14)};
}
`;
type BaseChartToolboxItem = {
icon: string;
tooltip?: string;
};
type NormalChartToolboxItem = {
toggle?: false;
onClick?: () => unknown;
} & BaseChartToolboxItem;
type ToggleChartToolboxItem = {
toggle: true;
activeIcon?: string;
activeTooltip?: string;
onClick?: (value: boolean) => unknown;
} & BaseChartToolboxItem;
export type ChartTooboxItem = NormalChartToolboxItem | ToggleChartToolboxItem;
type ChartToolboxProps = {
cid?: string;
items: ChartTooboxItem[];
};
const ChartToolbox: FunctionComponent<ChartToolboxProps & WithStyled> = ({cid, items, className}) => {
const [activeStatus, setActiveStatus] = useState<boolean[]>(new Array(items.length).fill(false));
const onClick = useCallback(
(index: number) => {
const item = items[index];
if (item.toggle) {
item.onClick?.(!activeStatus[index]);
setActiveStatus(m => {
const n = [...m];
n.splice(index, 1, !m[index]);
return n;
});
} else {
item.onClick?.();
}
},
[items, activeStatus]
);
const [id] = useState(`chart-toolbox-tooltip-${cid || nanoid()}`);
return (
<>
<Toolbox className={className}>
{items.map((item, index) => (
<ToolboxItem
key={index}
active={item.toggle && !item.activeIcon && activeStatus[index]}
onClick={() => onClick(index)}
data-for={item.tooltip ? id : null}
data-tip={
item.tooltip
? item.toggle
? (activeStatus[index] && item.activeTooltip) || item.tooltip
: item.tooltip
: null
}
>
<Icon type={item.toggle ? (activeStatus[index] && item.activeIcon) || item.icon : item.icon} />
</ToolboxItem>
))}
</Toolbox>
<ReactTooltip
id={id}
place="top"
textColor={tooltipTextColor}
backgroundColor={tooltipBackgroundColor}
effect="solid"
/>
</>
);
};
export default ChartToolbox;
...@@ -47,7 +47,7 @@ const Inner = styled.div<{checked?: boolean; size?: string; disabled?: boolean}> ...@@ -47,7 +47,7 @@ const Inner = styled.div<{checked?: boolean; size?: string; disabled?: boolean}>
flex-shrink: 0; flex-shrink: 0;
${props => size(math(`${checkSize} * ${props.size === 'small' ? 0.875 : 1}`))} ${props => size(math(`${checkSize} * ${props.size === 'small' ? 0.875 : 1}`))}
margin: ${half(`${height} - ${checkSize}`)} 0; margin: ${half(`${height} - ${checkSize}`)} 0;
margin-right: ${em(4)}; margin-right: ${em(10)};
${props => sameBorder({color: props.disabled || !props.checked ? textLighterColor : primaryColor})}; ${props => sameBorder({color: props.disabled || !props.checked ? textLighterColor : primaryColor})};
background-color: ${props => background-color: ${props =>
props.disabled props.disabled
......
...@@ -5,7 +5,6 @@ import HashLoader from 'react-spinners/HashLoader'; ...@@ -5,7 +5,6 @@ import HashLoader from 'react-spinners/HashLoader';
import styled from 'styled-components'; import styled from 'styled-components';
const margin = rem(20); const margin = rem(20);
const padding = rem(20);
const Section = styled.section` const Section = styled.section`
/* trigger BFC */ /* trigger BFC */
...@@ -15,13 +14,10 @@ const Section = styled.section` ...@@ -15,13 +14,10 @@ const Section = styled.section`
const Article = styled.article<{aside?: boolean}>` const Article = styled.article<{aside?: boolean}>`
margin: ${margin}; margin: ${margin};
margin-right: ${props => (props.aside ? math(`${margin} + ${asideWidth}`) : margin)}; margin-right: ${props => (props.aside ? math(`${margin} + ${asideWidth}`) : margin)};
padding: ${padding};
background-color: ${backgroundColor};
min-height: calc(100vh - ${math(`${margin} * 2 + ${headerHeight}`)}); min-height: calc(100vh - ${math(`${margin} * 2 + ${headerHeight}`)});
`; `;
const Aside = styled.aside` const Aside = styled.aside`
padding: ${padding};
background-color: ${backgroundColor}; background-color: ${backgroundColor};
${size(`calc(100vh - ${headerHeight})`, asideWidth)} ${size(`calc(100vh - ${headerHeight})`, asideWidth)}
${position('fixed', headerHeight, 0, null, null)} ${position('fixed', headerHeight, 0, null, null)}
......
import React, {FunctionComponent, useLayoutEffect, useState} from 'react'; import {BlobResponse, blobFetcher} from '~/utils/fetch';
import React, {useImperativeHandle, useLayoutEffect, useState} from 'react';
import GridLoader from 'react-spinners/GridLoader'; import GridLoader from 'react-spinners/GridLoader';
import {blobFetcher} from '~/utils/fetch'; import mime from 'mime-types';
import {primaryColor} from '~/utils/style'; import {primaryColor} from '~/utils/style';
import {saveAs} from 'file-saver';
import useRequest from '~/hooks/useRequest'; import useRequest from '~/hooks/useRequest';
import {useTranslation} from '~/utils/i18n'; import {useTranslation} from '~/utils/i18n';
export type ImageRef = {
save(filename: string): void;
};
type ImageProps = { type ImageProps = {
src?: string; src?: string;
cache?: number; cache?: number;
}; };
const Image: FunctionComponent<ImageProps> = ({src, cache}) => { const Image = React.forwardRef<ImageRef, ImageProps>(({src, cache}, ref) => {
const {t} = useTranslation('common'); const {t} = useTranslation('common');
const [url, setUrl] = useState(''); const [url, setUrl] = useState('');
const {data, error, loading} = useRequest<Blob>(src ?? null, blobFetcher, { const {data, error, loading} = useRequest<BlobResponse>(src ?? null, blobFetcher, {
dedupingInterval: cache ?? 2000 dedupingInterval: cache ?? 2000
}); });
useImperativeHandle(ref, () => ({
save: (filename: string) => {
if (data) {
const ext = data.type ? mime.extension(data.type) : null;
saveAs(data.data, filename.replace(/[/\\?%*:|"<>]/g, '_') + (ext ? `.${ext}` : ''));
}
}
}));
// use useLayoutEffect hook to prevent image render after url revoked // use useLayoutEffect hook to prevent image render after url revoked
useLayoutEffect(() => { useLayoutEffect(() => {
if (process.browser && data) { if (process.browser && data) {
let objectUrl: string | null = null; let objectUrl: string | null = null;
objectUrl = URL.createObjectURL(data); objectUrl = URL.createObjectURL(data.data);
setUrl(objectUrl); setUrl(objectUrl);
return () => { return () => {
objectUrl && URL.revokeObjectURL(objectUrl); objectUrl && URL.revokeObjectURL(objectUrl);
...@@ -41,6 +56,6 @@ const Image: FunctionComponent<ImageProps> = ({src, cache}) => { ...@@ -41,6 +56,6 @@ const Image: FunctionComponent<ImageProps> = ({src, cache}) => {
} }
return <img src={url} />; return <img src={url} />;
}; });
export default Image; export default Image;
...@@ -32,7 +32,9 @@ export type InputProps = { ...@@ -32,7 +32,9 @@ export type InputProps = {
onChange?: (value: string) => unknown; onChange?: (value: string) => unknown;
}; };
const Input: FunctionComponent<InputProps & WithStyled> = ({rounded, placeholder, value, onChange, className}) => ( const Input: FunctionComponent<
InputProps & WithStyled & Omit<React.ComponentPropsWithoutRef<'input'>, keyof InputProps>
> = ({rounded, placeholder, value, onChange, className, ...props}) => (
<StyledInput <StyledInput
rounded={rounded} rounded={rounded}
placeholder={placeholder} placeholder={placeholder}
...@@ -40,7 +42,8 @@ const Input: FunctionComponent<InputProps & WithStyled> = ({rounded, placeholder ...@@ -40,7 +42,8 @@ const Input: FunctionComponent<InputProps & WithStyled> = ({rounded, placeholder
type="text" type="text"
className={className} className={className}
onChange={e => onChange?.(e.target.value)} onChange={e => onChange?.(e.target.value)}
></StyledInput> {...props}
/>
); );
export default Input; export default Input;
import React, {FunctionComponent} from 'react';
import {rem, size} from '~/utils/style';
import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n';
const LANGUAGE_FLAGS = [
['zh', ''],
['en', 'En']
];
const Item = styled.span<{active: boolean}>`
display: inline-block;
color: currentColor;
opacity: ${props => (props.active ? 1 : 0.29)};
`;
const Divider = styled.span`
display: inline-block;
margin: 0 ${rem(5)};
${size('1em', '1px')}
background-color: currentColor;
`;
const Language: FunctionComponent = () => {
const {i18n} = useTranslation();
return (
<>
{LANGUAGE_FLAGS.map(([l, f], i) => (
<React.Fragment key={f}>
{i !== 0 && <Divider />}
<Item active={l === i18n.language}>{f}</Item>
</React.Fragment>
))}
</>
);
};
export default Language;
import * as chart from '~/utils/chart'; import * as chart from '~/utils/chart';
import React, {FunctionComponent, useCallback, useEffect} from 'react'; import React, {useCallback, useEffect, useImperativeHandle, useLayoutEffect, useRef} from 'react';
import {WithStyled, position, primaryColor, size} from '~/utils/style'; import {WithStyled, position, primaryColor, size} from '~/utils/style';
import {EChartOption} from 'echarts'; import {EChartOption} from 'echarts';
import GridLoader from 'react-spinners/GridLoader'; import GridLoader from 'react-spinners/GridLoader';
import {dataURL2Blob} from '~/utils/image';
import {formatTime} from '~/utils'; import {formatTime} from '~/utils';
import {saveAs} from 'file-saver';
import styled from 'styled-components'; import styled from 'styled-components';
import useECharts from '~/hooks/useECharts'; import useECharts from '~/hooks/useECharts';
import {useTranslation} from '~/utils/i18n'; import {useTranslation} from '~/utils/i18n';
...@@ -37,98 +39,125 @@ type LineChartProps = { ...@@ -37,98 +39,125 @@ type LineChartProps = {
data?: Partial<NonNullable<EChartOption<EChartOption.SeriesLine>['series']>>; data?: Partial<NonNullable<EChartOption<EChartOption.SeriesLine>['series']>>;
xAxis?: string; xAxis?: string;
yAxis?: string; yAxis?: string;
type?: EChartOption.BasicComponents.CartesianAxis.Type; xType?: EChartOption.BasicComponents.CartesianAxis.Type;
yType?: EChartOption.BasicComponents.CartesianAxis.Type;
xRange?: Range; xRange?: Range;
yRange?: Range; yRange?: Range;
tooltip?: string | EChartOption.Tooltip.Formatter; tooltip?: string | EChartOption.Tooltip.Formatter;
loading?: boolean; loading?: boolean;
}; };
const LineChart: FunctionComponent<LineChartProps & WithStyled> = ({ export type LineChartRef = {
title, restore(): void;
legend, saveAsImage(): void;
data,
xAxis,
yAxis,
type,
xRange,
yRange,
tooltip,
loading,
className
}) => {
const {i18n} = useTranslation();
const {ref, echart} = useECharts<HTMLDivElement>({
loading: !!loading,
zoom: true
});
const xAxisFormatter = useCallback(
(value: number) => (type === 'time' ? formatTime(value, i18n.language, 'LTS') : value),
[type, i18n.language]
);
useEffect(() => {
if (process.browser) {
echart?.current?.setOption(
{
color: chart.color,
title: {
...chart.title,
text: title ?? ''
},
tooltip: {
...chart.tooltip,
...(tooltip
? {
formatter: tooltip
}
: {})
},
toolbox: chart.toolbox,
legend: {
...chart.legend,
data: legend ?? []
},
grid: chart.grid,
xAxis: {
...chart.xAxis,
name: xAxis || '',
type: type || 'value',
axisLabel: {
...chart.xAxis.axisLabel,
formatter: xAxisFormatter
},
...(xRange || {})
},
yAxis: {
...chart.yAxis,
name: yAxis || '',
...(yRange || {})
},
series: data?.map(item => ({
...chart.series,
// show symbol if there is only one point
showSymbol: (item?.data?.length ?? 0) <= 1,
...item
}))
} as EChartOption,
{notMerge: true}
);
}
}, [data, title, legend, xAxis, yAxis, type, xAxisFormatter, xRange, yRange, tooltip, echart]);
return (
<Wrapper className={className}>
{!echart && (
<div className="loading">
<GridLoader color={primaryColor} size="10px" />
</div>
)}
<div className="echarts" ref={ref}></div>
</Wrapper>
);
}; };
const LineChart = React.forwardRef<LineChartRef, LineChartProps & WithStyled>(
({title, legend, data, xAxis, yAxis, xType, yType, xRange, yRange, tooltip, loading, className}, ref) => {
const {i18n} = useTranslation();
const {ref: echartRef, echart} = useECharts<HTMLDivElement>({
loading: !!loading,
zoom: true
});
useImperativeHandle(ref, () => ({
restore: () => {
echart?.current?.dispatchAction({
type: 'restore'
});
},
saveAsImage: () => {
if (echart?.current) {
const blob = dataURL2Blob(
echart.current.getDataURL({type: 'png', pixelRatio: 2, backgroundColor: '#FFF'})
);
saveAs(blob, `${title?.replace(/[/\\?%*:|"<>]/g, '_') || 'scalar'}.png`);
}
}
}));
const xAxisFormatter = useCallback(
(value: number) => (xType === 'time' ? formatTime(value, i18n.language, 'LTS') : value),
[xType, i18n.language]
);
useEffect(() => {
if (process.browser) {
echart?.current?.setOption(
{
color: chart.color,
title: {
...chart.title,
text: title ?? ''
},
tooltip: {
...chart.tooltip,
...(tooltip
? {
formatter: tooltip
}
: {})
},
toolbox: chart.toolbox,
legend: {
...chart.legend,
data: legend ?? []
},
grid: chart.grid,
xAxis: {
...chart.xAxis,
name: xAxis || '',
type: xType || 'value',
axisLabel: {
...chart.xAxis.axisLabel,
formatter: xAxisFormatter
},
...(xRange || {})
},
yAxis: {
...chart.yAxis,
name: yAxis || '',
type: yType || 'value',
...(yRange || {})
},
series: data?.map(item => ({
...chart.series,
// show symbol if there is only one point
showSymbol: (item?.data?.length ?? 0) <= 1,
...item
}))
} as EChartOption,
{notMerge: true}
);
}
}, [data, title, legend, xAxis, yAxis, xType, yType, xAxisFormatter, xRange, yRange, tooltip, echart]);
const wrapperRef = useRef<HTMLDivElement>(null);
useLayoutEffect(() => {
if (process.browser) {
const wrapper = wrapperRef.current;
if (wrapper) {
const observer = new ResizeObserver(() => {
echart?.current?.resize();
});
observer.observe(wrapper);
return () => observer.unobserve(wrapper);
}
}
});
return (
<Wrapper ref={wrapperRef} className={className}>
{!echart && (
<div className="loading">
<GridLoader color={primaryColor} size="10px" />
</div>
)}
<div className="echarts" ref={echartRef}></div>
</Wrapper>
);
}
);
export default LineChart; export default LineChart;
import {Link, useTranslation} from '~/utils/i18n'; import {Link, config, i18n, useTranslation} from '~/utils/i18n';
import React, {FunctionComponent} from 'react'; import React, {FunctionComponent} from 'react';
import { import {
border, border,
...@@ -11,6 +11,9 @@ import { ...@@ -11,6 +11,9 @@ import {
transitionProps transitionProps
} from '~/utils/style'; } from '~/utils/style';
import Icon from '~/components/Icon';
import Language from '~/components/Language';
import ee from '~/utils/event';
import intersection from 'lodash/intersection'; import intersection from 'lodash/intersection';
import styled from 'styled-components'; import styled from 'styled-components';
import {useRouter} from 'next/router'; import {useRouter} from 'next/router';
...@@ -30,8 +33,21 @@ const Nav = styled.nav` ...@@ -30,8 +33,21 @@ const Nav = styled.nav`
${size('100%')} ${size('100%')}
padding: 0 ${rem(20)}; padding: 0 ${rem(20)};
display: flex; display: flex;
justify-content: flex-start; justify-content: space-between;
align-items: center; align-items: stretch;
> .left {
display: flex;
justify-content: flex-start;
align-items: center;
}
> .right {
display: flex;
justify-content: flex-end;
align-items: center;
margin-right: -${rem(20)};
}
`; `;
const Logo = styled.a` const Logo = styled.a`
...@@ -52,20 +68,21 @@ const Logo = styled.a` ...@@ -52,20 +68,21 @@ const Logo = styled.a`
} }
`; `;
const NavItem = styled.a<{active: boolean}>` const NavItem = styled.a<{active?: boolean}>`
padding: 0 ${rem(20)}; padding: 0 ${rem(20)};
height: 100%; height: 100%;
display: inline-flex; display: inline-flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
background-color: ${navbarBackgroundColor}; background-color: ${navbarBackgroundColor};
cursor: pointer;
${transitionProps('background-color')} ${transitionProps('background-color')}
&:hover { &:hover {
background-color: ${navbarHoverBackgroundColor}; background-color: ${navbarHoverBackgroundColor};
} }
> span { > .nav-text {
padding: ${rem(10)} 0 ${rem(7)}; padding: ${rem(10)} 0 ${rem(7)};
${props => border('bottom', rem(3), 'solid', props.active ? navbarHighlightColor : 'transparent')} ${props => border('bottom', rem(3), 'solid', props.active ? navbarHighlightColor : 'transparent')}
${transitionProps('border-bottom')} ${transitionProps('border-bottom')}
...@@ -73,27 +90,45 @@ const NavItem = styled.a<{active: boolean}>` ...@@ -73,27 +90,45 @@ const NavItem = styled.a<{active: boolean}>`
} }
`; `;
const changeLanguage = () => {
const {language} = i18n;
const {allLanguages} = config;
const index = allLanguages.indexOf(language);
const nextLanguage = index < 0 || index >= allLanguages.length - 1 ? allLanguages[0] : allLanguages[index + 1];
i18n.changeLanguage(nextLanguage);
};
const Navbar: FunctionComponent = () => { const Navbar: FunctionComponent = () => {
const {t} = useTranslation('common'); const {t} = useTranslation('common');
const {pathname} = useRouter(); const {pathname} = useRouter();
return ( return (
<Nav> <Nav>
<Logo href={process.env.PUBLIC_PATH || '/'}> <div className="left">
<img alt="PaddlePaddle" src={`${process.env.PUBLIC_PATH}/images/logo.svg`} /> <Logo href={process.env.PUBLIC_PATH || '/'}>
<span>VisualDL</span> <img alt="PaddlePaddle" src={`${process.env.PUBLIC_PATH}/images/logo.svg`} />
</Logo> <span>VisualDL</span>
{navItems.map(name => { </Logo>
const href = `/${name}`; {navItems.map(name => {
return ( const href = `/${name}`;
// https://nextjs.org/docs/api-reference/next/link#if-the-child-is-a-custom-component-that-wraps-an-a-tag return (
<Link href={href} key={name} passHref> // https://nextjs.org/docs/api-reference/next/link#if-the-child-is-a-custom-component-that-wraps-an-a-tag
<NavItem active={pathname === href}> <Link href={href} key={name} passHref>
<span>{t(name)}</span> <NavItem active={pathname === href}>
</NavItem> <span className="nav-text">{t(name)}</span>
</Link> </NavItem>
); </Link>
})} );
})}
</div>
<div className="right">
<NavItem onClick={changeLanguage}>
<Language />
</NavItem>
<NavItem onClick={() => ee.emit('refresh-running')}>
<Icon type="refresh" />
</NavItem>
</div>
</Nav> </Nav>
); );
}; };
......
// cSpell:words hellip // cSpell:words hellip
import React, {FunctionComponent, useCallback, useMemo} from 'react'; import React, {FunctionComponent, useCallback, useEffect, useState} from 'react';
import { import {WithStyled, em} from '~/utils/style';
WithStyled,
backgroundColor,
borderColor,
borderFocusedColor,
em,
primaryColor,
sameBorder,
size,
textColor,
textInvertColor,
transitionProps
} from '~/utils/style';
import Button from '~/components/Button';
import Input from '~/components/Input';
import styled from 'styled-components'; import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n';
const height = em(36);
const Wrapper = styled.nav` const Wrapper = styled.nav`
display: flex; display: flex;
user-select: none; justify-content: space-between;
`; align-items: center;
const Ul = styled.ul` > div {
display: inline-flex; > a:not(:last-child),
list-style: none; > span {
margin: 0; margin-right: ${em(15)};
padding: 0; }
`; > input {
width: ${em(80)};
const Li = styled.li` margin-right: ${em(6)};
list-style: none; }
margin-left: ${em(10)};
&:first-child {
margin-left: 0;
}
`;
const A = styled.a<{current?: boolean}>`
cursor: pointer;
display: block;
background-color: ${props => (props.current ? primaryColor : backgroundColor)};
color: ${props => (props.current ? textInvertColor : textColor)};
height: ${height};
line-height: calc(${height} - 2px);
min-width: ${height};
padding: 0 ${em(10)};
text-align: center;
${props => sameBorder({color: props.current ? primaryColor : borderColor, radius: true})};
${transitionProps(['color', 'border-color', 'background-color'])}
&:hover {
border-color: ${props => (props.current ? primaryColor : borderFocusedColor)};
} }
`; `;
const Span = styled.span`
display: block;
${size(height)}
line-height: ${height};
text-align: center;
`;
type PaginationProps = { type PaginationProps = {
page: number; page?: number;
total: number; total: number;
onChange?: (page: number) => unknown; onChange?: (page: number) => unknown;
}; };
const Pagination: FunctionComponent<PaginationProps & WithStyled> = ({page, total, className, onChange}) => { const Pagination: FunctionComponent<PaginationProps & WithStyled> = ({page, total, className, onChange}) => {
const padding = 2; const {t} = useTranslation('common');
const around = 2;
const [currentPage, setCurrentPage] = useState(page ?? 1);
const startEllipsis = useMemo(() => page - padding - around - 1 > 0, [page]); const [jumpPage, setJumpPage] = useState('');
const endEllipsis = useMemo(() => page + padding + around < total, [page, total]);
const start = useMemo( useEffect(() => setCurrentPage(page ?? 1), [page]);
() =>
page - around - 1 <= 0 ? [] : Array.from(new Array(Math.min(padding, page - around - 1)), (_v, i) => i + 1), const setPage = useCallback(
[page] (value: unknown) => {
); const p = 'number' === typeof value ? value : Number.parseInt(value + '');
const end = useMemo( if (Number.isNaN(p) || p > total || p < 1 || p === currentPage) {
() => return;
page + around >= total }
? [] setCurrentPage(p);
: Array.from( setJumpPage('');
new Array(Math.min(padding, total - page - around)), onChange?.(p);
(_v, i) => total - padding + i + 1 + Math.max(padding - total + page + around, 0) },
), [currentPage, onChange, total]
[page, total]
);
const before = useMemo(
() =>
page - 1 <= 0
? []
: Array.from(
new Array(Math.min(around, page - 1)),
(_v, i) => page - around + i + Math.max(around - page + 1, 0)
),
[page]
);
const after = useMemo(
() => (page >= total ? [] : Array.from(new Array(Math.min(around, total - page)), (_v, i) => page + i + 1)),
[page, total]
);
const genLink = useCallback(
(arr: number[]) =>
arr.map(i => (
<Li key={i}>
<A onClick={() => onChange?.(i)}>{i}</A>
</Li>
)),
[onChange]
);
const hellip = (
<Li>
<Span>&hellip;</Span>
</Li>
); );
return ( return (
<Wrapper className={className}> <Wrapper className={className}>
<Ul> <div>
{genLink(start)} <Button disabled={currentPage <= 1} onClick={() => setPage(currentPage - 1)}>
{startEllipsis && hellip} {t('previous-page')}
{genLink(before)} </Button>
<Li> <Button disabled={currentPage >= total} onClick={() => setPage(currentPage + 1)}>
<A current>{page}</A> {t('next-page')}
</Li> </Button>
{genLink(after)} </div>
{endEllipsis && hellip} <div>
{genLink(end)} <span>{t('total-page', {count: total})}</span>
</Ul> <Input
value={jumpPage}
onChange={value => setJumpPage(value)}
onKeyDown={e => e.key === 'Enter' && setPage(jumpPage)}
/>
<Button onClick={() => setPage(jumpPage)} type="primary">
{t('confirm')}
</Button>
</div>
</Wrapper> </Wrapper>
); );
}; };
......
import {EventContext, ValueContext} from '~/components/RadioGroup'; import {EventContext, ValueContext} from '~/components/RadioGroup';
import React, {FunctionComponent, useCallback, useContext} from 'react'; import React, {FunctionComponent, PropsWithChildren, useCallback, useContext} from 'react';
import { import {
WithStyled, WithStyled,
backgroundColor, backgroundColor,
...@@ -29,6 +29,7 @@ const Button = styled.a<{selected?: boolean}>` ...@@ -29,6 +29,7 @@ const Button = styled.a<{selected?: boolean}>`
height: ${height}; height: ${height};
line-height: calc(${height} - 2px); line-height: calc(${height} - 2px);
min-width: ${minWidth}; min-width: ${minWidth};
padding: 0 ${em(8)};
text-align: center; text-align: center;
${ellipsis(maxWidth)} ${ellipsis(maxWidth)}
${props => sameBorder({color: props.selected ? primaryColor : borderColor})}; ${props => sameBorder({color: props.selected ? primaryColor : borderColor})};
...@@ -54,19 +55,19 @@ const Button = styled.a<{selected?: boolean}>` ...@@ -54,19 +55,19 @@ const Button = styled.a<{selected?: boolean}>`
} }
`; `;
type RadioButtonProps = { type RadioButtonProps<T> = {
selected?: boolean; selected?: boolean;
title?: string; title?: string;
value?: string | number | symbol; value?: T;
}; };
const RadioButton: FunctionComponent<RadioButtonProps & WithStyled> = ({ const RadioButton = <T extends unknown>({
className, className,
value, value,
selected, selected,
title, title,
children children
}) => { }: PropsWithChildren<RadioButtonProps<T>> & WithStyled): ReturnType<FunctionComponent> => {
const groupValue = useContext(ValueContext); const groupValue = useContext(ValueContext);
const onChange = useContext(EventContext); const onChange = useContext(EventContext);
......
import React, {FunctionComponent, createContext, useCallback, useState} from 'react'; import React, {FunctionComponent, PropsWithChildren, createContext, useCallback, useState} from 'react';
import {WithStyled} from '~/utils/style'; import {WithStyled} from '~/utils/style';
import styled from 'styled-components'; import styled from 'styled-components';
...@@ -12,19 +12,24 @@ const Wrapper = styled.div` ...@@ -12,19 +12,24 @@ const Wrapper = styled.div`
} }
`; `;
export const ValueContext = createContext<string | number | symbol | undefined | null>(null);
// eslint-disable-next-line @typescript-eslint/no-empty-function // eslint-disable-next-line @typescript-eslint/no-empty-function
export const EventContext = createContext<((value: string | number | symbol) => unknown) | undefined>(() => {}); export const EventContext = createContext<(<V extends unknown>(value: V) => unknown) | undefined>(() => {});
export const ValueContext = createContext<unknown>(null);
type RadioGroupProps = { type RadioGroupProps<T> = {
value?: string | number | symbol; value?: T;
onChange?: (value: string | number | symbol) => unknown; onChange?: (value: T) => unknown;
}; };
const RadioGroup: FunctionComponent<RadioGroupProps & WithStyled> = ({value, onChange, children, className}) => { const RadioGroup = <T extends unknown>({
value,
onChange,
children,
className
}: PropsWithChildren<RadioGroupProps<T>> & WithStyled): ReturnType<FunctionComponent> => {
const [selected, setSelected] = useState(value); const [selected, setSelected] = useState(value);
const onSelectedChange = useCallback( const onSelectedChange = useCallback(
(value: string | number | symbol) => { (value: T) => {
setSelected(value); setSelected(value);
onChange?.(value); onChange?.(value);
}, },
...@@ -32,7 +37,7 @@ const RadioGroup: FunctionComponent<RadioGroupProps & WithStyled> = ({value, onC ...@@ -32,7 +37,7 @@ const RadioGroup: FunctionComponent<RadioGroupProps & WithStyled> = ({value, onC
); );
return ( return (
<EventContext.Provider value={onSelectedChange}> <EventContext.Provider value={v => onSelectedChange(v as T)}>
<ValueContext.Provider value={selected}> <ValueContext.Provider value={selected}>
<Wrapper className={className}>{children}</Wrapper> <Wrapper className={className}>{children}</Wrapper>
</ValueContext.Provider> </ValueContext.Provider>
......
import React, {FunctionComponent, useCallback, useMemo, useState} from 'react';
import {borderColor, ellipsis, em, rem, size} from '~/utils/style';
import Checkbox from '~/components/Checkbox';
import Field from '~/components/Field';
import {Run} from '~/types';
import RunningToggle from '~/components/RunningToggle';
import SearchInput from '~/components/SearchInput';
import styled from 'styled-components';
import uniqBy from 'lodash/uniqBy';
import {useTranslation} from '~/utils/i18n';
const Aside = styled.div`
height: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
> section {
margin: ${rem(20)} ${rem(20)} 0;
flex: 0 0 auto;
&:not(:last-child) {
border-bottom: 1px solid ${borderColor};
padding-bottom: ${rem(20)};
}
&.run-section {
flex: 1 1 auto;
overflow-x: hidden;
overflow-y: auto;
display: flex;
flex-direction: column;
.running-toggle {
flex: 0 0 auto;
box-shadow: 0 -${rem(5)} ${rem(16)} 0 rgba(0, 0, 0, 0.03);
}
.run-select {
flex: 1 1 auto;
overflow-x: hidden;
overflow-y: auto;
display: flex;
flex-direction: column;
> * {
flex: 0 0 auto;
}
.search-input {
margin-bottom: ${rem(15)};
}
.run-list {
flex: 1 1 auto;
overflow-x: hidden;
overflow-y: auto;
margin-top: ${rem(5)};
> div {
margin-top: ${rem(11)};
> * {
width: 100%;
}
.run-item {
display: flex;
align-items: center;
${ellipsis()}
> i {
display: inline-block;
${size(em(12), em(12))};
border-radius: ${em(6)};
margin-right: ${em(8)};
}
}
}
}
}
}
}
`;
type RunAsideProps = {
runs?: Run[];
selectedRuns?: Run[];
onChangeRuns?: (runs: Run[]) => unknown;
running?: boolean;
onToggleRunning?: (running: boolean) => unknown;
};
const RunAside: FunctionComponent<RunAsideProps> = ({
runs,
selectedRuns,
onChangeRuns,
running,
onToggleRunning,
children
}) => {
const {t} = useTranslation('common');
const [search, setSearch] = useState('');
const selectAll = useMemo(() => runs?.length === selectedRuns?.length, [runs, selectedRuns]);
const toggleSelectAll = useCallback(
(toggle: boolean) => {
onChangeRuns?.(toggle ? runs ?? [] : []);
},
[onChangeRuns, runs]
);
const filteredRuns = useMemo(() => (search ? runs?.filter(run => run.label.indexOf(search) >= 0) : runs) ?? [], [
runs,
search
]);
const setSelectedRuns = useCallback(
(run: Run, toggle) => {
let selected = selectedRuns ?? [];
if (toggle) {
selected = uniqBy([...selected, run], r => r.label);
} else {
selected = selected.filter(r => r.label !== run.label);
}
onChangeRuns?.(selected);
},
[onChangeRuns, selectedRuns]
);
return (
<Aside>
{children}
<section className="run-section">
<Field className="run-select" label={t('select-runs')}>
<SearchInput
className="search-input"
value={search}
onChange={setSearch}
placeholder={t('search-runs')}
rounded
/>
<Checkbox value={selectAll} onChange={toggleSelectAll}>
{t('select-all')}
</Checkbox>
<div className="run-list">
{filteredRuns.map((run, index) => (
<div key={index}>
<Checkbox
value={selectedRuns?.map(r => r.label)?.includes(run.label)}
title={run.label}
onChange={value => setSelectedRuns(run, value)}
>
<span className="run-item">
<i style={{backgroundColor: run.colors[0]}}></i>
{run.label}
</span>
</Checkbox>
</div>
))}
</div>
</Field>
<RunningToggle className="running-toggle" running={running} onToggle={onToggleRunning} />
</section>
</Aside>
);
};
export default RunAside;
import React, {FunctionComponent} from 'react';
import Select, {SelectValueType} from '~/components/Select';
import {rem} from '~/utils/style';
import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n';
const Title = styled.div`
font-size: ${rem(16)};
line-height: ${rem(16)};
font-weight: 700;
margin-bottom: ${rem(10)};
`;
type RunSelectProps = {
runs?: string[];
value?: string[];
onChange?: (value: string[]) => unknown;
};
const RunSelect: FunctionComponent<RunSelectProps> = ({runs, value, onChange}) => {
const {t} = useTranslation('common');
return (
<>
<Title>{t('select-runs')}</Title>
<Select
multiple
list={runs}
value={value}
onChange={(value: SelectValueType | SelectValueType[]) => onChange?.(value as string[])}
/>
</>
);
};
export default RunSelect;
import React, {FunctionComponent, useEffect, useState} from 'react'; import React, {FunctionComponent, useEffect, useState} from 'react';
import {WithStyled, rem} from '~/utils/style';
import Button from '~/components/Button'; import Button from '~/components/Button';
import {rem} from '~/utils/style'; import ReactTooltip from 'react-tooltip';
import {nanoid} from 'nanoid';
import styled from 'styled-components'; import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n'; import {useTranslation} from '~/utils/i18n';
const Wrapper = styled.div`
padding: ${rem(20)} 0;
display: flex;
align-items: center;
> span {
width: ${rem(55)};
}
> div {
flex-grow: 1;
margin-left: ${rem(20)};
}
`;
const StyledButton = styled(Button)` const StyledButton = styled(Button)`
margin-top: ${rem(40)};
width: 100%;
text-transform: uppercase; text-transform: uppercase;
width: 100%;
`; `;
type RunningToggleProps = { type RunningToggleProps = {
...@@ -16,7 +32,7 @@ type RunningToggleProps = { ...@@ -16,7 +32,7 @@ type RunningToggleProps = {
onToggle?: (running: boolean) => unknown; onToggle?: (running: boolean) => unknown;
}; };
const RunningToggle: FunctionComponent<RunningToggleProps> = ({running, onToggle}) => { const RunningToggle: FunctionComponent<RunningToggleProps & WithStyled> = ({running, onToggle, className}) => {
const {t} = useTranslation('common'); const {t} = useTranslation('common');
const [state, setState] = useState(!!running); const [state, setState] = useState(!!running);
...@@ -25,10 +41,24 @@ const RunningToggle: FunctionComponent<RunningToggleProps> = ({running, onToggle ...@@ -25,10 +41,24 @@ const RunningToggle: FunctionComponent<RunningToggleProps> = ({running, onToggle
onToggle?.(state); onToggle?.(state);
}, [onToggle, state]); }, [onToggle, state]);
const [id] = useState(`running-toggle-tooltip-${nanoid()}`);
return ( return (
<StyledButton onClick={() => setState(s => !s)} type={state ? 'primary' : 'danger'}> <Wrapper className={className}>
{t(state ? 'running' : 'stopped')} <span>{t(state ? 'running' : 'stopped')}</span>
</StyledButton> <div data-for={id} data-tip>
<StyledButton onClick={() => setState(s => !s)} type={state ? 'danger' : 'primary'} rounded>
{t(state ? 'stop' : 'run')}
</StyledButton>
</div>
<ReactTooltip
id={id}
place="top"
type="dark"
effect="solid"
getContent={() => t(state ? 'stop-realtime-refresh' : 'start-realtime-refresh')}
/>
</Wrapper>
); );
}; };
......
import Image, {ImageRef} from '~/components/Image';
import React, {FunctionComponent, useCallback, useEffect, useMemo, useRef, useState} from 'react'; import React, {FunctionComponent, useCallback, useEffect, useMemo, useRef, useState} from 'react';
import {ellipsis, em, primaryColor, size, textLightColor} from '~/utils/style'; import {ellipsis, em, primaryColor, size, textLightColor, transitionProps} from '~/utils/style';
import ChartToolbox from '~/components/ChartToolbox';
import GridLoader from 'react-spinners/GridLoader'; import GridLoader from 'react-spinners/GridLoader';
import Image from '~/components/Image';
import StepSlider from '~/components/SamplesPage/StepSlider'; import StepSlider from '~/components/SamplesPage/StepSlider';
import {formatTime} from '~/utils';
import isEmpty from 'lodash/isEmpty'; import isEmpty from 'lodash/isEmpty';
import queryString from 'query-string'; import queryString from 'query-string';
import styled from 'styled-components'; import styled from 'styled-components';
import {useRunningRequest} from '~/hooks/useRequest'; import {useRunningRequest} from '~/hooks/useRequest';
import {useTranslation} from '~/utils/i18n'; import {useTranslation} from '~/utils/i18n';
const width = em(430);
const height = em(384);
const Wrapper = styled.div` const Wrapper = styled.div`
${size(height, width)} height: 100%;
padding: ${em(20)}; padding: ${em(20)};
padding-bottom: 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: flex-start; justify-content: flex-start;
...@@ -51,10 +51,10 @@ const Title = styled.div` ...@@ -51,10 +51,10 @@ const Title = styled.div`
} }
`; `;
const Container = styled.div<{fit?: boolean}>` const Container = styled.div<{brightness?: number; contrast?: number; fit?: boolean}>`
flex-grow: 1; flex-grow: 1;
flex-shrink: 1; flex-shrink: 1;
margin-top: ${em(20)}; margin: ${em(20)} 0;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
...@@ -62,6 +62,8 @@ const Container = styled.div<{fit?: boolean}>` ...@@ -62,6 +62,8 @@ const Container = styled.div<{fit?: boolean}>`
> img { > img {
${size('100%')} ${size('100%')}
filter: brightness(${props => props.brightness ?? 1}) contrast(${props => props.contrast ?? 1});
${transitionProps('filter')}
object-fit: ${props => (props.fit ? 'contain' : 'scale-down')}; object-fit: ${props => (props.fit ? 'contain' : 'scale-down')};
flex-shrink: 1; flex-shrink: 1;
} }
...@@ -75,6 +77,8 @@ type ImageData = { ...@@ -75,6 +77,8 @@ type ImageData = {
type SampleChartProps = { type SampleChartProps = {
run: string; run: string;
tag: string; tag: string;
brightness?: number;
contrast?: number;
fit?: boolean; fit?: boolean;
running?: boolean; running?: boolean;
}; };
...@@ -84,14 +88,18 @@ const getImageUrl = (index: number, run: string, tag: string, wallTime: number): ...@@ -84,14 +88,18 @@ const getImageUrl = (index: number, run: string, tag: string, wallTime: number):
const cacheValidity = 5 * 60 * 1000; const cacheValidity = 5 * 60 * 1000;
const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, running}) => { const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, brightness, contrast, fit, running}) => {
const {t} = useTranslation('common'); const {t, i18n} = useTranslation(['samples', 'common']);
const image = useRef<ImageRef>(null);
const {data, error, loading} = useRunningRequest<ImageData[]>( const {data, error, loading} = useRunningRequest<ImageData[]>(
`/images/list?${queryString.stringify({run, tag})}`, `/images/list?${queryString.stringify({run, tag})}`,
!!running !!running
); );
const steps = useMemo(() => data?.map(item => item.step) ?? [], [data]);
const [step, setStep] = useState(0); const [step, setStep] = useState(0);
const [src, setSrc] = useState<string>(); const [src, setSrc] = useState<string>();
...@@ -104,11 +112,13 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin ...@@ -104,11 +112,13 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin
cached.current = {}; cached.current = {};
}, [tag, run]); }, [tag, run]);
const wallTime = useMemo(() => data?.[step].wallTime ?? 0, [data, step]);
const cacheImageSrc = useCallback(() => { const cacheImageSrc = useCallback(() => {
if (!data) { if (!data) {
return; return;
} }
const imageUrl = getImageUrl(step, run, tag, data[step].wallTime); const imageUrl = getImageUrl(step, run, tag, wallTime);
cached.current[step] = { cached.current[step] = {
src: imageUrl, src: imageUrl,
timer: setTimeout(() => { timer: setTimeout(() => {
...@@ -116,7 +126,11 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin ...@@ -116,7 +126,11 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin
}, cacheValidity) }, cacheValidity)
}; };
setSrc(imageUrl); setSrc(imageUrl);
}, [step, run, tag, data]); }, [step, run, tag, wallTime, data]);
const saveImage = useCallback(() => {
image.current?.save(`${run}-${tag}-${steps[step]}-${wallTime.toString().replace(/\./, '_')}`);
}, [run, tag, steps, step, wallTime]);
useEffect(() => { useEffect(() => {
if (cached.current[step]) { if (cached.current[step]) {
...@@ -139,12 +153,12 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin ...@@ -139,12 +153,12 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin
return <GridLoader color={primaryColor} size="10px" />; return <GridLoader color={primaryColor} size="10px" />;
} }
if (!data && error) { if (!data && error) {
return <span>{t('error')}</span>; return <span>{t('common:error')}</span>;
} }
if (isEmpty(data)) { if (isEmpty(data)) {
return <span>{t('empty')}</span>; return <span>{t('common:empty')}</span>;
} }
return <Image src={src} cache={cacheValidity} />; return <Image ref={image} src={src} cache={cacheValidity} />;
}, [loading, error, data, step, src, t]); }, [loading, error, data, step, src, t]);
return ( return (
...@@ -153,13 +167,21 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin ...@@ -153,13 +167,21 @@ const SampleChart: FunctionComponent<SampleChartProps> = ({run, tag, fit, runnin
<h4>{tag}</h4> <h4>{tag}</h4>
<span>{run}</span> <span>{run}</span>
</Title> </Title>
<StepSlider <StepSlider value={step} steps={steps} onChange={setStep} onChangeComplete={cacheImageSrc}>
value={step} {formatTime(wallTime, i18n.language)}
steps={data?.map(item => item.step) ?? []} </StepSlider>
onChange={setStep} <Container brightness={brightness} contrast={contrast} fit={fit}>
onChangeComplete={cacheImageSrc} {Content}
</Container>
<ChartToolbox
items={[
{
icon: 'download',
tooltip: t('download-image'),
onClick: saveImage
}
]}
/> />
<Container fit={fit}>{Content}</Container>
</Wrapper> </Wrapper>
); );
}; };
......
...@@ -6,9 +6,15 @@ import styled from 'styled-components'; ...@@ -6,9 +6,15 @@ import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n'; import {useTranslation} from '~/utils/i18n';
const Label = styled.div` const Label = styled.div`
display: flex;
justify-content: space-between;
color: ${textLightColor}; color: ${textLightColor};
font-size: ${em(12)}; font-size: ${em(12)};
margin-bottom: ${em(5)}; margin-bottom: ${em(5)};
> :not(:first-child) {
flex-grow: 0;
}
`; `;
const FullWidthRangeSlider = styled(RangeSlider)` const FullWidthRangeSlider = styled(RangeSlider)`
...@@ -22,7 +28,7 @@ type StepSliderProps = { ...@@ -22,7 +28,7 @@ type StepSliderProps = {
onChangeComplete?: () => unknown; onChangeComplete?: () => unknown;
}; };
const StepSlider: FunctionComponent<StepSliderProps> = ({onChange, onChangeComplete, value, steps}) => { const StepSlider: FunctionComponent<StepSliderProps> = ({onChange, onChangeComplete, value, steps, children}) => {
const {t} = useTranslation('samples'); const {t} = useTranslation('samples');
const [step, setStep] = useState(value); const [step, setStep] = useState(value);
...@@ -38,7 +44,10 @@ const StepSlider: FunctionComponent<StepSliderProps> = ({onChange, onChangeCompl ...@@ -38,7 +44,10 @@ const StepSlider: FunctionComponent<StepSliderProps> = ({onChange, onChangeCompl
return ( return (
<> <>
<Label>{`${t('step')}: ${steps[step] ?? '...'}`}</Label> <Label>
<span>{`${t('step')}: ${steps[step] ?? '...'}`}</span>
{children && <span>{children}</span>}
</Label>
<FullWidthRangeSlider <FullWidthRangeSlider
min={0} min={0}
max={steps.length ? steps.length - 1 : 0} max={steps.length ? steps.length - 1 : 0}
......
...@@ -4,6 +4,7 @@ import { ...@@ -4,6 +4,7 @@ import {
RangeParams, RangeParams,
TransformParams, TransformParams,
chartData, chartData,
nearestPoint,
range, range,
singlePointRange, singlePointRange,
sortingMethodMap, sortingMethodMap,
...@@ -11,21 +12,21 @@ import { ...@@ -11,21 +12,21 @@ import {
transform, transform,
xAxisMap xAxisMap
} from '~/resource/scalars'; } from '~/resource/scalars';
import React, {FunctionComponent, useCallback, useMemo} from 'react'; import LineChart, {LineChartRef} from '~/components/LineChart';
import {em, size} from '~/utils/style'; import React, {FunctionComponent, useCallback, useMemo, useRef, useState} from 'react';
import {rem, size} from '~/utils/style';
import ChartToolbox from '~/components/ChartToolbox';
import {EChartOption} from 'echarts'; import {EChartOption} from 'echarts';
import LineChart from '~/components/LineChart'; import {Run} from '~/types';
import {cycleFetcher} from '~/utils/fetch'; import {cycleFetcher} from '~/utils/fetch';
import ee from '~/utils/event';
import queryString from 'query-string'; import queryString from 'query-string';
import styled from 'styled-components'; import styled from 'styled-components';
import useHeavyWork from '~/hooks/useHeavyWork'; import useHeavyWork from '~/hooks/useHeavyWork';
import {useRunningRequest} from '~/hooks/useRequest'; import {useRunningRequest} from '~/hooks/useRequest';
import {useTranslation} from '~/utils/i18n'; import {useTranslation} from '~/utils/i18n';
const width = em(430);
const height = em(320);
const smoothWasm = () => const smoothWasm = () =>
import('@visualdl/wasm').then(({transform}) => (params: TransformParams) => import('@visualdl/wasm').then(({transform}) => (params: TransformParams) =>
(transform(params.datasets, params.smoothing) as unknown) as Dataset[] (transform(params.datasets, params.smoothing) as unknown) as Dataset[]
...@@ -38,28 +39,63 @@ const rangeWasm = () => ...@@ -38,28 +39,63 @@ const rangeWasm = () =>
const smoothWorker = () => new Worker('~/worker/scalars/smooth.worker.ts', {type: 'module'}); const smoothWorker = () => new Worker('~/worker/scalars/smooth.worker.ts', {type: 'module'});
const rangeWorker = () => new Worker('~/worker/scalars/range.worker.ts', {type: 'module'}); const rangeWorker = () => new Worker('~/worker/scalars/range.worker.ts', {type: 'module'});
const Wrapper = styled.div`
${size('100%', '100%')}
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: space-between;
.echarts td.run .run-indicator {
${size(12, 12)}
display: inline-block;
border-radius: 6px;
vertical-align: middle;
margin-right: 5px;
}
`;
const StyledLineChart = styled(LineChart)` const StyledLineChart = styled(LineChart)`
${size(height, width)} flex-grow: 1;
`;
const Toolbox = styled(ChartToolbox)`
margin-left: ${rem(20)};
margin-right: ${rem(20)};
`; `;
const Error = styled.div` const Error = styled.div`
${size(height, width)} ${size('100%', '100%')}
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
`; `;
enum XAxisType {
value = 'value',
log = 'log',
time = 'time'
}
enum YAxisType {
value = 'value',
log = 'log'
}
type ScalarChartProps = { type ScalarChartProps = {
runs: string[]; cid: symbol;
runs: Run[];
tag: string; tag: string;
smoothing: number; smoothing: number;
xAxis: keyof typeof xAxisMap; xAxis: keyof typeof xAxisMap;
sortingMethod: keyof typeof sortingMethodMap; sortingMethod: keyof typeof sortingMethodMap;
outlier?: boolean; outlier?: boolean;
running?: boolean; running?: boolean;
onToggleMaximized?: (maximized: boolean) => void;
}; };
const ScalarChart: FunctionComponent<ScalarChartProps> = ({ const ScalarChart: FunctionComponent<ScalarChartProps> = ({
cid,
runs, runs,
tag, tag,
smoothing, smoothing,
...@@ -70,15 +106,27 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({ ...@@ -70,15 +106,27 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({
}) => { }) => {
const {t, i18n} = useTranslation(['scalars', 'common']); const {t, i18n} = useTranslation(['scalars', 'common']);
const echart = useRef<LineChartRef>(null);
const {data: datasets, error, loading} = useRunningRequest<(Dataset | null)[]>( const {data: datasets, error, loading} = useRunningRequest<(Dataset | null)[]>(
runs.map(run => `/scalars/list?${queryString.stringify({run, tag})}`), runs.map(run => `/scalars/list?${queryString.stringify({run: run.label, tag})}`),
!!running, !!running,
(...urls) => cycleFetcher(urls) (...urls) => cycleFetcher(urls)
); );
const smooth = false; const smooth = false;
const type = useMemo(() => (xAxis === 'wall' ? 'time' : 'value'), [xAxis]); const [maximized, setMaximized] = useState<boolean>(false);
const xAxisLabel = useMemo(() => (xAxis === 'step' ? '' : t(`x-axis-value.${xAxis}`)), [xAxis, t]); const toggleMaximized = useCallback(() => {
ee.emit('toggle-chart-size', cid, !maximized);
setMaximized(m => !m);
}, [cid, maximized]);
const xAxisType = useMemo(() => (xAxis === 'wall' ? XAxisType.time : XAxisType.value), [xAxis]);
const [yAxisType, setYAxisType] = useState<YAxisType>(YAxisType.value);
const toggleYAxisType = useCallback(() => {
setYAxisType(t => (t === YAxisType.log ? YAxisType.value : YAxisType.log));
}, [setYAxisType]);
const transformParams = useMemo( const transformParams = useMemo(
() => ({ () => ({
...@@ -104,18 +152,18 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({ ...@@ -104,18 +152,18 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({
// if there is only one point, place it in the middle // if there is only one point, place it in the middle
if (smoothedDatasets.length === 1 && smoothedDatasets[0].length === 1) { if (smoothedDatasets.length === 1 && smoothedDatasets[0].length === 1) {
if (['value', 'log'].includes(type)) { if ([XAxisType.value, XAxisType.log].includes(xAxisType)) {
x = singlePointRange(smoothedDatasets[0][0][xAxisMap[xAxis]]); x = singlePointRange(smoothedDatasets[0][0][xAxisMap[xAxis]]);
} }
y = singlePointRange(smoothedDatasets[0][0][2]); y = singlePointRange(smoothedDatasets[0][0][2]);
} }
return {x, y}; return {x, y};
}, [smoothedDatasets, yRange, type, xAxis]); }, [smoothedDatasets, yRange, xAxisType, xAxis]);
const data = useMemo( const data = useMemo(
() => () =>
chartData({ chartData({
data: smoothedDatasets, data: smoothedDatasets.slice(0, runs.length),
runs, runs,
smooth, smooth,
xAxis xAxis
...@@ -127,32 +175,7 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({ ...@@ -127,32 +175,7 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({
(params: EChartOption.Tooltip.Format | EChartOption.Tooltip.Format[]) => { (params: EChartOption.Tooltip.Format | EChartOption.Tooltip.Format[]) => {
const data = Array.isArray(params) ? params[0].data : params.data; const data = Array.isArray(params) ? params[0].data : params.data;
const step = data[1]; const step = data[1];
const points = const points = nearestPoint(smoothedDatasets ?? [], runs, step);
smoothedDatasets?.map((series, index) => {
let nearestItem;
if (step === 0) {
nearestItem = series[0];
} else {
for (let i = 0; i < series.length; i++) {
const item = series[i];
if (item[1] === step) {
nearestItem = item;
break;
}
if (item[1] > step) {
nearestItem = series[i - 1 >= 0 ? i - 1 : 0];
break;
}
if (!nearestItem) {
nearestItem = series[series.length - 1];
}
}
}
return {
run: runs[index],
item: nearestItem || []
};
}) ?? [];
const sort = sortingMethodMap[sortingMethod]; const sort = sortingMethodMap[sortingMethod];
return tooltip(sort ? sort(points, data) : points, i18n); return tooltip(sort ? sort(points, data) : points, i18n);
}, },
...@@ -165,16 +188,47 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({ ...@@ -165,16 +188,47 @@ const ScalarChart: FunctionComponent<ScalarChartProps> = ({
} }
return ( return (
<StyledLineChart <Wrapper>
title={tag} <StyledLineChart
xAxis={xAxisLabel} ref={echart}
xRange={ranges.x} title={tag}
yRange={ranges.y} xRange={ranges.x}
type={type} yRange={ranges.y}
tooltip={formatter} xType={xAxisType}
data={data} yType={yAxisType}
loading={loading} tooltip={formatter}
/> data={data}
loading={loading}
/>
<Toolbox
items={[
{
icon: 'maximize',
activeIcon: 'minimize',
tooltip: t('maximize'),
activeTooltip: t('minimize'),
toggle: true,
onClick: toggleMaximized
},
{
icon: 'restore-size',
tooltip: t('restore'),
onClick: () => echart.current?.restore()
},
{
icon: 'log-axis',
tooltip: t('axis'),
toggle: true,
onClick: toggleYAxisType
},
{
icon: 'download',
tooltip: t('download-image'),
onClick: () => echart.current?.saveAsImage()
}
]}
/>
</Wrapper>
); );
}; };
......
import React, {FunctionComponent, useState} from 'react';
import Field from '~/components/Field';
import RangeSlider from '~/components/RangeSlider';
import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n';
const FullWidthRangeSlider = styled(RangeSlider)`
width: 100%;
`;
type SmoothingSliderProps = {
value: number;
onChange?: (value: number) => unknown;
};
const SmoothingSlider: FunctionComponent<SmoothingSliderProps> = ({onChange, value}) => {
const {t} = useTranslation('scalars');
const [smoothing, setSmoothing] = useState(value);
return (
<Field label={`${t('smoothing')}: ${Math.round(smoothing * 100) / 100}`}>
<FullWidthRangeSlider
min={0}
max={0.99}
step={0.01}
value={smoothing}
onChange={setSmoothing}
onChangeComplete={() => onChange?.(smoothing)}
/>
</Field>
);
};
export default SmoothingSlider;
import Input, {InputProps, padding} from '~/components/Input'; import Input, {InputProps, padding} from '~/components/Input';
import React, {FunctionComponent} from 'react'; import React, {FunctionComponent} from 'react';
import {WithStyled, backgroundColor, em, math, position, textLighterColor} from '~/utils/style'; import {WithStyled, em, math, position, textLighterColor} from '~/utils/style';
import Icon from '~/components/Icon'; import Icon from '~/components/Icon';
import styled from 'styled-components'; import styled from 'styled-components';
...@@ -8,27 +8,26 @@ import styled from 'styled-components'; ...@@ -8,27 +8,26 @@ import styled from 'styled-components';
const iconSize = em(16); const iconSize = em(16);
const StyledInput = styled(Input)` const StyledInput = styled(Input)`
padding-right: ${math(`${iconSize} + ${padding} * 2`)}; padding-left: ${math(`${iconSize} + ${padding} * 2`)};
width: 100%; width: 100%;
`; `;
const Control = styled.div` const Control = styled.div`
background-color: ${backgroundColor};
position: relative; position: relative;
`; `;
const SearchIcon = styled(Icon)` const SearchIcon = styled(Icon)`
font-size: ${iconSize}; font-size: ${iconSize};
display: block; display: block;
${position('absolute', padding, padding, null, null)} ${position('absolute', padding, null, null, padding)}
pointer-events: none; pointer-events: none;
color: ${textLighterColor}; color: ${textLighterColor};
`; `;
const SearchInput: FunctionComponent<InputProps & WithStyled> = ({className, ...props}) => ( const SearchInput: FunctionComponent<InputProps & WithStyled> = ({className, ...props}) => (
<Control className={className}> <Control className={className}>
<StyledInput {...props} />
<SearchIcon type="search" /> <SearchIcon type="search" />
<StyledInput {...props} />
</Control> </Control>
); );
......
...@@ -27,12 +27,10 @@ import without from 'lodash/without'; ...@@ -27,12 +27,10 @@ import without from 'lodash/without';
export const padding = em(10); export const padding = em(10);
export const height = em(36); export const height = em(36);
const minWidth = em(160);
const Wrapper = styled.div<{opened?: boolean}>` const Wrapper = styled.div<{opened?: boolean}>`
height: ${height}; height: ${height};
line-height: calc(${height} - 2px); line-height: calc(${height} - 2px);
min-width: ${minWidth};
max-width: 100%; max-width: 100%;
display: inline-block; display: inline-block;
position: relative; position: relative;
...@@ -122,29 +120,38 @@ const MultipleListItem = styled(Checkbox)<{selected?: boolean}>` ...@@ -122,29 +120,38 @@ const MultipleListItem = styled(Checkbox)<{selected?: boolean}>`
align-items: center; align-items: center;
`; `;
export type SelectValueType = string | number | symbol;
type SelectListItem<T> = { type SelectListItem<T> = {
value: T; value: T;
label: string; label: string;
}; };
type SelectProps<T> = { type OnSingleChange<T> = (value: T) => unknown;
list?: (SelectListItem<T> | string)[]; type OnMultipleChange<T> = (value: T[]) => unknown;
value?: T | T[];
onChange?: (value: T | T[]) => unknown; export type SelectProps<T> = {
multiple?: boolean; list?: (SelectListItem<T> | T)[];
placeholder?: string; placeholder?: string;
}; } & (
| {
value?: T;
onChange?: OnSingleChange<T>;
multiple?: false;
}
| {
value?: T[];
onChange?: OnMultipleChange<T>;
multiple: true;
}
);
const Select: FunctionComponent<SelectProps<SelectValueType> & WithStyled> = ({ const Select = <T extends unknown>({
list: propList, list: propList,
value: propValue, value: propValue,
placeholder, placeholder,
multiple, multiple,
className, className,
onChange onChange
}) => { }: SelectProps<T> & WithStyled): ReturnType<FunctionComponent> => {
const {t} = useTranslation('common'); const {t} = useTranslation('common');
const [isOpened, setIsOpened] = useState(false); const [isOpened, setIsOpened] = useState(false);
...@@ -158,53 +165,56 @@ const Select: FunctionComponent<SelectProps<SelectValueType> & WithStyled> = ({ ...@@ -158,53 +165,56 @@ const Select: FunctionComponent<SelectProps<SelectValueType> & WithStyled> = ({
setValue setValue
]); ]);
const isSelected = useMemo( const isSelected = useMemo(() => !!(multiple ? (value as T[]) && (value as T[]).length !== 0 : (value as T)), [
() => !!(multiple ? value && (value as SelectValueType[]).length !== 0 : (value as SelectValueType)), multiple,
[multiple, value] value
); ]);
const changeValue = useCallback( const changeValue = useCallback(
(mutateValue: SelectValueType, checked?: boolean) => { (mutateValue: T) => {
let newValue; setValue(mutateValue);
if (multiple) { (onChange as OnSingleChange<T>)?.(mutateValue);
newValue = value as SelectValueType[]; setIsOpenedFalse();
if (checked) { },
if (!newValue.includes(mutateValue)) { [setIsOpenedFalse, onChange]
newValue = [...newValue, mutateValue]; );
} const changeMultipleValue = useCallback(
} else { (mutateValue: T, checked: boolean) => {
if (newValue.includes(mutateValue)) { let newValue = value as T[];
newValue = without(newValue, mutateValue); if (checked) {
} if (!newValue.includes(mutateValue)) {
newValue = [...newValue, mutateValue];
} }
} else { } else {
newValue = mutateValue; if (newValue.includes(mutateValue)) {
newValue = without(newValue, mutateValue);
}
} }
setValue(newValue); setValue(newValue);
onChange?.(newValue); (onChange as OnMultipleChange<T>)?.(newValue);
if (!multiple) {
setIsOpenedFalse();
}
}, },
[multiple, value, setIsOpenedFalse, onChange] [value, onChange]
); );
const ref = useClickOutside(setIsOpenedFalse); const ref = useClickOutside(setIsOpenedFalse);
const list = useMemo( const list = useMemo<SelectListItem<T>[]>(
() => propList?.map(item => ('string' === typeof item ? {value: item, label: item} : item)) ?? [], () =>
propList?.map(item =>
['string', 'number'].includes(typeof item)
? {value: item as T, label: item + ''}
: (item as SelectListItem<T>)
) ?? [],
[propList] [propList]
); );
const isListEmpty = useMemo(() => list.length === 0, [list]); const isListEmpty = useMemo(() => list.length === 0, [list]);
const findLabelByValue = useCallback((v: SelectValueType) => list.find(item => item.value === v)?.label ?? '', [ const findLabelByValue = useCallback((v: T) => list.find(item => item.value === v)?.label ?? '', [list]);
list
]);
const label = useMemo( const label = useMemo(
() => () =>
isSelected isSelected
? multiple ? multiple
? (value as SelectValueType[]).map(findLabelByValue).join(' / ') ? (value as T[]).map(findLabelByValue).join(' / ')
: findLabelByValue(value as SelectValueType) : findLabelByValue(value as T)
: placeholder || t('select'), : placeholder || t('select'),
[multiple, value, findLabelByValue, isSelected, placeholder, t] [multiple, value, findLabelByValue, isSelected, placeholder, t]
); );
...@@ -222,11 +232,11 @@ const Select: FunctionComponent<SelectProps<SelectValueType> & WithStyled> = ({ ...@@ -222,11 +232,11 @@ const Select: FunctionComponent<SelectProps<SelectValueType> & WithStyled> = ({
if (multiple) { if (multiple) {
return ( return (
<MultipleListItem <MultipleListItem
value={(value as SelectValueType[]).includes(item.value)} value={(value as T[]).includes(item.value)}
key={index} key={index}
title={item.label} title={item.label}
size="small" size="small"
onChange={checked => changeValue(item.value, checked)} onChange={checked => changeMultipleValue(item.value, checked)}
> >
{item.label} {item.label}
</MultipleListItem> </MultipleListItem>
......
import React, {FunctionComponent, useCallback, useState} from 'react';
import {borderColor, borderFocusedColor, rem, size, transitionProps} from '~/utils/style';
import {height, padding} from '~/components/Input';
import BigNumber from 'bignumber.js';
import RangeSlider from '~/components/RangeSlider';
import styled from 'styled-components';
const Wrapper = styled.div`
display: flex;
align-items: center;
`;
const Input = styled.input`
${size(height, rem(52))};
line-height: ${height};
display: inline-block;
outline: none;
padding: ${padding};
${transitionProps('border-color')}
border: none;
border-bottom: 1px solid ${borderColor};
text-align: center;
&:hover,
&:focus {
border-bottom-color: ${borderFocusedColor};
}
`;
const FullWidthRangeSlider = styled(RangeSlider)`
flex-grow: 1;
margin-right: ${rem(20)};
`;
type SliderProps = {
min: number;
max: number;
step: number;
value: number;
onChange?: (value: number) => unknown;
onChangeComplete?: (value: number) => unknown;
};
const Slider: FunctionComponent<SliderProps> = ({onChange, onChangeComplete, value, min, max, step}) => {
const fixNumber = useCallback(
(v: number) =>
new BigNumber(v).dividedBy(step).integerValue(BigNumber.ROUND_HALF_UP).multipliedBy(step).toNumber(),
[step]
);
const [sliderValue, setSliderValue] = useState(fixNumber(value));
const [inputValue, setInputValue] = useState(sliderValue + '');
const changeSliderValue = useCallback(
(value: number) => {
const v = fixNumber(value);
setInputValue(v + '');
setSliderValue(v);
onChange?.(v);
},
[fixNumber, onChange]
);
const changeInputValue = useCallback(
(value: string) => {
setInputValue(value);
const v = Number.parseFloat(value);
if (v < min || v > max || Number.isNaN(v)) {
return;
}
const result = fixNumber(v);
setSliderValue(result);
onChange?.(result);
onChangeComplete?.(result);
},
[onChange, onChangeComplete, min, max, fixNumber]
);
const confirmInput = useCallback(() => {
setInputValue(sliderValue + '');
}, [sliderValue]);
return (
<Wrapper>
<FullWidthRangeSlider
min={min}
max={max}
step={step}
value={sliderValue}
onChange={changeSliderValue}
onChangeComplete={() => onChangeComplete?.(sliderValue)}
/>
<Input
type="text"
value={inputValue}
onChange={e => changeInputValue(e.currentTarget.value)}
onBlur={confirmInput}
onKeyDown={e => e.key === 'Enter' && confirmInput()}
/>
</Wrapper>
);
};
export default Slider;
import React, {FunctionComponent, useCallback, useEffect, useMemo, useState} from 'react';
import {ellipsis, math, rem} from '~/utils/style';
import SearchInput from '~/components/SearchInput';
import Tag from '~/components/Tag';
import {Tag as TagType} from '~/types';
import groupBy from 'lodash/groupBy';
import sortBy from 'lodash/sortBy';
import styled from 'styled-components';
import {useTranslation} from '~/utils/i18n';
const margin = rem(16);
const Wrapper = styled.div`
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
`;
const Search = styled(SearchInput)`
width: ${rem(280)};
margin: 0 ${math(`${rem(5)} + ${margin}`)} ${margin} 0;
`;
const SearchTag = styled(Tag)`
margin: 0 ${margin} ${margin} 0;
vertical-align: middle;
`;
const SearchTagLabel = styled.span`
${ellipsis(rem(120))}
vertical-align: middle;
`;
type TagFilterProps = {
value?: string;
tags?: TagType[];
onChange?: (value: TagType[]) => unknown;
};
const TagFilter: FunctionComponent<TagFilterProps> = ({value, tags: propTags, onChange}) => {
type NonNullTags = NonNullable<typeof propTags>;
const {t} = useTranslation('common');
const tagGroups = useMemo(
() =>
sortBy(
Object.entries(groupBy<TagType>(propTags || [], tag => tag.label.split('/')[0])).map(
([label, tags]) => ({
label,
tags
})
),
tag => tag.label
),
[propTags]
);
const [matchedCount, setMatchedCount] = useState(propTags?.length ?? 0);
useEffect(() => setMatchedCount(propTags?.length ?? 0), [propTags, setMatchedCount]);
const [inputValue, setInputValue] = useState(value || '');
useEffect(() => setInputValue(value || ''), [value, setInputValue]);
const [selectedValue, setSelectedValue] = useState('');
const hasSelectedValue = useMemo(() => selectedValue !== '', [selectedValue]);
const allText = useMemo(() => inputValue || t('all'), [inputValue, t]);
const onInputChange = useCallback(
(value: string) => {
setInputValue(value);
setSelectedValue('');
try {
const pattern = new RegExp(value);
const matchedTags = propTags?.filter(tag => pattern.test(tag.label)) ?? [];
setMatchedCount(matchedTags.length);
onChange?.(matchedTags);
} catch {
setMatchedCount(0);
}
},
[propTags, onChange]
);
const onClickTag = useCallback(
({label, tags}: {label: string; tags: NonNullTags}) => {
setSelectedValue(label);
onChange?.(tags);
},
[onChange]
);
const onClickAllTag = useCallback(() => {
setSelectedValue('');
onInputChange(inputValue);
}, [inputValue, onInputChange]);
return (
<Wrapper>
<Search placeholder={t('searchTagPlaceholder')} rounded onChange={onInputChange}></Search>
<SearchTag active={!hasSelectedValue} onClick={onClickAllTag} title={allText}>
<SearchTagLabel>{allText}</SearchTagLabel> ({inputValue ? matchedCount : propTags?.length ?? 0})
</SearchTag>
{tagGroups.map(group => (
<SearchTag
active={hasSelectedValue && group.label === selectedValue}
onClick={() => onClickTag(group)}
key={group.label}
title={group.label}
>
<SearchTagLabel>{group.label}</SearchTagLabel> ({group.tags.length})
</SearchTag>
))}
</Wrapper>
);
};
TagFilter.defaultProps = {
tags: [] as TagType[]
};
export default TagFilter;
...@@ -21,6 +21,9 @@ const useECharts = <T extends HTMLElement>(options: { ...@@ -21,6 +21,9 @@ const useECharts = <T extends HTMLElement>(options: {
if (options.gl) { if (options.gl) {
await import('echarts-gl'); await import('echarts-gl');
} }
if (!ref.current) {
return;
}
echartInstance.current = echarts.init((ref.current as unknown) as HTMLDivElement); echartInstance.current = echarts.init((ref.current as unknown) as HTMLDivElement);
if (options.zoom) { if (options.zoom) {
setTimeout(() => { setTimeout(() => {
......
import {useEffect, useMemo} from 'react'; import {useEffect, useMemo} from 'react';
import useSWR, {ConfigInterface, keyInterface, responseInterface} from 'swr'; import useSWR, {ConfigInterface, keyInterface, responseInterface} from 'swr';
import ee from '~/utils/event';
import {fetcherFn} from 'swr/dist/types'; import {fetcherFn} from 'swr/dist/types';
type Response<D, E> = responseInterface<D, E> & { type Response<D, E> = responseInterface<D, E> & {
...@@ -61,6 +62,13 @@ function useRunningRequest<D = unknown, E = unknown>( ...@@ -61,6 +62,13 @@ function useRunningRequest<D = unknown, E = unknown>(
} }
}, [running, mutate]); }, [running, mutate]);
useEffect(() => {
ee.on('refresh-running', mutate);
return () => {
ee.off('refresh-running', mutate);
};
}, [mutate]);
return {mutate, ...others}; return {mutate, ...others};
} }
......
import {Run, Tag} from '~/types';
import {color, colorAlt} from '~/utils/chart';
import {useCallback, useEffect, useMemo, useReducer} from 'react'; import {useCallback, useEffect, useMemo, useReducer} from 'react';
import {Tag} from '~/types';
import groupBy from 'lodash/groupBy'; import groupBy from 'lodash/groupBy';
import intersection from 'lodash/intersection'; import intersectionBy from 'lodash/intersectionBy';
import uniq from 'lodash/uniq'; import uniq from 'lodash/uniq';
import {useRouter} from 'next/router'; import {useRouter} from 'next/router';
import {useRunningRequest} from '~/hooks/useRequest'; import {useRunningRequest} from '~/hooks/useRequest';
type Runs = string[];
type Tags = Record<string, string[]>; type Tags = Record<string, string[]>;
type State = { type State = {
runs: Runs; initRuns: string[];
runs: Run[];
selectedRuns: Run[];
initTags: Tags; initTags: Tags;
tags: Tag[]; tags: Tag[];
filteredTags: Tag[]; selectedTags: Tag[];
}; };
enum ActionType { enum ActionType {
initRuns,
setRuns, setRuns,
setSelectedRuns,
initTags, initTags,
setTags, setTags,
setFilteredTags setSelectedTags
} }
type ActionInitRuns = {
type: ActionType.initRuns;
payload: string[];
};
type ActionSetRuns = { type ActionSetRuns = {
type: ActionType.setRuns; type: ActionType.setRuns | ActionType.setSelectedRuns;
payload: Runs; payload: Run[];
}; };
type ActionInitTags = { type ActionInitTags = {
...@@ -35,31 +44,26 @@ type ActionInitTags = { ...@@ -35,31 +44,26 @@ type ActionInitTags = {
}; };
type ActionSetTags = { type ActionSetTags = {
type: ActionType.setTags; type: ActionType.setTags | ActionType.setSelectedTags;
payload: Tag[]; payload: Tag[];
}; };
type ActionSetFilteredTags = { type Action = ActionInitRuns | ActionSetRuns | ActionInitTags | ActionSetTags;
type: ActionType.setFilteredTags;
payload: Tag[];
};
type Action = ActionSetRuns | ActionInitTags | ActionSetTags | ActionSetFilteredTags;
type SingleTag = {label: Tag['label']; run: Tag['runs'][number]}; type SingleTag = {label: Tag['label']; run: Tag['runs'][number]};
const groupTags = (runs: Runs, tags?: Tags): Tag[] => const groupTags = (runs: Run[], tags?: Tags): Tag[] =>
Object.entries( Object.entries(
groupBy<SingleTag>( groupBy<SingleTag>(
runs runs
// get tags of selected runs // get tags of selected runs
.filter(run => runs.includes(run)) .filter(run => !!runs.find(r => r.label === run.label))
// group by runs // group by runs
.reduce<SingleTag[]>((prev, run) => { .reduce<SingleTag[]>((prev, run) => {
if (tags && tags[run]) { if (tags && tags[run.label]) {
Array.prototype.push.apply( Array.prototype.push.apply(
prev, prev,
tags[run].map(label => ({label, run})) tags[run.label].map(label => ({label, run}))
); );
} }
return prev; return prev;
...@@ -68,34 +72,66 @@ const groupTags = (runs: Runs, tags?: Tags): Tag[] => ...@@ -68,34 +72,66 @@ const groupTags = (runs: Runs, tags?: Tags): Tag[] =>
) )
).map(([label, tags]) => ({label, runs: tags.map(tag => tag.run)})); ).map(([label, tags]) => ({label, runs: tags.map(tag => tag.run)}));
const attachRunColor = (runs: string[]): Run[] =>
runs?.map((run, index) => {
const i = index % color.length;
return {
label: run,
colors: [color[i], colorAlt[i]]
};
});
const reducer = (state: State, action: Action): State => { const reducer = (state: State, action: Action): State => {
switch (action.type) { switch (action.type) {
case ActionType.initRuns:
const initRuns = action.payload;
const initRunsRuns = attachRunColor(initRuns);
const initRunsSelectedRuns = state.selectedRuns.filter(run => initRuns.includes(run.label));
const initRunsTags = groupTags(initRunsSelectedRuns, state.initTags);
return {
...state,
initRuns,
runs: initRunsRuns,
selectedRuns: initRunsSelectedRuns,
tags: initRunsTags,
selectedTags: initRunsTags
};
case ActionType.setRuns: case ActionType.setRuns:
const runTags = groupTags(action.payload, state.initTags); const setRunsSelectedRuns = intersectionBy(state.selectedRuns, action.payload, r => r.label);
const setRunsTags = groupTags(setRunsSelectedRuns, state.initTags);
return { return {
...state, ...state,
runs: action.payload, runs: action.payload,
tags: runTags, selectedRuns: setRunsSelectedRuns,
filteredTags: runTags tags: setRunsTags,
selectedTags: setRunsTags
};
case ActionType.setSelectedRuns:
const setSelectedRunsTags = groupTags(action.payload, state.initTags);
return {
...state,
selectedRuns: action.payload,
tags: setSelectedRunsTags,
selectedTags: setSelectedRunsTags
}; };
case ActionType.initTags: case ActionType.initTags:
const newTags = groupTags(state.runs, action.payload); const initTagsTags = groupTags(state.selectedRuns, action.payload);
return { return {
...state, ...state,
initTags: action.payload, initTags: action.payload,
tags: newTags, tags: initTagsTags,
filteredTags: newTags selectedTags: initTagsTags
}; };
case ActionType.setTags: case ActionType.setTags:
return { return {
...state, ...state,
tags: action.payload, tags: action.payload,
filteredTags: action.payload selectedTags: action.payload
}; };
case ActionType.setFilteredTags: case ActionType.setSelectedTags:
return { return {
...state, ...state,
filteredTags: action.payload selectedTags: action.payload
}; };
default: default:
throw new Error(); throw new Error();
...@@ -105,48 +141,42 @@ const reducer = (state: State, action: Action): State => { ...@@ -105,48 +141,42 @@ const reducer = (state: State, action: Action): State => {
const useTagFilter = (type: string, running: boolean) => { const useTagFilter = (type: string, running: boolean) => {
const router = useRouter(); const router = useRouter();
const {data: runs, loading: loadingRuns} = useRunningRequest<Runs>('/runs', running); const {data: runs, loading: loadingRuns} = useRunningRequest<string[]>('/runs', running);
const {data: tags, loading: loadingTags} = useRunningRequest<Tags>(`/${type}/tags`, running); const {data: tags, loading: loadingTags} = useRunningRequest<Tags>(`/${type}/tags`, running);
const selectedRuns = useMemo( const [state, dispatch] = useReducer(reducer, {
initRuns: [],
runs: [],
selectedRuns: [],
initTags: {},
tags: [],
selectedTags: []
});
const queryRuns = useMemo(
() => () =>
runs router.query.runs
? router.query.runs ? uniq(Array.isArray(router.query.runs) ? router.query.runs : router.query.runs.split(','))
? intersection(
uniq(Array.isArray(router.query.runs) ? router.query.runs : router.query.runs.split(',')),
runs
)
: runs
: [], : [],
[router, runs] [router]
); );
const [state, dispatch] = useReducer( const runsFromQuery = useMemo(
reducer, () => (queryRuns.length ? state.runs.filter(run => queryRuns.includes(run.label)) : state.runs),
{ [state.runs, queryRuns]
runs: selectedRuns,
initTags: {},
tags: groupTags(selectedRuns, tags)
},
initArgs => ({...initArgs, filteredTags: initArgs.tags})
); );
const onChangeRuns = useCallback((runs: Runs) => dispatch({type: ActionType.setRuns, payload: runs}), [dispatch]); const onChangeRuns = useCallback((runs: Run[]) => dispatch({type: ActionType.setSelectedRuns, payload: runs}), []);
const onInitTags = useCallback((tags: Tags) => dispatch({type: ActionType.initTags, payload: tags}), [dispatch]); const onChangeTags = useCallback((tags: Tag[]) => dispatch({type: ActionType.setSelectedTags, payload: tags}), []);
const onFilterTags = useCallback((tags: Tag[]) => dispatch({type: ActionType.setFilteredTags, payload: tags}), [
dispatch
]);
useEffect(() => onInitTags(tags || {}), [onInitTags, tags]); useEffect(() => dispatch({type: ActionType.initRuns, payload: runs || []}), [runs]);
useEffect(() => onChangeRuns(selectedRuns), [onChangeRuns, selectedRuns]); useEffect(() => dispatch({type: ActionType.setSelectedRuns, payload: runsFromQuery}), [runsFromQuery]);
useEffect(() => dispatch({type: ActionType.initTags, payload: tags || {}}), [tags]);
return { return {
runs, ...state,
tags: state.tags,
selectedRuns: state.runs,
selectedTags: state.filteredTags,
onChangeRuns, onChangeRuns,
onFilterTags, onChangeTags,
loadingRuns, loadingRuns,
loadingTags loadingTags
}; };
......
...@@ -37,45 +37,52 @@ ...@@ -37,45 +37,52 @@
"dagre-d3": "0.6.4", "dagre-d3": "0.6.4",
"echarts": "4.7.0", "echarts": "4.7.0",
"echarts-gl": "1.1.1", "echarts-gl": "1.1.1",
"eventemitter3": "4.0.0",
"file-saver": "2.0.2",
"isomorphic-unfetch": "3.0.0", "isomorphic-unfetch": "3.0.0",
"lodash": "4.17.15", "lodash": "4.17.15",
"moment": "2.24.0", "mime-types": "2.1.27",
"next": "9.3.4", "moment": "2.25.3",
"nanoid": "3.1.5",
"next": "9.3.6",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"polished": "3.5.1", "polished": "3.6.2",
"prop-types": "15.7.2", "prop-types": "15.7.2",
"query-string": "6.12.0", "query-string": "6.12.1",
"react": "16.13.1", "react": "16.13.1",
"react-dom": "16.13.1", "react-dom": "16.13.1",
"react-hooks-worker": "0.9.0", "react-hooks-worker": "0.9.0",
"react-input-range": "1.3.0", "react-input-range": "1.3.0",
"react-is": "16.13.1", "react-is": "16.13.1",
"react-spinners": "0.8.1", "react-spinners": "0.8.3",
"react-tooltip": "4.2.6",
"save-svg-as-png": "1.4.17", "save-svg-as-png": "1.4.17",
"styled-components": "5.1.0", "styled-components": "5.1.0",
"swr": "0.2.0" "swr": "0.2.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.9.0", "@babel/core": "7.9.6",
"@types/d3": "5.7.2", "@types/d3": "5.7.2",
"@types/dagre-d3": "0.4.39", "@types/dagre-d3": "0.4.39",
"@types/echarts": "4.4.5", "@types/echarts": "4.6.0",
"@types/lodash": "4.14.149", "@types/file-saver": "2.0.1",
"@types/node": "13.11.1", "@types/lodash": "4.14.150",
"@types/mime-types": "2.1.0",
"@types/node": "13.13.5",
"@types/nprogress": "0.2.0", "@types/nprogress": "0.2.0",
"@types/react": "16.9.34", "@types/react": "16.9.34",
"@types/react-dom": "16.9.6", "@types/react-dom": "16.9.7",
"@types/styled-components": "5.0.1", "@types/styled-components": "5.1.0",
"@visualdl/mock": "^2.0.0-beta.32", "@visualdl/mock": "^2.0.0-beta.32",
"babel-plugin-emotion": "10.0.33", "babel-plugin-emotion": "10.0.33",
"babel-plugin-styled-components": "1.10.7", "babel-plugin-styled-components": "1.10.7",
"babel-plugin-typescript-to-proptypes": "1.3.2", "babel-plugin-typescript-to-proptypes": "1.3.2",
"core-js": "3.6.5", "core-js": "3.6.5",
"cross-env": "7.0.2", "cross-env": "7.0.2",
"css-loader": "3.5.2", "css-loader": "3.5.3",
"ora": "4.0.3", "ora": "4.0.4",
"typescript": "3.8.3", "typescript": "3.8.3",
"worker-plugin": "4.0.2" "worker-plugin": "4.0.3"
}, },
"engines": { "engines": {
"node": ">=10", "node": ">=10",
......
...@@ -18,6 +18,10 @@ import useRequest from '~/hooks/useRequest'; ...@@ -18,6 +18,10 @@ import useRequest from '~/hooks/useRequest';
// eslint-disable-next-line @typescript-eslint/no-empty-function // eslint-disable-next-line @typescript-eslint/no-empty-function
const dumbFn = () => {}; const dumbFn = () => {};
const AsideSection = styled.section`
padding: ${rem(20)};
`;
const SubSection = styled.div` const SubSection = styled.div`
margin-bottom: ${rem(30)}; margin-bottom: ${rem(30)};
`; `;
...@@ -257,12 +261,12 @@ const Graphs: NextI18NextPage = () => { ...@@ -257,12 +261,12 @@ const Graphs: NextI18NextPage = () => {
const {currentNode, downloadImage, fitScreen, scale, setScale} = useDagreD3(graph); const {currentNode, downloadImage, fitScreen, scale, setScale} = useDagreD3(graph);
const aside = ( const aside = (
<section> <AsideSection>
<SubSection> <SubSection>
<Button icon="download" onClick={downloadImage}> <Button rounded type="primary" icon="download" onClick={downloadImage}>
{t('download-image')} {t('download-image')}
</Button> </Button>
<Button icon="revert" onClick={fitScreen}> <Button rounded type="primary" icon="revert" onClick={fitScreen}>
{t('restore-image')} {t('restore-image')}
</Button> </Button>
</SubSection> </SubSection>
...@@ -277,7 +281,7 @@ const Graphs: NextI18NextPage = () => { ...@@ -277,7 +281,7 @@ const Graphs: NextI18NextPage = () => {
<Field label={`${t('node-info')}:`} /> <Field label={`${t('node-info')}:`} />
<NodeInfo node={currentNode} /> <NodeInfo node={currentNode} />
</SubSection> </SubSection>
</section> </AsideSection>
); );
const ContentInner = useMemo(() => { const ContentInner = useMemo(() => {
......
import {Dimension, Reduction} from '~/resource/high-dimensional'; import {Dimension, Reduction} from '~/resource/high-dimensional';
import {NextI18NextPage, useTranslation} from '~/utils/i18n'; import {NextI18NextPage, useTranslation} from '~/utils/i18n';
import React, {useEffect, useState} from 'react'; import React, {useEffect, useState} from 'react';
import Select, {SelectValueType} from '~/components/Select'; import Select, {SelectProps} from '~/components/Select';
import {em, rem} from '~/utils/style'; import {em, rem} from '~/utils/style';
import AsideDivider from '~/components/AsideDivider'; import AsideDivider from '~/components/AsideDivider';
...@@ -24,6 +24,14 @@ import useSearchValue from '~/hooks/useSearchValue'; ...@@ -24,6 +24,14 @@ import useSearchValue from '~/hooks/useSearchValue';
const dimensions = ['2d', '3d']; const dimensions = ['2d', '3d'];
const reductions = ['pca', 'tsne']; const reductions = ['pca', 'tsne'];
const AsideSection = styled.section`
padding: ${rem(20)};
`;
const StyledSelect = styled<React.FunctionComponent<SelectProps<string>>>(Select)`
min-width: ${em(160)};
`;
const StyledIcon = styled(Icon)` const StyledIcon = styled(Icon)`
margin-right: ${em(4)}; margin-right: ${em(4)};
vertical-align: middle; vertical-align: middle;
...@@ -44,7 +52,7 @@ const HighDimensional: NextI18NextPage = () => { ...@@ -44,7 +52,7 @@ const HighDimensional: NextI18NextPage = () => {
const {query} = useRouter(); const {query} = useRouter();
const queryRun = Array.isArray(query.run) ? query.run[0] : query.run; const queryRun = Array.isArray(query.run) ? query.run[0] : query.run;
const {data: runs, error, loading} = useRunningRequest<string[]>('/runs', running); const {data: runs, error, loading} = useRunningRequest<string[]>('/runs', running);
const selectedRun = runs?.includes(queryRun) ? queryRun : runs?.[0]; const selectedRun = queryRun && runs?.includes(queryRun) ? queryRun : runs?.[0];
const [run, setRun] = useState(selectedRun); const [run, setRun] = useState(selectedRun);
useEffect(() => setRun(selectedRun), [setRun, selectedRun]); useEffect(() => setRun(selectedRun), [setRun, selectedRun]);
...@@ -56,12 +64,12 @@ const HighDimensional: NextI18NextPage = () => { ...@@ -56,12 +64,12 @@ const HighDimensional: NextI18NextPage = () => {
const [labelVisibility, setLabelVisibility] = useState(true); const [labelVisibility, setLabelVisibility] = useState(true);
const aside = ( const aside = (
<section> <AsideSection>
<AsideTitle>{t('common:select-runs')}</AsideTitle> <AsideTitle>{t('common:select-runs')}</AsideTitle>
<Select <StyledSelect
list={runs} list={runs}
value={run} value={run}
onChange={(value: SelectValueType | SelectValueType[]) => setRun(value as string)} onChange={(value: NonNullable<typeof runs>[number]) => setRun(value)}
/> />
<AsideDivider /> <AsideDivider />
<Field> <Field>
...@@ -78,7 +86,7 @@ const HighDimensional: NextI18NextPage = () => { ...@@ -78,7 +86,7 @@ const HighDimensional: NextI18NextPage = () => {
{t('dimension')} {t('dimension')}
</AsideTitle> </AsideTitle>
<Field> <Field>
<RadioGroup value={dimension} onChange={value => setDimension(value as Dimension)}> <RadioGroup value={dimension} onChange={value => setDimension(value)}>
{dimensions.map(item => ( {dimensions.map(item => (
<RadioButton key={item} value={item}> <RadioButton key={item} value={item}>
{t(item)} {t(item)}
...@@ -92,7 +100,7 @@ const HighDimensional: NextI18NextPage = () => { ...@@ -92,7 +100,7 @@ const HighDimensional: NextI18NextPage = () => {
{t('reduction-method')} {t('reduction-method')}
</AsideTitle> </AsideTitle>
<Field> <Field>
<RadioGroup value={reduction} onChange={value => setReduction(value as Reduction)}> <RadioGroup value={reduction} onChange={value => setReduction(value)}>
{reductions.map(item => ( {reductions.map(item => (
<RadioButton key={item} value={item}> <RadioButton key={item} value={item}>
{t(item)} {t(item)}
...@@ -101,7 +109,7 @@ const HighDimensional: NextI18NextPage = () => { ...@@ -101,7 +109,7 @@ const HighDimensional: NextI18NextPage = () => {
</RadioGroup> </RadioGroup>
</Field> </Field>
<RunningToggle running={running} onToggle={setRunning} /> <RunningToggle running={running} onToggle={setRunning} />
</section> </AsideSection>
); );
return ( return (
......
// cSpell:words ungrouped // cSpell:words ungrouped
import ChartPage, {WithChart} from '~/components/ChartPage';
import {NextI18NextPage, useTranslation} from '~/utils/i18n'; import {NextI18NextPage, useTranslation} from '~/utils/i18n';
import React, {useCallback, useMemo, useState} from 'react'; import React, {useCallback, useMemo, useState} from 'react';
// import {em, rem} from '~/utils/style';
import AsideDivider from '~/components/AsideDivider';
import ChartPage from '~/components/ChartPage';
import Checkbox from '~/components/Checkbox'; import Checkbox from '~/components/Checkbox';
import Content from '~/components/Content'; import Content from '~/components/Content';
// import Field from '~/components/Field'; import Field from '~/components/Field';
// import Icon from '~/components/Icon';
import Preloader from '~/components/Preloader'; import Preloader from '~/components/Preloader';
import RunSelect from '~/components/RunSelect'; import RunAside from '~/components/RunAside';
import RunningToggle from '~/components/RunningToggle';
import SampleChart from '~/components/SamplesPage/SampleChart'; import SampleChart from '~/components/SamplesPage/SampleChart';
import TagFilter from '~/components/TagFilter'; import Slider from '~/components/Slider';
import Title from '~/components/Title'; import Title from '~/components/Title';
// import {rem} from '~/utils/style'; import {rem} from '~/utils/style';
// import styled from 'styled-components';
import useTagFilter from '~/hooks/useTagFilter'; import useTagFilter from '~/hooks/useTagFilter';
// const StyledIcon = styled(Icon)` const chartSize = {
// font-size: ${rem(16)}; height: rem(406)
// margin-left: ${em(6)}; };
// margin-right: ${em(4)};
// vertical-align: middle;
// `;
// const CheckboxTitle = styled.span`
// font-size: ${rem(16)};
// font-weight: 700;
// vertical-align: text-top;
// `;
type Item = { type Item = {
run: string; run: string;
...@@ -43,65 +29,62 @@ const Samples: NextI18NextPage = () => { ...@@ -43,65 +29,62 @@ const Samples: NextI18NextPage = () => {
const [running, setRunning] = useState(true); const [running, setRunning] = useState(true);
const {runs, tags, selectedRuns, selectedTags, onChangeRuns, onFilterTags, loadingRuns, loadingTags} = useTagFilter( const {runs, tags, selectedRuns, onChangeRuns, loadingRuns, loadingTags} = useTagFilter('images', running);
'images',
running
);
const ungroupedSelectedTags = useMemo( const ungroupedSelectedTags = useMemo(
() => () =>
selectedTags.reduce<Item[]>((prev, {runs, ...item}) => { tags.reduce<Item[]>((prev, {runs, ...item}) => {
Array.prototype.push.apply( Array.prototype.push.apply(
prev, prev,
runs.map(run => ({...item, run})) runs.map(run => ({...item, run: run.label, id: `${item.label}-${run.label}`}))
); );
return prev; return prev;
}, []), }, []),
[selectedTags] [tags]
); );
const showImage = true;
// const [showImage, setShowImage] = useState(true);
// const [showAudio, setShowAudio] = useState(true);
// const [showText, setShowText] = useState(true);
const [showActualSize, setShowActualSize] = useState(false); const [showActualSize, setShowActualSize] = useState(false);
const [brightness, setBrightness] = useState(1);
const [contrast, setContrast] = useState(1);
const aside = ( const aside = (
<section> <RunAside
<RunSelect runs={runs} value={selectedRuns} onChange={onChangeRuns} /> runs={runs}
<AsideDivider /> selectedRuns={selectedRuns}
{/* <Field> onChangeRuns={onChangeRuns}
<Checkbox value={showImage} onChange={setShowImage} disabled> running={running}
<StyledIcon type="image" /> onToggleRunning={setRunning}
<CheckboxTitle>{t('image')}</CheckboxTitle> >
</Checkbox> <section>
</Field> */}
{showImage && (
<Checkbox value={showActualSize} onChange={setShowActualSize}> <Checkbox value={showActualSize} onChange={setShowActualSize}>
{t('show-actual-size')} {t('show-actual-size')}
</Checkbox> </Checkbox>
)} </section>
{/* <AsideDivider /> <section>
<Field> <Field label={t('brightness')}>
<Checkbox value={showAudio} onChange={setShowAudio}> <Slider min={0} max={2} step={0.01} value={brightness} onChange={setBrightness} />
<StyledIcon type="audio" /> </Field>
<CheckboxTitle>{t('audio')}</CheckboxTitle> </section>
</Checkbox> <section>
</Field> <Field label={t('contrast')}>
<AsideDivider /> <Slider min={0} max={2} step={0.01} value={contrast} onChange={setContrast} />
<Field> </Field>
<Checkbox value={showText} onChange={setShowText}> </section>
<StyledIcon type="text" /> </RunAside>
<CheckboxTitle>{t('text')}</CheckboxTitle>
</Checkbox>
</Field> */}
<RunningToggle running={running} onToggle={setRunning} />
</section>
); );
const withChart = useCallback( const withChart = useCallback<WithChart<Item>>(
({run, label}: Item) => <SampleChart run={run} tag={label} fit={!showActualSize} running={running} />, ({run, label}) => (
[showActualSize, running] <SampleChart
run={run}
tag={label}
fit={!showActualSize}
running={running}
brightness={brightness}
contrast={contrast}
/>
),
[showActualSize, running, brightness, contrast]
); );
return ( return (
...@@ -110,8 +93,12 @@ const Samples: NextI18NextPage = () => { ...@@ -110,8 +93,12 @@ const Samples: NextI18NextPage = () => {
<Preloader url="/images/tags" /> <Preloader url="/images/tags" />
<Title>{t('common:samples')}</Title> <Title>{t('common:samples')}</Title>
<Content aside={aside} loading={loadingRuns}> <Content aside={aside} loading={loadingRuns}>
<TagFilter tags={tags} onChange={onFilterTags} /> <ChartPage
<ChartPage items={ungroupedSelectedTags} withChart={withChart} loading={loadingRuns || loadingTags} /> items={ungroupedSelectedTags}
chartSize={chartSize}
withChart={withChart}
loading={loadingRuns || loadingTags}
/>
</Content> </Content>
</> </>
); );
......
import ChartPage, {WithChart} from '~/components/ChartPage';
import {NextI18NextPage, useTranslation} from '~/utils/i18n'; import {NextI18NextPage, useTranslation} from '~/utils/i18n';
import React, {useCallback, useState} from 'react'; import React, {useCallback, useState} from 'react';
import Select, {SelectValueType} from '~/components/Select';
import {sortingMethodMap, xAxisMap} from '~/resource/scalars'; import {sortingMethodMap, xAxisMap} from '~/resource/scalars';
import AsideDivider from '~/components/AsideDivider';
import ChartPage from '~/components/ChartPage';
import Checkbox from '~/components/Checkbox'; import Checkbox from '~/components/Checkbox';
import Content from '~/components/Content'; import Content from '~/components/Content';
import Field from '~/components/Field'; import Field from '~/components/Field';
import Preloader from '~/components/Preloader'; import Preloader from '~/components/Preloader';
import RunSelect from '~/components/RunSelect'; import RadioButton from '~/components/RadioButton';
import RunningToggle from '~/components/RunningToggle'; import RadioGroup from '~/components/RadioGroup';
import RunAside from '~/components/RunAside';
import ScalarChart from '~/components/ScalarsPage/ScalarChart'; import ScalarChart from '~/components/ScalarsPage/ScalarChart';
import SmoothingSlider from '~/components/ScalarsPage/SmoothingSlider'; import Select from '~/components/Select';
import Slider from '~/components/Slider';
import {Tag} from '~/types'; import {Tag} from '~/types';
import TagFilter from '~/components/TagFilter';
import Title from '~/components/Title'; import Title from '~/components/Title';
import useSearchValue from '~/hooks/useSearchValue'; import {rem} from '~/utils/style';
import styled from 'styled-components';
import useTagFilter from '~/hooks/useTagFilter'; import useTagFilter from '~/hooks/useTagFilter';
type XAxis = keyof typeof xAxisMap; type XAxis = keyof typeof xAxisMap;
const xAxisValues = ['step', 'relative', 'wall']; const xAxisValues = ['step', 'relative', 'wall'] as const;
type TooltipSorting = keyof typeof sortingMethodMap; type TooltipSorting = keyof typeof sortingMethodMap;
const toolTipSortingValues = ['default', 'descending', 'ascending', 'nearest']; const toolTipSortingValues = ['default', 'descending', 'ascending', 'nearest'] as const;
const TooltipSortingDiv = styled.div`
margin-top: ${rem(20)};
display: flex;
align-items: center;
> :last-child {
margin-left: ${rem(20)};
flex-shrink: 1;
flex-grow: 1;
}
`;
const Scalars: NextI18NextPage = () => { const Scalars: NextI18NextPage = () => {
const {t} = useTranslation(['scalars', 'common']); const {t} = useTranslation(['scalars', 'common']);
const [running, setRunning] = useState(true); const [running, setRunning] = useState(true);
const {runs, tags, selectedRuns, selectedTags, onChangeRuns, onFilterTags, loadingRuns, loadingTags} = useTagFilter( const {runs, tags, selectedRuns, onChangeRuns, loadingRuns, loadingTags} = useTagFilter('scalars', running);
'scalars',
running
);
const debounceTags = useSearchValue(selectedTags);
const [smoothing, setSmoothing] = useState(0.6); const [smoothing, setSmoothing] = useState(0.6);
const [xAxis, setXAxis] = useState(xAxisValues[0] as XAxis); const [xAxis, setXAxis] = useState<XAxis>(xAxisValues[0]);
const onChangeXAxis = (value: SelectValueType | SelectValueType[]) => setXAxis(value as XAxis);
const [tooltipSorting, setTooltipSorting] = useState(toolTipSortingValues[0] as TooltipSorting); const [tooltipSorting, setTooltipSorting] = useState<TooltipSorting>(toolTipSortingValues[0]);
const onChangeTooltipSorting = (value: SelectValueType | SelectValueType[]) => const onChangeTooltipSorting = (value: TooltipSorting) => setTooltipSorting(value);
setTooltipSorting(value as TooltipSorting);
const [ignoreOutliers, setIgnoreOutliers] = useState(false); const [ignoreOutliers, setIgnoreOutliers] = useState(false);
const aside = ( const aside = (
<section> <RunAside
<RunSelect runs={runs} value={selectedRuns} onChange={onChangeRuns} /> runs={runs}
<AsideDivider /> selectedRuns={selectedRuns}
<SmoothingSlider value={smoothing} onChange={setSmoothing} /> onChangeRuns={onChangeRuns}
<Field label={t('x-axis')}> running={running}
<Select onToggleRunning={setRunning}
list={xAxisValues.map(value => ({label: t(`x-axis-value.${value}`), value}))} >
value={xAxis} <section>
onChange={onChangeXAxis}
/>
</Field>
<Field label={t('tooltip-sorting')}>
<Select
list={toolTipSortingValues.map(value => ({label: t(`tooltip-sorting-value.${value}`), value}))}
value={tooltipSorting}
onChange={onChangeTooltipSorting}
/>
</Field>
<Field>
<Checkbox value={ignoreOutliers} onChange={setIgnoreOutliers}> <Checkbox value={ignoreOutliers} onChange={setIgnoreOutliers}>
{t('ignore-outliers')} {t('ignore-outliers')}
</Checkbox> </Checkbox>
</Field> <TooltipSortingDiv>
<RunningToggle running={running} onToggle={setRunning} /> <span>{t('tooltip-sorting')}</span>
</section> <Select
list={toolTipSortingValues.map(value => ({label: t(`tooltip-sorting-value.${value}`), value}))}
value={tooltipSorting}
onChange={onChangeTooltipSorting}
/>
</TooltipSortingDiv>
</section>
<section>
<Field label={t('smoothing')}>
<Slider min={0} max={0.99} step={0.01} value={smoothing} onChangeComplete={setSmoothing} />
</Field>
</section>
<section>
<Field label={t('x-axis')}>
<RadioGroup value={xAxis} onChange={setXAxis}>
{xAxisValues.map(value => (
<RadioButton key={value} value={value}>
{t(`x-axis-value.${value}`)}
</RadioButton>
))}
</RadioGroup>
</Field>
</section>
</RunAside>
); );
const withChart = useCallback( const withChart = useCallback<WithChart<Tag>>(
(item: Tag) => ( ({label, runs, ...args}) => (
<ScalarChart <ScalarChart
runs={item.runs} runs={runs}
tag={item.label} tag={label}
{...args}
smoothing={smoothing} smoothing={smoothing}
xAxis={xAxis} xAxis={xAxis}
sortingMethod={tooltipSorting} sortingMethod={tooltipSorting}
...@@ -96,8 +114,7 @@ const Scalars: NextI18NextPage = () => { ...@@ -96,8 +114,7 @@ const Scalars: NextI18NextPage = () => {
<Preloader url="/scalars/tags" /> <Preloader url="/scalars/tags" />
<Title>{t('common:scalars')}</Title> <Title>{t('common:scalars')}</Title>
<Content aside={aside} loading={loadingRuns}> <Content aside={aside} loading={loadingRuns}>
<TagFilter tags={tags} onChange={onFilterTags} /> <ChartPage items={tags} withChart={withChart} loading={loadingRuns || loadingTags} />
<ChartPage items={debounceTags} withChart={withChart} loading={loadingRuns || loadingTags} />
</Content> </Content>
</> </>
); );
......
<svg height="244" viewBox="0 0 280 244" width="280" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x1="50%" x2="48.658415%" y1="61.213285%" y2="44.221263%"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#dee2ea"/></linearGradient><linearGradient id="b" x1="47.364856%" x2="35.78808%" y1="8.992503%" y2="37.810374%"><stop offset="0" stop-color="#dee2ea"/><stop offset="1" stop-color="#abb2b9"/></linearGradient><linearGradient id="c" x1="50%" x2="44.131151%" y1="9.45978%" y2="50%"><stop offset="0" stop-color="#dee2ea"/><stop offset="1" stop-color="#bdc3cb"/></linearGradient><linearGradient id="d" x1="33.638931%" x2="74.896888%" y1="71.45323%" y2="22.628242%"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1"/></linearGradient><linearGradient id="e" x1="60.858945%" x2="39.239063%" y1="0%" y2="76.405382%"><stop offset="0" stop-color="#abb6c4"/><stop offset="1" stop-color="#fff" stop-opacity=".47076"/></linearGradient><path id="f" d="m3.84714229 0h4.36027147v4.3600388c0 2.12471802-1.72242428 3.84714229-3.84714229 3.84714229h-4.36027147v-4.3600388c0-2.12471802 1.72242427-3.84714229 3.84714229-3.84714229z"/><linearGradient id="g" x1="68.901915%" x2="25.608096%" y1="75.912656%" y2="-8.83115%"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#343434"/></linearGradient><linearGradient id="h" x1="74.359708%" x2="33.018133%" y1="39.942826%" y2="71.704777%"><stop offset="0" stop-color="#f1f1f1"/><stop offset="1" stop-color="#dee2ea"/></linearGradient><linearGradient id="i" x1="57.363466%" x2="40.555293%" y1="45.484702%" y2="66.495962%"><stop offset="0" stop-color="#ebeef1"/><stop offset="1" stop-color="#dee2ea"/></linearGradient><linearGradient id="j" x1="50%" x2="90.846327%" y1="66.079045%" y2="-13.896429%"><stop offset="0" stop-color="#6d87cf"/><stop offset="1" stop-color="#cddafd"/></linearGradient><path id="k" d="m0 29.8838432c11.5353918-7.8924286 17.5826848-17.7255406 18.1418791-29.49933608 3.0289717-.45278604 8.8799038.11217194 23.5599768 2.67021581 1.367099.23822084 1.4879799 2.41157984.3626426 6.520077 4.9494085 1.81891287 7.2172366 3.55153047 6.8034844 5.19785287-3.5872247 14.2735895-8.3329897 20.7813066-15.4954379 23.8393978-8.2159505 1.0452991-19.3401322-1.8641034-33.372545-8.7282074z"/><filter id="l" height="162.2%" width="124.5%" x="-12.3%" y="-15.6%"><feOffset dx="0" dy="12" in="SourceAlpha" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 0.105882353 0 0 0 0 0.207843137 0 0 0 0 0.329411765 0 0 0 0.272192029 0"/></filter><linearGradient id="m" x1="7.624573%" x2="71.770415%" y1="102.541703%" y2="33.462242%"><stop offset="0" stop-color="#bfcbeb"/><stop offset="1" stop-color="#607dcb"/></linearGradient><path id="n" d="m17.4502651 5.71309115c1.4952718 9.22895275-5.0346651 18.66368195-13.17511171 25.39013135 6.83616511 3.6997177 19.24765711 8.8536983 29.28243561 11.9794135.4773667.1486941 1.9761677-.0357439 2.4420549.0455318 2.8165867.4913635 4.4086441-1.5556191 5.4819664-2.1718978 4.4234951-4.650677 8.7750847-8.0097048 10.9904253-14.531276 1.1358473-3.3437338 1.778678-6.1909435 1.8067554-7.4134355-3.5798514-3.3280893-12.1374089-3.2306091-36.8285259-13.29846735z"/><filter id="o" height="164%" width="124%" x="-12%" y="-16%"><feOffset dx="0" dy="12" in="SourceAlpha" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 0.105882353 0 0 0 0 0.207843137 0 0 0 0 0.329411765 0 0 0 0.270720109 0"/></filter><mask id="p" fill="#fff"><use fill="#fff" fill-rule="evenodd" xlink:href="#f"/></mask></defs><g fill="none" fill-rule="evenodd" transform="translate(0 -15)"><path d="m24.9582173 134.578947h158.3021077v68.141889c0 .622153.369703 1.184814.940751 1.431754l94.356626 40.802925c.571048.24694.940751.809601.940751 1.431755v35.990553h-105.276995l-149.9510584-73.667707c-.5338354-.262262-.8720709-.805279-.8720709-1.400057v-71.171223c0-.861503.6983859-1.559889 1.5598886-1.559889z" fill="url(#a)"/><path d="m22.6183844 97.8642659 68.9142541 23.5180841v85.927977l-68.1343098-23.518083z" fill="url(#b)" transform="matrix(-1 0 0 1 114.151022 0)"/><path d="m91.2534819 97.8642659 91.3910151 21.1745931v85.927978l-91.3910151-21.174593z" fill="url(#c)"/><path d="m22.6183844 121.299169 91.3910146 21.174593v89.833795l-91.3910146-25.08041z" fill="#dee2ea"/><path d="m22.6183844 121.299169 91.3910146 21.174593v89.833795l-91.3910146-25.08041z" fill="url(#d)" opacity=".1"/><path d="m25.2019236 114.077156c22.365796-14.5953137 16.7223374-32.0446458 22.1058781-46.9698127 5.1369321-14.2414765 20.4117109-22.9211138 31.0060354-15.6967118 3.9989621 2.7269422 2.1911749 18.9284442-19.1090743 13.8648296-7.5039319-1.7838768-12.7690674-8.834139-10.7730272-22.244632 3.0515976-20.5023075 35.2877255-20.2694701 36.243555-20.9249957" style="stroke-width:1.835918;opacity:.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.835918 4.589796;stroke:url(#e)" transform="matrix(-.73135369609 -.68199836077 -.68199836077 .73135369609 206.71566916786 72.38169924619)"/><g transform="matrix(-.12186933814 -.99254615162 .99254615162 -.12186933814 113.38923137115 43.45407750341)"><path d="m7.78442851 14.5238048c3.17220949-3.4338433 4.75890199-6.02490943 4.76007739-7.77319825.001761-2.62243322-2.1256319-4.746905-4.75166608-4.74514161-2.62603417.00176558-4.75628391 2.12909814-4.75804663 4.75153137-.00117427 1.74828882 1.5820375 4.33722499 4.74963532 7.76680849z" fill="#dee2ea" opacity=".4" transform="matrix(.70710678 -.70710678 .70710678 .70710678 -3.562444 7.92877)"/><path d="m19.8781294 26.1880778c3.1722095-3.4338433 4.7589019-6.0249094 4.7600774-7.7731982.0017609-2.6224333-2.1256319-4.746905-4.7516661-4.7451416-2.6260342.0017655-4.7562839 2.1290981-4.7580466 4.7515313-.0011743 1.7482888 1.5820375 4.337225 4.7496353 7.7668085z" fill="#dee2ea" opacity=".4" transform="matrix(-.70710678 .70710678 -.70710678 -.70710678 48.034868 19.961122)"/><g transform="translate(9.93529 9.547737)"><use fill="#b2b8bf" xlink:href="#f"/><g fill="#f5f9ff"><path d="m1.73063141.43558306 1.29677877-.00087133-.006381 9.49667079-1.29677876.00087133z" mask="url(#p)" transform="matrix(.70710678 -.70710678 .70710678 .70710678 -2.969411 3.198173)"/><path d="m1.15488015.12275076.91634493-.91777729 6.70918511 6.71967236-.91634493.91777729z" mask="url(#p)"/></g></g><path d="m22.549602 7.491456 3.152562-.751439" stroke="#b2b8bf" stroke-width=".5"/><path d="m21.253694 6.195586 1.212948-3.125431" stroke="#b2b8bf" stroke-width=".5"/><ellipse cx="19.438612" cy="8.683823" fill="#c6cad1" rx="3.455753" ry="3.455655"/></g><path d="m113.871866 118.955679 69.694199 23.518083v89.833795l-68.914254-27.4239z" fill="#dee2ea" transform="matrix(-1 0 0 1 297.43793 0)"/><path d="m113.871866 118.955679 69.694199 23.518083v89.833795l-68.914254-27.4239z" fill="url(#g)" opacity=".323288" transform="matrix(-1 0 0 1 297.43793 0)"/><path d="m138.050088 118.892428-24.365413 34.020282 70.530215 27.884346 23.427071-38.922624z" fill="url(#h)" transform="matrix(-1 0 0 1 321.326636 0)"/><path d="m22.9913998 0-22.9913998 35.5355472 88.8639608 23.8328739 25.7878502-38.1932219z" fill="url(#i)" transform="translate(0 120.518006)"/><g transform="translate(25.738162 66.617729)"><path d="m42.0561471 3.217186c1.5769413 1.55432988 2.9211924 3.06153671 4.0327533 4.52162047 2.3139749 3.03950693 3.00486 7.24076313 2.8439663 7.34686923-.8777648.5788683-5.8963537-2.7604242-6.8767196-5.47259239-.5877297-1.62594583-.5877297-3.7579116 0-6.39589731z" fill="#607dcb"/><use fill="#000" filter="url(#l)" xlink:href="#k"/><use fill="url(#j)" fill-rule="evenodd" xlink:href="#k"/></g><g transform="matrix(.75470958 .65605903 -.65605903 .75470958 173.43155 128.359633)"><g transform="matrix(.97029573 -.2419219 .2419219 .97029573 -5.047357 7.809258)"><use fill="#000" filter="url(#o)" xlink:href="#n"/><use fill="url(#m)" fill-rule="evenodd" xlink:href="#n"/></g><path d="m40.6338193 34.9432952c1.8392617 1.8060754.1356857 6.6259076-3.4786555 6.5414949 3.8398603.0517047 5.911095-1.3467347 7.4029126-2.7497916s8.4954982-7.91596 7.6369153-25.5820263c.1123833 14.9345807-3.5528686 22.2252315-11.5611724 21.790323z" fill="#4a69bb"/></g></g></svg>
\ No newline at end of file
...@@ -4,14 +4,27 @@ ...@@ -4,14 +4,27 @@
"graphs": "Graphs", "graphs": "Graphs",
"high-dimensional": "High Dimensional", "high-dimensional": "High Dimensional",
"search": "Search", "search": "Search",
"searchTagPlaceholder": "Search tags in RegExp", "search-tags": "Search tags in RegExp",
"all": "ALL", "search-result": "Search Result",
"search-empty": "Nothing found. Please try again with another word. <1/>Or you can <3>see all charts</3>.",
"unselected-empty": "Nothing selected. <1/>Please select display data from right side.",
"empty": "Empty", "empty": "Empty",
"select": "Please Select", "select": "Please Select",
"select-all": "Select All",
"runs": "Runs", "runs": "Runs",
"select-runs": "Select Runs", "select-runs": "Select Runs",
"search-runs": "Search runs",
"running": "Running", "running": "Running",
"stopped": "Stopped", "stopped": "Stopped",
"run": "Run",
"stop": "Stop",
"start-realtime-refresh": "Start realtime refresh",
"stop-realtime-refresh": "Stop realtime refresh",
"loading": "Loading", "loading": "Loading",
"error": "Error occurred" "error": "Error occurred",
"previous-page": "Prev Page",
"next-page": "Next Page",
"total-page": "{{count}} page, jump to",
"total-page_plural": "{{count}} pages, jump to",
"confirm": "Confirm"
} }
{ {
"image": "Image", "image": "image",
"audio": "Audio", "audio": "audio",
"text": "Text", "text": "text",
"show-actual-size": "Show Actual Image Size", "show-actual-size": "Show Actual Image Size",
"step": "Step" "step": "Step",
"download-image": "Download $t(image)",
"brightness": "Brightness",
"contrast": "Contrast"
} }
...@@ -15,5 +15,10 @@ ...@@ -15,5 +15,10 @@
"ascending": "Ascending", "ascending": "Ascending",
"nearest": "Nearest" "nearest": "Nearest"
}, },
"ignore-outliers": "Ignore outliers in chart scaling" "ignore-outliers": "Ignore outliers in chart scaling",
"maximize": "Maximize",
"minimize": "Minimize",
"restore": "Restore",
"axis": "Axis",
"download-image": "Download image"
} }
...@@ -4,14 +4,28 @@ ...@@ -4,14 +4,28 @@
"graphs": "网络结构", "graphs": "网络结构",
"high-dimensional": "高维数据映射", "high-dimensional": "高维数据映射",
"search": "搜索", "search": "搜索",
"searchTagPlaceholder": "搜索标签(支持正则)", "search-tags": "搜索标签(支持正则)",
"search-result": "搜索结果",
"search-empty": "没有找到您期望的内容,你可以尝试其他搜索词<1/>或者点击<3>查看全部图表</3>",
"unselected-empty": "未选中任何数据<1/>请在右侧操作栏选择要展示的数据",
"all": "全部", "all": "全部",
"empty": "空空如也", "empty": "空空如也",
"select": "请选择", "select": "请选择",
"select-all": "全选",
"runs": "数据流", "runs": "数据流",
"select-runs": "选择数据流", "select-runs": "选择数据流",
"search-runs": "搜索数据流",
"running": "运行中", "running": "运行中",
"stopped": "已停止", "stopped": "已停止",
"run": "运行",
"stop": "停止",
"start-realtime-refresh": "运行实时数据刷新",
"stop-realtime-refresh": "停止实时数据刷新",
"loading": "载入中", "loading": "载入中",
"error": "发生错误" "error": "发生错误",
"previous-page": "上一页",
"next-page": "下一页",
"total-page": "共 {{count}} 页,跳转至",
"total-page_plural": "共 {{count}} 页,跳转至",
"confirm": "确定"
} }
...@@ -3,5 +3,8 @@ ...@@ -3,5 +3,8 @@
"audio": "音频", "audio": "音频",
"text": "文本", "text": "文本",
"show-actual-size": "按真实大小展示", "show-actual-size": "按真实大小展示",
"step": "Step" "step": "Step",
"download-image": "下载$t(image)",
"brightness": "亮度",
"contrast": "对比度"
} }
...@@ -15,5 +15,10 @@ ...@@ -15,5 +15,10 @@
"ascending": "升序", "ascending": "升序",
"nearest": "最近" "nearest": "最近"
}, },
"ignore-outliers": "图表缩放时忽略极端值" "ignore-outliers": "图表缩放时忽略极端值",
"maximize": "最大化",
"minimize": "最小化",
"restore": "还原",
"axis": "坐标轴",
"download-image": "下载图片"
} }
<?xml version="1.0" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg"><defs><font horiz-adv-x="1024"><font-face ascent="960" descent="-64" units-per-em="1024"/><missing-glyph horiz-adv-x="1024"/><glyph d="" horiz-adv-x="512" unicode="&#x20;"/><glyph d="M34.133 960v0c20.48 0 34.133-13.653 34.133-34.133v-955.733c0-20.48-13.653-34.133-34.133-34.133v0c-20.48 0-34.133 13.653-34.133 34.133v955.733c0 20.48 13.653 34.133 34.133 34.133zM1024-29.867v0c0-20.48-13.653-34.133-34.133-34.133h-955.733c-20.48 0-34.133 13.653-34.133 34.133v0c0 20.48 13.653 34.133 34.133 34.133h955.733c20.48 0 34.133-13.653 34.133-34.133zM839.68 202.24c-13.653 0-20.48 6.827-27.307 13.653l-279.893 477.867h-273.067c-20.48 0-34.133 13.653-34.133 34.133s13.653 34.133 34.133 34.133h286.72c13.653 0 20.48-6.827 27.307-13.653l293.547-498.347c6.827-13.653 6.827-34.133-13.653-47.787 0 0-6.827 0-13.653 0zM887.467 407.04v0c20.48-6.827 27.307-20.48 27.307-40.96l-34.133-129.707c-6.827-20.48-20.48-27.307-40.96-27.307v0c-20.48 6.827-27.307 20.48-27.307 40.96l34.133 129.707c0 20.48 20.48 34.133 40.96 27.307zM662.187 270.507v0c0-20.48 6.827-34.133 27.307-40.96l136.533-20.48c20.48 0 34.133 6.827 40.96 27.307v0c0 20.48-6.827 34.133-27.307 40.96l-136.533 20.48c-20.48 0-34.133-6.827-40.96-27.307z" glyph-name="reduction" unicode="&#xe900;"/><glyph d="M34.133 960v0c20.48 0 34.133-13.653 34.133-34.133v-955.733c0-20.48-13.653-34.133-34.133-34.133v0c-20.48 0-34.133 13.653-34.133 34.133v955.733c0 20.48 13.653 34.133 34.133 34.133zM1024-29.867v0c0-20.48-13.653-34.133-34.133-34.133h-955.733c-20.48 0-34.133 13.653-34.133 34.133v0c0 20.48 13.653 34.133 34.133 34.133h955.733c20.48 0 34.133-13.653 34.133-34.133zM204.8 311.467c-6.827 0-13.653 0-20.48 6.827-13.653 13.653-20.48 34.133-6.827 47.787l225.28 273.067c6.827 6.827 20.48 13.653 27.307 13.653s20.48-6.827 27.307-13.653l204.8-238.933 197.973 238.933c13.653 13.653 34.133 13.653 47.787 6.827 13.653-13.653 13.653-34.133 6.827-47.787l-225.28-273.067c-6.827-6.827-13.653-13.653-27.307-13.653-6.827 0-20.48 6.827-27.307 13.653l-204.8 238.933-197.973-238.933c-6.827-6.827-20.48-13.653-27.307-13.653z" glyph-name="dimension" unicode="&#xe901;"/><glyph d="M859.087 483.656c-11.921 4.52-25.325 2.275-35.162-5.888s-14.614-21.005-12.53-33.687c3.17-19.03 4.776-39.808 4.776-60.289.28-99.752-38.983-195.47-109.037-265.816-69.71-70.718-164.555-110.329-263.379-109.996-98.83-.282-193.666 39.356-263.379 110.081-70.054 70.38-109.316 166.125-109.037 265.902 0 100.396 38.712 194.903 109.037 265.902 69.719 70.71 164.555 110.332 263.379 110.039 4.142 0 8.326-.085 12.467-.213l-81.017-81.708c-6.702-6.741-10.47-15.899-10.47-25.451s3.767-18.71 10.47-25.451c13.947-14.08 36.557-14.08 50.419 0l134.521 135.809c6.702 6.741 10.47 15.899 10.47 25.451s-3.767 18.71-10.47 25.451l-134.563 135.639c-6.677 6.767-15.749 10.57-25.209 10.57s-18.532-3.804-25.209-10.57c-6.702-6.741-10.47-15.899-10.47-25.451s3.767-18.71 10.47-25.451l66.056-66.518c-116.785-.569-228.611-47.731-311.093-131.201-83.413-83.924-130.245-197.956-130.126-316.846-.16-118.839 46.611-232.841 129.957-316.761 83.145-84.139 196.075-131.356 313.798-131.202 59.928 0 117.954 11.819 172.726 35.201 52.73 22.409 100.632 54.973 141.029 95.873 40.497 40.79 72.788 89.111 95.09 142.295 23.202 55.211 34.866 113.921 34.866 174.423 0 24.662-1.986 48.982-5.747 72.107-2.084 12.64-10.711 23.237-22.632 27.756z" glyph-name="revert" horiz-adv-x="887" unicode="&#xe902;"/><glyph d="M987.004 9.948h-950.089c-20.388 0-36.915-16.54-36.915-36.992 0-20.419 16.558-36.956 36.915-36.956h950.16c20.399 0 36.924 16.537 36.924 36.956 0 20.452-16.525 36.992-36.924 36.992h-.072zM511.231 77.702c10.54 0 20.026 4.306 26.85 11.32l385.738 386.248c6.898 6.864 11.244 16.364 11.268 26.841 0 20.927-17.071 37.877-37.856 37.877-10.513.03-19.961-4.276-26.784-11.143l-321.387-321.794v714.965c0 21.005-16.931 37.984-37.787 37.984-20.913 0-37.838-16.977-37.838-37.91l.036-715.001-321.351 321.794c-6.827 6.864-16.343 11.131-26.781 11.102-20.904.03-37.829-16.947-37.903-37.802 0-10.519 4.301-20.09 11.2-26.883l385.672-386.314c6.892-6.942 16.379-11.284 26.925-11.284z" glyph-name="download" unicode="&#xe903;"/><glyph d="M320 704h384v-64h-384v64zM256 192h512v-64h-512v64zM256 768h64v-192h-64v192zM704 768h64v-192h-64v192zM480 672h64v-384h-64v384zM960-64h-896c-38.4 0-64 25.6-64 64v896c0 38.4 25.6 64 64 64h896c38.4 0 64-25.6 64-64v-896c0-38.4-25.6-64-64-64zM64 896v-896h896v896h-896zM64 928v-32c0 0 0 0 0 0v32z" glyph-name="text" unicode="&#xe904;"/><glyph d="M276.105 608.971c-10.665 0-20.892-4.496-28.433-12.498s-11.777-18.855-11.777-30.172v-337.314c0-23.584 18.017-42.703 40.242-42.703s40.242 19.119 40.242 42.703v337.247c.017 11.34-4.221 22.22-11.777 30.238s-17.81 12.515-28.496 12.498zM512 960c-10.665 0-20.892-4.496-28.433-12.498s-11.777-18.855-11.777-30.172v-938.661c0-23.566 18.003-42.669 40.211-42.669s40.211 19.104 40.211 42.669v938.661c0 11.317-4.236 22.17-11.777 30.172s-17.769 12.498-28.433 12.498zM983.789 518.994c-10.686.018-20.939-4.479-28.496-12.498s-11.794-18.899-11.777-30.238v-184.724c0-23.584 18.017-42.703 40.242-42.703s40.242 19.119 40.242 42.703v184.79c.017 11.328-4.213 22.198-11.755 30.215s-17.78 12.521-28.455 12.521v-.066zM40.211 518.994c-10.675 0-20.913-4.505-28.455-12.521s-11.772-18.887-11.755-30.215v-184.724c0-23.584 18.017-42.703 40.242-42.703s40.242 19.119 40.242 42.703v184.79c.017 11.34-4.221 22.22-11.777 30.238s-17.81 12.515-28.496 12.498v-.066zM747.895 790.184c-10.686.018-20.939-4.479-28.496-12.498s-11.794-18.899-11.777-30.238v-643.619c0-23.602 18.031-42.736 40.273-42.736s40.273 19.133 40.273 42.736v643.619c.017 11.34-4.221 22.22-11.777 30.238s-17.81 12.515-28.496 12.498z" glyph-name="audio" unicode="&#xe905;"/><glyph d="M928-64h-832c-51.2 0-96 44.8-96 96v832c0 51.2 44.8 96 96 96h832c51.2 0 96-44.8 96-96v-832c0-51.2-44.8-96-96-96zM96 896c-19.2 0-32-12.8-32-32v-832c0-19.2 12.8-32 32-32h832c19.2 0 32 12.8 32 32v832c0 19.2-12.8 32-32 32h-832zM192 288c-6.4 0-12.8 0-19.2 6.4-12.8 12.8-12.8 32-6.4 44.8l211.2 256c6.4 6.4 19.2 12.8 25.6 12.8s19.2-6.4 25.6-12.8l192-224 185.6 224c12.8 12.8 32 12.8 44.8 6.4 12.8-12.8 12.8-32 6.4-44.8l-211.2-256c-6.4-6.4-12.8-12.8-25.6-12.8-6.4 0-19.2 6.4-25.6 12.8l-192 224-185.6-224c-6.4-6.4-19.2-12.8-25.6-12.8z" glyph-name="scalar" unicode="&#xe906;"/><glyph d="M25.6 57.6h966.4c12.8 0 25.6-12.8 25.6-32s-12.8-32-25.6-32h-966.4c-12.8 0-25.6 12.8-25.6 32s12.8 32 25.6 32zM160 198.4c-51.2 0-96 44.8-96 96v211.2c0 51.2 44.8 96 96 96s96-44.8 96-96v-211.2c0-57.6-44.8-96-96-96zM160 537.6c-19.2 0-32-19.2-32-32v-211.2c0-19.2 12.8-32 32-32s32 12.8 32 32v211.2c0 12.8-12.8 32-32 32zM864 198.4c-51.2 0-96 44.8-96 96v409.6c0 51.2 44.8 96 96 96s96-44.8 96-96v-409.6c0-57.6-44.8-96-96-96zM864 736c-19.2 0-32-12.8-32-32v-409.6c0-19.2 12.8-32 32-32s32 12.8 32 32v409.6c0 19.2-12.8 32-32 32zM512 198.4c-51.2 0-96 44.8-96 96v544c0 51.2 44.8 96 96 96s96-44.8 96-96v-544c0-57.6-44.8-96-96-96zM512 870.4c-19.2 0-32-12.8-32-32v-544c0-19.2 12.8-32 32-32s32 12.8 32 32v544c0 19.2-12.8 32-32 32z" glyph-name="histogram" unicode="&#xe907;"/><glyph d="M969.387-57.173l-177.493 177.493c-88.747-75.093-197.973-116.053-314.027-116.053-266.24 0-477.867 211.627-477.867 477.867s211.627 477.867 477.867 477.867c266.24 0 477.867-211.627 477.867-477.867 0-116.053-40.96-225.28-116.053-314.027l177.493-177.493-47.787-47.787zM477.867 891.733c-225.28 0-409.6-184.32-409.6-409.6s184.32-409.6 409.6-409.6c95.573 0 191.147 34.133 266.24 102.4l40.96 40.96c68.267 75.093 102.4 170.667 102.4 266.24 0 225.28-184.32 409.6-409.6 409.6z" glyph-name="search" unicode="&#xe908;"/><glyph d="M989.867-64h-887.467c-54.613 0-102.4 47.787-102.4 102.4v819.2c0 54.613 47.787 102.4 102.4 102.4h887.467c54.613 0 102.4-47.787 102.4-102.4v-819.2c0-54.613-47.787-102.4-102.4-102.4zM102.4 891.733c-20.48 0-34.133-13.653-34.133-34.133v-819.2c0-20.48 13.653-34.133 34.133-34.133h887.467c20.48 0 34.133 13.653 34.133 34.133v819.2c0 20.48-13.653 34.133-34.133 34.133h-887.467zM785.067 516.267c-75.093 0-136.533 61.44-136.533 136.533s61.44 136.533 136.533 136.533 136.533-61.44 136.533-136.533-61.44-136.533-136.533-136.533zM785.067 721.067c-40.96 0-68.267-27.307-68.267-68.267s27.307-68.267 68.267-68.267 68.267 27.307 68.267 68.267-27.307 68.267-68.267 68.267zM1003.52-43.52l-273.067 341.333-191.147-197.973-204.8 314.027-238.933-436.907-61.44 34.133 293.547 532.48 225.28-334.507 177.493 197.973 327.68-409.6z" glyph-name="image" horiz-adv-x="1092" unicode="&#xe909;"/><glyph d="M512.001 294.4l-438.858 460.8-73.143-76.8 512-537.6 512 537.6-73.143 76.8z" glyph-name="chevron-down" unicode="&#xe90a;"/><glyph d="M571.176-25.367l-475.176 475.176 118.794 118.794 356.337-356.337 712.809 712.718 118.794-118.794z" glyph-name="check-mark" horiz-adv-x="1408" unicode="&#xe90b;"/><glyph d="M1024 557.714v256l-83.383-83.383c-93.009 139.122-249.456 229.504-427.013 229.504-282.77 0-512-229.23-512-512s229.23-512 512-512c213.496 0 396.471 130.672 473.31 316.401l1.246 3.399c2.014 4.857 3.184 10.498 3.184 16.412 0 18.265-11.159 33.925-27.031 40.532l-.29.107c-4.857 2.014-10.498 3.184-16.412 3.184-18.265 0-33.925-11.159-40.532-27.031l-.107-.29c-64.968-156.628-216.662-264.786-393.618-264.786-234.699 0-424.96 190.261-424.96 424.96s190.261 424.96 424.96 424.96c153.926 0 288.737-81.837 363.298-204.375l1.062-1.88-109.714-108.983z" glyph-name="refresh" unicode="&#xe90c;"/><glyph d="M953.6 960h-883.2c-38.881 0-70.4-31.519-70.4-70.4v0-883.2c0-38.881 31.519-70.4 70.4-70.4h883.2c38.881 0 70.4 31.519 70.4 70.4v0 883.2c0 38.881-31.519 70.4-70.4 70.4v0zM70.4 6.4v883.2h883.2v-883.2zM344.96 832c-21.991-.36-39.68-18.272-39.68-40.315 0-.002 0-.004 0-.005v0-134.4h-138.24c-21.713-.708-39.045-18.48-39.045-40.3 0-.232.002-.464.006-.695v.035c-.003-.192-.005-.418-.005-.645 0-21.691 17.405-39.318 39.012-39.674h177.954c21.64.357 39.045 17.983 39.045 39.675 0 .227-.002.453-.006.679v-.034 175.36c.003.192.005.418.005.645 0 21.691-17.405 39.318-39.012 39.674h-.034zM856.96 657.28h-138.24v134.4c0 .002 0 .003 0 .005 0 22.043-17.689 39.955-39.646 40.314h-.034c-21.64-.357-39.045-17.983-39.045-39.675 0-.227.002-.453.006-.679v.034-175.36c-.003-.192-.005-.418-.005-.645 0-21.691 17.405-39.318 39.012-39.674h177.954c21.64.357 39.045 17.983 39.045 39.675 0 .227-.002.453-.006.679v-.034c.003.196.005.428.005.66 0 21.82-17.333 39.592-38.981 40.298l-.065.002zM344.96 320h-177.92c-21.64-.357-39.045-17.983-39.045-39.675 0-.227.002-.453.006-.679v.034c-.003-.196-.005-.428-.005-.66 0-21.82 17.333-39.592 38.981-40.298l.065-.002h138.24v-134.4c0-.002 0-.003 0-.005 0-22.043 17.689-39.955 39.646-40.314h.034c21.64.357 39.045 17.983 39.045 39.675 0 .227-.002.453-.006.679v-.034 175.36c.003.192.005.418.005.645 0 21.691-17.405 39.318-39.012 39.674h-.034zM856.96 320h-177.92c-21.64-.357-39.045-17.983-39.045-39.675 0-.227.002-.453.006-.679v.034-175.36c-.003-.192-.005-.418-.005-.645 0-21.691 17.405-39.318 39.012-39.674h.034c21.991.36 39.68 18.272 39.68 40.315 0 .002 0 .004 0 .005v0 134.4h138.24c21.713.708 39.045 18.48 39.045 40.3 0 .232-.002.464-.006.695v-.035c.003.192.005.418.005.645 0 21.691-17.405 39.318-39.012 39.674h-.034z" glyph-name="restore-size" unicode="&#xe90d;"/><glyph d="M613.626-63.326c-21.18 0-38.349 17.169-38.349 38.349s17.169 38.349 38.349 38.349h327.888l6.392 332.362c1.257 20.436 17.343 36.743 37.567 38.34l.143.009c20.367-1.607 36.453-17.913 37.704-38.234l.006-.116v-357.928c.011-.382.017-.832.017-1.282 0-27.534-22.321-49.854-49.854-49.854-.231 0-.46.002-.69.005h.035zM.674 550.265v357.928c-.003.192-.004.417-.004.643 0 27.887 22.606 50.493 50.493 50.493.226 0 .452-.001.677-.004h357.894c20.517-1.572 36.778-17.832 38.34-38.209l.009-.141c-1.572-20.517-17.832-36.778-38.209-38.34l-.141-.009h-332.362v-332.362c-1.572-20.517-17.832-36.778-38.209-38.34l-.141-.009c-20.517 1.572-36.778 17.832-38.34 38.209l-.009.141zM347.737 334.869c.192.003.417.004.643.004 27.887 0 50.493-22.606 50.493-50.493 0-.226-.001-.452-.004-.677v.034-294.012c0-21.18-17.169-38.349-38.349-38.349s-38.349 17.169-38.349 38.349v0 217.314l-262.055-262.055c-6.659-5.722-15.387-9.207-24.927-9.207s-18.268 3.484-24.978 9.249l.051-.043c-5.446 6.652-8.746 15.245-8.746 24.608s3.301 17.955 8.801 24.676l-.055-.069 262.055 262.055h-218.592c-21.18 0-38.349 17.169-38.349 38.349s17.169 38.349 38.349 38.349v0zM703.747 908.832v-217.314l262.055 262.055c6.139 3.688 13.547 5.869 21.465 5.869 10.95 0 20.924-4.172 28.423-11.012l-.033.03c5.587-6.022 9.014-14.115 9.014-23.01s-3.427-16.988-9.034-23.032l.02.022-262.694-262.694h217.314c21.18 0 38.349-17.169 38.349-38.349s-17.169-38.349-38.349-38.349h-294.012c-.192-.003-.417-.004-.643-.004-27.887 0-50.493 22.606-50.493 50.493 0 .226.001.452.004.677v-.034 294.652c0 21.18 17.169 38.349 38.349 38.349s38.349-17.169 38.349-38.349v0z" glyph-name="minimize" unicode="&#xe90e;"/><glyph d="M1035.529 818.081h-705.846c-10.125 80.716-78.329 142.535-160.97 142.535-89.56 0-162.163-72.603-162.163-162.163s72.603-162.163 162.163-162.163c67.527 0 125.414 41.274 149.809 99.972l.396 1.074h716.612c22.297 0 40.372 18.075 40.372 40.372s-18.075 40.372-40.372 40.372v0zM166.173 717.151c-43.717 1.128-78.726 36.836-78.726 80.72 0 44.594 36.15 80.745 80.745 80.745 44.585 0 80.731-36.136 80.745-80.718v-.002c-.755-44.756-37.214-80.748-82.079-80.748-.241 0-.48.001-.72.003h.037zM240.19 286.51c-22.297 0-40.372-18.075-40.372-40.372s18.075-40.372 40.372-40.372h596.167c22.297 0 40.372 18.075 40.372 40.372s-18.075 40.372-40.372 40.372v0zM173.575 555.659c-22.297 0-40.372-18.075-40.372-40.372s18.075-40.372 40.372-40.372h730.069c22.297 0 40.372 18.075 40.372 40.372s-18.075 40.372-40.372 40.372v0zM373.42 17.36c-22.297 0-40.372-18.075-40.372-40.372s18.075-40.372 40.372-40.372h330.382c22.297 0 40.372 18.075 40.372 40.372s-18.075 40.372-40.372 40.372v0z" glyph-name="log-axis" horiz-adv-x="1077" unicode="&#xe90f;"/><glyph d="M613.569-63.037c-21.168 0-38.328 17.16-38.328 38.328s17.16 38.328 38.328 38.328h327.703l6.387 332.174c1.257 20.425 17.334 36.722 37.546 38.318l.143.01c20.355-1.606 36.432-17.903 37.683-38.211l.006-.115v-356.448c.01-.381.016-.83.016-1.281 0-27.518-22.308-49.826-49.826-49.826-.23 0-.461.002-.691.005h.034zM.963 550.207v357.726c-.003.191-.005.417-.005.642 0 27.871 22.594 50.465 50.465 50.465.225 0 .453-.002.676-.005h357.692c21.168 0 38.328-17.16 38.328-38.328s-17.16-38.328-38.328-38.328h-332.174v-332.174c0-21.168-17.16-38.328-38.328-38.328s-38.328 17.16-38.328 38.328v0zM52.067-63.037c-.191-.003-.417-.005-.642-.005-27.871 0-50.465 22.594-50.465 50.465 0 .225.002.453.005.676v-.034 293.846c0 21.168 17.16 38.328 38.328 38.328s38.328-17.16 38.328-38.328v-217.191l261.907 261.907c6.559 5.674 15.173 9.13 24.594 9.13s18.034-3.456 24.642-9.17l-.047.041c5.555-6.606 8.93-15.206 8.93-24.594s-3.375-17.987-8.979-24.652l.049.058-261.907-261.907h217.191c21.168 0 38.328-17.16 38.328-38.328s-17.16-38.328-38.328-38.328v0zM946.381 614.087v217.191l-261.907-261.907c-6.043-3.546-13.31-5.64-21.064-5.64-10.825 0-20.696 4.079-28.162 10.784l.039-.034c-5.583 6.019-9.008 14.108-9.008 22.996s3.426 16.977 9.029 23.019l-.019-.021 261.907 261.907h-217.191c-21.168 0-38.328 17.16-38.328 38.328s17.16 38.328 38.328 38.328h293.846c.191.003.417.005.642.005 27.871 0 50.465-22.594 50.465-50.465 0-.225-.002-.453-.005-.676v.034-293.846c0-21.168-17.16-38.328-38.328-38.328s-38.328 17.16-38.328 38.328v0z" glyph-name="maximize" unicode="&#xe910;"/></font></defs></svg>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > \ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="vdl-icon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe900;" glyph-name="reduction" d="M34.133 960v0c20.48 0 34.133-13.653 34.133-34.133v-955.733c0-20.48-13.653-34.133-34.133-34.133v0c-20.48 0-34.133 13.653-34.133 34.133v955.733c0 20.48 13.653 34.133 34.133 34.133zM1024-29.867v0c0-20.48-13.653-34.133-34.133-34.133h-955.733c-20.48 0-34.133 13.653-34.133 34.133v0c0 20.48 13.653 34.133 34.133 34.133h955.733c20.48 0 34.133-13.653 34.133-34.133zM839.68 202.24c-13.653 0-20.48 6.827-27.307 13.653l-279.893 477.867h-273.067c-20.48 0-34.133 13.653-34.133 34.133s13.653 34.133 34.133 34.133h286.72c13.653 0 20.48-6.827 27.307-13.653l293.547-498.347c6.827-13.653 6.827-34.133-13.653-47.787 0 0-6.827 0-13.653 0zM887.467 407.040v0c20.48-6.827 27.307-20.48 27.307-40.96l-34.133-129.707c-6.827-20.48-20.48-27.307-40.96-27.307v0c-20.48 6.827-27.307 20.48-27.307 40.96l34.133 129.707c0 20.48 20.48 34.133 40.96 27.307zM662.187 270.507v0c0-20.48 6.827-34.133 27.307-40.96l136.533-20.48c20.48 0 34.133 6.827 40.96 27.307v0c0 20.48-6.827 34.133-27.307 40.96l-136.533 20.48c-20.48 0-34.133-6.827-40.96-27.307z" />
<glyph unicode="&#xe901;" glyph-name="dimension" d="M34.133 960v0c20.48 0 34.133-13.653 34.133-34.133v-955.733c0-20.48-13.653-34.133-34.133-34.133v0c-20.48 0-34.133 13.653-34.133 34.133v955.733c0 20.48 13.653 34.133 34.133 34.133zM1024-29.867v0c0-20.48-13.653-34.133-34.133-34.133h-955.733c-20.48 0-34.133 13.653-34.133 34.133v0c0 20.48 13.653 34.133 34.133 34.133h955.733c20.48 0 34.133-13.653 34.133-34.133zM204.8 311.467c-6.827 0-13.653 0-20.48 6.827-13.653 13.653-20.48 34.133-6.827 47.787l225.28 273.067c6.827 6.827 20.48 13.653 27.307 13.653s20.48-6.827 27.307-13.653l204.8-238.933 197.973 238.933c13.653 13.653 34.133 13.653 47.787 6.827 13.653-13.653 13.653-34.133 6.827-47.787l-225.28-273.067c-6.827-6.827-13.653-13.653-27.307-13.653-6.827 0-20.48 6.827-27.307 13.653l-204.8 238.933-197.973-238.933c-6.827-6.827-20.48-13.653-27.307-13.653z" />
<glyph unicode="&#xe902;" glyph-name="revert" horiz-adv-x="887" d="M859.087 483.656c-11.921 4.52-25.325 2.275-35.162-5.888s-14.614-21.005-12.53-33.687c3.17-19.030 4.776-39.808 4.776-60.289 0.28-99.752-38.983-195.47-109.037-265.816-69.71-70.718-164.555-110.329-263.379-109.996-98.83-0.282-193.666 39.356-263.379 110.081-70.054 70.38-109.316 166.125-109.037 265.902 0 100.396 38.712 194.903 109.037 265.902 69.719 70.71 164.555 110.332 263.379 110.039 4.142 0 8.326-0.085 12.467-0.213l-81.017-81.708c-6.702-6.741-10.47-15.899-10.47-25.451s3.767-18.71 10.47-25.451c13.947-14.080 36.557-14.080 50.419 0l134.521 135.809c6.702 6.741 10.47 15.899 10.47 25.451s-3.767 18.71-10.47 25.451l-134.563 135.639c-6.677 6.767-15.749 10.57-25.209 10.57s-18.532-3.804-25.209-10.57c-6.702-6.741-10.47-15.899-10.47-25.451s3.767-18.71 10.47-25.451l66.056-66.518c-116.785-0.569-228.611-47.731-311.093-131.201-83.413-83.924-130.245-197.956-130.126-316.846-0.16-118.839 46.611-232.841 129.957-316.761 83.145-84.139 196.075-131.356 313.798-131.202 59.928 0 117.954 11.819 172.726 35.201 52.73 22.409 100.632 54.973 141.029 95.873 40.497 40.79 72.788 89.111 95.090 142.295 23.202 55.211 34.866 113.921 34.866 174.423 0 24.662-1.986 48.982-5.747 72.107-2.084 12.64-10.711 23.237-22.632 27.756z" />
<glyph unicode="&#xe903;" glyph-name="download" d="M987.004 9.948h-950.089c-20.388 0-36.915-16.54-36.915-36.992 0-20.419 16.558-36.956 36.915-36.956h950.16c20.399 0 36.924 16.537 36.924 36.956 0 20.452-16.525 36.992-36.924 36.992h-0.072zM511.231 77.702c10.54 0 20.026 4.306 26.85 11.32l385.738 386.248c6.898 6.864 11.244 16.364 11.268 26.841 0 20.927-17.071 37.877-37.856 37.877-10.513 0.030-19.961-4.276-26.784-11.143l-321.387-321.794v714.965c0 21.005-16.931 37.984-37.787 37.984-20.913 0-37.838-16.977-37.838-37.91l0.036-715.001-321.351 321.794c-6.827 6.864-16.343 11.131-26.781 11.102-20.904 0.030-37.829-16.947-37.903-37.802 0-10.519 4.301-20.090 11.2-26.883l385.672-386.314c6.892-6.942 16.379-11.284 26.925-11.284z" />
<glyph unicode="&#xe904;" glyph-name="text" d="M320 704h384v-64h-384v64zM256 192h512v-64h-512v64zM256 768h64v-192h-64v192zM704 768h64v-192h-64v192zM480 672h64v-384h-64v384zM960-64h-896c-38.4 0-64 25.6-64 64v896c0 38.4 25.6 64 64 64h896c38.4 0 64-25.6 64-64v-896c0-38.4-25.6-64-64-64zM64 896v-896h896v896h-896zM64 928v-32c0 0 0 0 0 0v32z" />
<glyph unicode="&#xe905;" glyph-name="audio" d="M276.105 608.971c-10.665 0-20.892-4.496-28.433-12.498s-11.777-18.855-11.777-30.172v-337.314c0-23.584 18.017-42.703 40.242-42.703s40.242 19.119 40.242 42.703v337.247c0.017 11.34-4.221 22.22-11.777 30.238s-17.81 12.515-28.496 12.498zM512 960c-10.665 0-20.892-4.496-28.433-12.498s-11.777-18.855-11.777-30.172v-938.661c0-23.566 18.003-42.669 40.211-42.669s40.211 19.104 40.211 42.669v938.661c0 11.317-4.236 22.17-11.777 30.172s-17.769 12.498-28.433 12.498zM983.789 518.994c-10.686 0.018-20.939-4.479-28.496-12.498s-11.794-18.899-11.777-30.238v-184.724c0-23.584 18.017-42.703 40.242-42.703s40.242 19.119 40.242 42.703v184.79c0.017 11.328-4.213 22.198-11.755 30.215s-17.78 12.521-28.455 12.521v-0.066zM40.211 518.994c-10.675 0-20.913-4.505-28.455-12.521s-11.772-18.887-11.755-30.215v-184.724c0-23.584 18.017-42.703 40.242-42.703s40.242 19.119 40.242 42.703v184.79c0.017 11.34-4.221 22.22-11.777 30.238s-17.81 12.515-28.496 12.498v-0.066zM747.895 790.184c-10.686 0.018-20.939-4.479-28.496-12.498s-11.794-18.899-11.777-30.238v-643.619c0-23.602 18.031-42.736 40.273-42.736s40.273 19.133 40.273 42.736v643.619c0.017 11.34-4.221 22.22-11.777 30.238s-17.81 12.515-28.496 12.498z" />
<glyph unicode="&#xe906;" glyph-name="scalar" d="M928-64h-832c-51.2 0-96 44.8-96 96v832c0 51.2 44.8 96 96 96h832c51.2 0 96-44.8 96-96v-832c0-51.2-44.8-96-96-96zM96 896c-19.2 0-32-12.8-32-32v-832c0-19.2 12.8-32 32-32h832c19.2 0 32 12.8 32 32v832c0 19.2-12.8 32-32 32h-832zM192 288c-6.4 0-12.8 0-19.2 6.4-12.8 12.8-12.8 32-6.4 44.8l211.2 256c6.4 6.4 19.2 12.8 25.6 12.8s19.2-6.4 25.6-12.8l192-224 185.6 224c12.8 12.8 32 12.8 44.8 6.4 12.8-12.8 12.8-32 6.4-44.8l-211.2-256c-6.4-6.4-12.8-12.8-25.6-12.8-6.4 0-19.2 6.4-25.6 12.8l-192 224-185.6-224c-6.4-6.4-19.2-12.8-25.6-12.8z" />
<glyph unicode="&#xe907;" glyph-name="histogram" d="M25.6 57.6h966.4c12.8 0 25.6-12.8 25.6-32s-12.8-32-25.6-32h-966.4c-12.8 0-25.6 12.8-25.6 32s12.8 32 25.6 32zM160 198.4c-51.2 0-96 44.8-96 96v211.2c0 51.2 44.8 96 96 96s96-44.8 96-96v-211.2c0-57.6-44.8-96-96-96zM160 537.6c-19.2 0-32-19.2-32-32v-211.2c0-19.2 12.8-32 32-32s32 12.8 32 32v211.2c0 12.8-12.8 32-32 32zM864 198.4c-51.2 0-96 44.8-96 96v409.6c0 51.2 44.8 96 96 96s96-44.8 96-96v-409.6c0-57.6-44.8-96-96-96zM864 736c-19.2 0-32-12.8-32-32v-409.6c0-19.2 12.8-32 32-32s32 12.8 32 32v409.6c0 19.2-12.8 32-32 32zM512 198.4c-51.2 0-96 44.8-96 96v544c0 51.2 44.8 96 96 96s96-44.8 96-96v-544c0-57.6-44.8-96-96-96zM512 870.4c-19.2 0-32-12.8-32-32v-544c0-19.2 12.8-32 32-32s32 12.8 32 32v544c0 19.2-12.8 32-32 32z" />
<glyph unicode="&#xe908;" glyph-name="search" d="M969.387-57.173l-177.493 177.493c-88.747-75.093-197.973-116.053-314.027-116.053-266.24 0-477.867 211.627-477.867 477.867s211.627 477.867 477.867 477.867c266.24 0 477.867-211.627 477.867-477.867 0-116.053-40.96-225.28-116.053-314.027l177.493-177.493-47.787-47.787zM477.867 891.733c-225.28 0-409.6-184.32-409.6-409.6s184.32-409.6 409.6-409.6c95.573 0 191.147 34.133 266.24 102.4l40.96 40.96c68.267 75.093 102.4 170.667 102.4 266.24 0 225.28-184.32 409.6-409.6 409.6z" />
<glyph unicode="&#xe909;" glyph-name="image" horiz-adv-x="1092" d="M989.867-64h-887.467c-54.613 0-102.4 47.787-102.4 102.4v819.2c0 54.613 47.787 102.4 102.4 102.4h887.467c54.613 0 102.4-47.787 102.4-102.4v-819.2c0-54.613-47.787-102.4-102.4-102.4zM102.4 891.733c-20.48 0-34.133-13.653-34.133-34.133v-819.2c0-20.48 13.653-34.133 34.133-34.133h887.467c20.48 0 34.133 13.653 34.133 34.133v819.2c0 20.48-13.653 34.133-34.133 34.133h-887.467zM785.067 516.267c-75.093 0-136.533 61.44-136.533 136.533s61.44 136.533 136.533 136.533 136.533-61.44 136.533-136.533-61.44-136.533-136.533-136.533zM785.067 721.067c-40.96 0-68.267-27.307-68.267-68.267s27.307-68.267 68.267-68.267 68.267 27.307 68.267 68.267-27.307 68.267-68.267 68.267zM1003.52-43.52l-273.067 341.333-191.147-197.973-204.8 314.027-238.933-436.907-61.44 34.133 293.547 532.48 225.28-334.507 177.493 197.973 327.68-409.6z" />
<glyph unicode="&#xe90a;" glyph-name="chevron-down" d="M512.001 294.4l-438.858 460.8-73.143-76.8 512-537.6 512 537.6-73.143 76.8z" />
<glyph unicode="&#xe90b;" glyph-name="check-mark" horiz-adv-x="1408" d="M571.176-25.367l-475.176 475.176 118.794 118.794 356.337-356.337 712.809 712.718 118.794-118.794z" />
</font></defs></svg>
...@@ -13,6 +13,21 @@ ...@@ -13,6 +13,21 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-refresh:before {
content: '\e90c';
}
.icon-restore-size:before {
content: '\e90d';
}
.icon-minimize:before {
content: '\e90e';
}
.icon-log-axis:before {
content: '\e90f';
}
.icon-maximize:before {
content: '\e910';
}
.icon-chevron-down:before { .icon-chevron-down:before {
content: '\e90a'; content: '\e90a';
} }
......
import * as chart from '~/utils/chart'; import * as chart from '~/utils/chart';
import {ChartDataParams, RangeParams, TooltipData, TransformParams, xAxisMap} from './types'; import {ChartDataParams, Dataset, RangeParams, TooltipData, TransformParams} from './types';
import {formatTime, quantile} from '~/utils'; import {formatTime, quantile} from '~/utils';
import BigNumber from 'bignumber.js'; import BigNumber from 'bignumber.js';
import {I18n} from '@visualdl/i18n'; import {I18n} from '@visualdl/i18n';
import {Run} from '~/types';
import cloneDeep from 'lodash/cloneDeep'; import cloneDeep from 'lodash/cloneDeep';
import compact from 'lodash/compact'; import compact from 'lodash/compact';
import maxBy from 'lodash/maxBy'; import maxBy from 'lodash/maxBy';
...@@ -15,6 +16,12 @@ BigNumber.config({EXPONENTIAL_AT: [-6, 7]}); ...@@ -15,6 +16,12 @@ BigNumber.config({EXPONENTIAL_AT: [-6, 7]});
export * from './types'; export * from './types';
export const xAxisMap = {
step: 1,
relative: 4,
wall: 0
};
export const sortingMethodMap = { export const sortingMethodMap = {
default: null, default: null,
descending: (points: TooltipData[]) => sortBy(points, point => point.item[3]).reverse(), descending: (points: TooltipData[]) => sortBy(points, point => point.item[3]).reverse(),
...@@ -38,7 +45,7 @@ export const transform = ({datasets, smoothing}: TransformParams) => ...@@ -38,7 +45,7 @@ export const transform = ({datasets, smoothing}: TransformParams) =>
if (i === 0) { if (i === 0) {
startValue = millisecond; startValue = millisecond;
} }
// Relative time, millisecond to hours. // relative time, millisecond to hours.
d[4] = Math.floor(millisecond - startValue) / (60 * 60 * 1000); d[4] = Math.floor(millisecond - startValue) / (60 * 60 * 1000);
if (!nextVal.isFinite()) { if (!nextVal.isFinite()) {
d[3] = nextVal.toNumber(); d[3] = nextVal.toNumber();
...@@ -67,9 +74,9 @@ export const chartData = ({data, runs, smooth, xAxis}: ChartDataParams) => ...@@ -67,9 +74,9 @@ export const chartData = ({data, runs, smooth, xAxis}: ChartDataParams) =>
// [2] orginal value // [2] orginal value
// [3] smoothed value // [3] smoothed value
// [4] relative // [4] relative
const name = runs[i]; const name = runs[i].label;
const color = chart.color[i % chart.color.length]; const color = runs[i].colors[0];
const colorAlt = chart.colorAlt[i % chart.colorAlt.length]; const colorAlt = runs[i].colors[1];
return [ return [
{ {
name, name,
...@@ -140,52 +147,87 @@ export const range = ({datasets, outlier}: RangeParams) => { ...@@ -140,52 +147,87 @@ export const range = ({datasets, outlier}: RangeParams) => {
} }
}; };
export const nearestPoint = (data: Dataset[], runs: Run[], step: number) =>
data.map((series, index) => {
let nearestItem;
if (step === 0) {
nearestItem = series[0];
} else {
for (let i = 0; i < series.length; i++) {
const item = series[i];
if (item[1] === step) {
nearestItem = item;
break;
}
if (item[1] > step) {
nearestItem = series[i - 1 >= 0 ? i - 1 : 0];
break;
}
if (!nearestItem) {
nearestItem = series[series.length - 1];
}
}
}
return {
run: runs[index],
item: nearestItem || []
};
});
// TODO: make it better, don't concat html // TODO: make it better, don't concat html
export const tooltip = (data: TooltipData[], i18n: I18n) => { export const tooltip = (data: TooltipData[], i18n: I18n) => {
const indexPropMap = { const indexPropMap = {
Time: 0, time: 0,
Step: 1, step: 1,
Value: 2, value: 2,
Smoothed: 3, smoothed: 3,
Relative: 4 relative: 4
}; } as const;
const widthPropMap = { const widthPropMap = {
Run: 60, run: [60, 180] as [number, number],
Time: 120, time: 150,
Step: 40, step: 40,
Value: 60, value: 60,
Smoothed: 60, smoothed: 70,
Relative: 60 relative: 60
}; } as const;
const translatePropMap = { const translatePropMap = {
Run: 'common:runs', run: 'common:runs',
Time: 'scalars:x-axis-value.wall', time: 'scalars:x-axis-value.wall',
Step: 'scalars:x-axis-value.step', step: 'scalars:x-axis-value.step',
Value: 'scalars:value', value: 'scalars:value',
Smoothed: 'scalars:smoothed', smoothed: 'scalars:smoothed',
Relative: 'scalars:x-axis-value.relative' relative: 'scalars:x-axis-value.relative'
}; } as const;
const transformedData = data.map(item => { const transformedData = data.map(item => {
const data = item.item; const data = item.item;
return { return {
Run: item.run, run: item.run,
// use precision then toString to remove trailling 0 // use precision then toString to remove trailling 0
Smoothed: new BigNumber(data[indexPropMap.Smoothed] ?? Number.NaN).precision(5).toString(), smoothed: new BigNumber(data[indexPropMap.smoothed] ?? Number.NaN).precision(5).toString(),
Value: new BigNumber(data[indexPropMap.Smoothed] ?? Number.NaN).precision(5).toString(), value: new BigNumber(data[indexPropMap.smoothed] ?? Number.NaN).precision(5).toString(),
Step: data[indexPropMap.Step], step: data[indexPropMap.step],
Time: formatTime(data[indexPropMap.Time], i18n.language), time: formatTime(data[indexPropMap.time], i18n.language),
// Relative display value should take easy-read into consideration. // Relative display value should take easy-read into consideration.
// Better to tranform data to 'day:hour', 'hour:minutes', 'minute: seconds' and second only. // Better to tranform data to 'day:hour', 'hour:minutes', 'minute: seconds' and second only.
Relative: Math.floor(data[indexPropMap.Relative] * 60 * 60) + 's' relative: Math.floor(data[indexPropMap.relative] * 60 * 60) + 's'
}; } as const;
}); });
const renderContent = (content: string, width: number | [number, number]) =>
`<div style="overflow: hidden; ${
Array.isArray(width)
? `min-width:${(width as [number, number])[0]};max-width:${(width as [number, number])[1]};`
: `width:${width as number}px;`
}">${content}</div>`;
let headerHtml = '<tr style="font-size:14px;">'; let headerHtml = '<tr style="font-size:14px;">';
headerHtml += (Object.keys(transformedData[0]) as (keyof typeof transformedData[0])[]) headerHtml += (Object.keys(transformedData[0]) as (keyof typeof transformedData[0])[])
.map(key => { .map(key => {
return `<td style="padding: 0 4px; font-weight: bold; width: ${widthPropMap[key]}px;">${i18n.t( return `<th style="padding: 0 4px; font-weight: bold;" class="${key}">${renderContent(
translatePropMap[key] i18n.t(translatePropMap[key]),
)}</td>`; widthPropMap[key]
)}</th>`;
}) })
.join(''); .join('');
headerHtml += '</tr>'; headerHtml += '</tr>';
...@@ -194,8 +236,20 @@ export const tooltip = (data: TooltipData[], i18n: I18n) => { ...@@ -194,8 +236,20 @@ export const tooltip = (data: TooltipData[], i18n: I18n) => {
.map(item => { .map(item => {
let str = '<tr style="font-size:12px;">'; let str = '<tr style="font-size:12px;">';
str += Object.keys(item) str += Object.keys(item)
.map(val => { .map(key => {
return `<td style="padding: 0 4px; overflow: hidden;">${item[val as keyof typeof item]}</td>`; let content = '';
if (key === 'run') {
content += `<span class="run-indicator" style="background-color:${
item[key].colors?.[0] ?? 'transpanent'
}"></span>`;
content += `<span title="${item[key].label}">${item[key].label}</span>`;
} else {
content += item[key as keyof typeof item];
}
return `<td style="padding: 0 4px;" class="${key}">${renderContent(
content,
widthPropMap[key as keyof typeof item]
)}</td>`;
}) })
.join(''); .join('');
str += '</tr>'; str += '</tr>';
...@@ -203,6 +257,5 @@ export const tooltip = (data: TooltipData[], i18n: I18n) => { ...@@ -203,6 +257,5 @@ export const tooltip = (data: TooltipData[], i18n: I18n) => {
}) })
.join(''); .join('');
// eslint-disable-next-line return `<table style="text-align: left;table-layout: fixed;"><thead>${headerHtml}</thead><tbody>${content}</tbody><table>`;
return `<table style="text-align: left;table-layout: fixed;width: 500px;"><thead>${headerHtml}</thead><tbody>${content}</tbody><table>`;
}; };
import {Run} from '~/types';
import {xAxisMap} from './index';
export type Dataset = number[][]; export type Dataset = number[][];
export type Range = { export type Range = {
...@@ -5,14 +8,8 @@ export type Range = { ...@@ -5,14 +8,8 @@ export type Range = {
max: number; max: number;
}; };
export const xAxisMap = {
step: 1,
relative: 4,
wall: 0
};
export type TooltipData = { export type TooltipData = {
run: string; run: Run;
item: number[]; item: number[];
}; };
...@@ -23,7 +20,7 @@ export type TransformParams = { ...@@ -23,7 +20,7 @@ export type TransformParams = {
export type ChartDataParams = { export type ChartDataParams = {
data: Dataset[]; data: Dataset[];
runs: string[]; runs: Run[];
smooth: boolean; smooth: boolean;
xAxis: keyof typeof xAxisMap; xAxis: keyof typeof xAxisMap;
}; };
......
/**
* The **ResizeObserver** interface reports changes to the dimensions of an
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element)'s content
* or border box, or the bounding box of an
* [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement).
*
* > **Note**: The content box is the box in which content can be placed,
* > meaning the border box minus the padding and border width. The border box
* > encompasses the content, padding, and border. See
* > [The box model](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model)
* > for further explanation.
*
* `ResizeObserver` avoids infinite callback loops and cyclic dependencies that
* are often created when resizing via a callback function. It does this by only
* processing elements deeper in the DOM in subsequent frames. Implementations
* should, if they follow the specification, invoke resize events before paint
* and after layout.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver
*/
declare class ResizeObserver {
/**
* The **ResizeObserver** constructor creates a new `ResizeObserver` object,
* which can be used to report changes to the content or border box of an
* `Element` or the bounding box of an `SVGElement`.
*
* @example
* var ResizeObserver = new ResizeObserver(callback)
*
* @param callback
* The function called whenever an observed resize occurs. The function is
* called with two parameters:
* * **entries**
* An array of
* [ResizeObserverEntry](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry)
* objects that can be used to access the new dimensions of the element
* after each change.
* * **observer**
* A reference to the `ResizeObserver` itself, so it will definitely be
* accessible from inside the callback, should you need it. This could be
* used for example to automatically unobserve the observer when a certain
* condition is reached, but you can omit it if you don't need it.
*
* The callback will generally follow a pattern along the lines of:
* ```js
* function(entries, observer) {
* for (let entry of entries) {
* // Do something to each entry
* // and possibly something to the observer itself
* }
* }
* ```
*
* The following snippet is taken from the
* [resize-observer-text.html](https://mdn.github.io/dom-examples/resize-observer/resize-observer-text.html)
* ([see source](https://github.com/mdn/dom-examples/blob/master/resize-observer/resize-observer-text.html))
* example:
* @example
* const resizeObserver = new ResizeObserver(entries => {
* for (let entry of entries) {
* if(entry.contentBoxSize) {
* h1Elem.style.fontSize = Math.max(1.5, entry.contentBoxSize.inlineSize/200) + 'rem';
* pElem.style.fontSize = Math.max(1, entry.contentBoxSize.inlineSize/600) + 'rem';
* } else {
* h1Elem.style.fontSize = Math.max(1.5, entry.contentRect.width/200) + 'rem';
* pElem.style.fontSize = Math.max(1, entry.contentRect.width/600) + 'rem';
* }
* }
* });
*
* resizeObserver.observe(divElem);
*/
constructor(callback: ResizeObserverCallback);
/**
* The **disconnect()** method of the
* [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)
* interface unobserves all observed
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or
* [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement)
* targets.
*/
disconnect: () => void;
/**
* The `observe()` method of the
* [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)
* interface starts observing the specified
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or
* [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement).
*
* @example
* resizeObserver.observe(target, options);
*
* @param target
* A reference to an
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or
* [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement)
* to be observed.
*
* @param options
* An options object allowing you to set options for the observation.
* Currently this only has one possible option that can be set.
*/
observe: (target: Element, options?: ResizeObserverObserveOptions) => void;
/**
* The **unobserve()** method of the
* [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)
* interface ends the observing of a specified
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or
* [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement).
*/
unobserve: (target: Element) => void;
}
interface ResizeObserverObserveOptions {
/**
* Sets which box model the observer will observe changes to. Possible values
* are `content-box` (the default), and `border-box`.
*
* @default "content-box"
*/
box?: 'content-box' | 'border-box';
}
/**
* The function called whenever an observed resize occurs. The function is
* called with two parameters:
*
* @param entries
* An array of
* [ResizeObserverEntry](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry)
* objects that can be used to access the new dimensions of the element after
* each change.
*
* @param observer
* A reference to the `ResizeObserver` itself, so it will definitely be
* accessible from inside the callback, should you need it. This could be used
* for example to automatically unobserve the observer when a certain condition
* is reached, but you can omit it if you don't need it.
*
* The callback will generally follow a pattern along the lines of:
* @example
* function(entries, observer) {
* for (let entry of entries) {
* // Do something to each entry
* // and possibly something to the observer itself
* }
* }
*
* @example
* const resizeObserver = new ResizeObserver(entries => {
* for (let entry of entries) {
* if(entry.contentBoxSize) {
* h1Elem.style.fontSize = Math.max(1.5, entry.contentBoxSize.inlineSize/200) + 'rem';
* pElem.style.fontSize = Math.max(1, entry.contentBoxSize.inlineSize/600) + 'rem';
* } else {
* h1Elem.style.fontSize = Math.max(1.5, entry.contentRect.width/200) + 'rem';
* pElem.style.fontSize = Math.max(1, entry.contentRect.width/600) + 'rem';
* }
* }
* });
*
* resizeObserver.observe(divElem);
*/
type ResizeObserverCallback = (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;
/**
* The **ResizeObserverEntry** interface represents the object passed to the
* [ResizeObserver()](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver)
* constructor's callback function, which allows you to access the new
* dimensions of the
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or
* [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement)
* being observed.
*/
interface ResizeObserverEntry {
/**
* An object containing the new border box size of the observed element when
* the callback is run.
*/
readonly borderBoxSize: ResizeObserverEntryBoxSize;
/**
* An object containing the new content box size of the observed element when
* the callback is run.
*/
readonly contentBoxSize: ResizeObserverEntryBoxSize;
/**
* A [DOMRectReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly)
* object containing the new size of the observed element when the callback is
* run. Note that this is better supported than the above two properties, but
* it is left over from an earlier implementation of the Resize Observer API,
* is still included in the spec for web compat reasons, and may be deprecated
* in future versions.
*/
// node_modules/typescript/lib/lib.dom.d.ts
readonly contentRect: DOMRectReadOnly;
/**
* A reference to the
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or
* [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement)
* being observed.
*/
readonly target: Element;
}
/**
* The **borderBoxSize** read-only property of the
* [ResizeObserverEntry](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry)
* interface returns an object containing the new border box size of the
* observed element when the callback is run.
*/
interface ResizeObserverEntryBoxSize {
/**
* The length of the observed element's border box in the block dimension. For
* boxes with a horizontal
* [writing-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode),
* this is the vertical dimension, or height; if the writing-mode is vertical,
* this is the horizontal dimension, or width.
*/
blockSize: number;
/**
* The length of the observed element's border box in the inline dimension.
* For boxes with a horizontal
* [writing-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode),
* this is the horizontal dimension, or width; if the writing-mode is
* vertical, this is the vertical dimension, or height.
*/
inlineSize: number;
}
interface Window {
ResizeObserver: ResizeObserver;
}
export interface Run {
label: string;
colors: [string, string];
}
export interface Tag { export interface Tag {
runs: string[]; runs: Run[];
label: string; label: string;
} }
...@@ -50,7 +50,10 @@ export const title = { ...@@ -50,7 +50,10 @@ export const title = {
export const tooltip = { export const tooltip = {
trigger: 'axis', trigger: 'axis',
position: ['10%', '95%'], position: ['10%', '100%'],
backgroundColor: 'rgba(0, 0, 0, 0.75)',
hideDelay: 100,
enterable: false,
axisPointer: { axisPointer: {
type: 'cross', type: 'cross',
label: { label: {
...@@ -69,13 +72,13 @@ export const tooltip = { ...@@ -69,13 +72,13 @@ export const tooltip = {
export const toolbox = { export const toolbox = {
show: true, show: true,
orient: 'vertical',
showTitle: false, showTitle: false,
top: 50, itemSize: 0,
right: 8,
feature: { feature: {
saveAsImage: { saveAsImage: {
show: true show: true,
type: 'png',
pixelRatio: 2
}, },
dataZoom: { dataZoom: {
show: true show: true
...@@ -83,9 +86,6 @@ export const toolbox = { ...@@ -83,9 +86,6 @@ export const toolbox = {
restore: { restore: {
show: true show: true
} }
},
tooltip: {
show: true
} }
}; };
...@@ -103,8 +103,8 @@ export const legend = { ...@@ -103,8 +103,8 @@ export const legend = {
export const grid = { export const grid = {
left: 50, left: 50,
top: 60, top: 60,
right: 50, right: 30,
bottom: 50 bottom: 30
}; };
export const xAxis = { export const xAxis = {
......
import EventEmitter from 'eventemitter3';
export default new EventEmitter();
...@@ -12,9 +12,15 @@ export const fetcher = async <T = any>(url: string, options?: any): Promise<T> = ...@@ -12,9 +12,15 @@ export const fetcher = async <T = any>(url: string, options?: any): Promise<T> =
return response && 'data' in response ? response.data : response; return response && 'data' in response ? response.data : response;
}; };
export const blobFetcher = async (url: string, options?: any): Promise<Blob> => { export type BlobResponse = {
data: Blob;
type: string | null;
};
export const blobFetcher = async (url: string, options?: any): Promise<BlobResponse> => {
const res = await fetch(process.env.API_URL + url, options); const res = await fetch(process.env.API_URL + url, options);
return await res.blob(); const data = await res.blob();
return {data, type: res.headers.get('Content-Type')};
}; };
export const cycleFetcher = async <T = any>(urls: string[], options?: any): Promise<T[]> => { export const cycleFetcher = async <T = any>(urls: string[], options?: any): Promise<T[]> => {
......
...@@ -29,7 +29,7 @@ const nextI18Next = new NextI18Next({ ...@@ -29,7 +29,7 @@ const nextI18Next = new NextI18Next({
export default nextI18Next; export default nextI18Next;
export const {i18n, appWithTranslation, withTranslation, useTranslation, Router, Link, Trans} = nextI18Next; export const {i18n, config, appWithTranslation, withTranslation, useTranslation, Router, Link, Trans} = nextI18Next;
// from ~/node_modules/next/types/index.d.ts // from ~/node_modules/next/types/index.d.ts
// https://gitlab.com/kachkaev/website-frontend/-/blob/master/src/i18n.ts#L64-68 // https://gitlab.com/kachkaev/website-frontend/-/blob/master/src/i18n.ts#L64-68
......
export function dataURL2Blob(base64: string): Blob {
const parts = base64.split(';base64,');
const contentType = parts[0].split(':')[1];
const raw = window.atob(parts[1]);
const rawLength = raw.length;
const uInt8Array = new Uint8Array(rawLength);
for (let i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {type: contentType});
}
import * as polished from 'polished'; import * as polished from 'polished';
import {createGlobalStyle, keyframes} from 'styled-components'; import {createGlobalStyle, keyframes} from 'styled-components';
import {css} from 'styled-components';
import vdlIcon from '!!css-loader!~/public/style/vdl-icon.css'; import vdlIcon from '!!css-loader!~/public/style/vdl-icon.css';
export {default as styled} from 'styled-components'; export {default as styled} from 'styled-components';
...@@ -41,11 +43,14 @@ export const backgroundColor = '#FFF'; ...@@ -41,11 +43,14 @@ export const backgroundColor = '#FFF';
export const backgroundFocusedColor = '#F6F6F6'; export const backgroundFocusedColor = '#F6F6F6';
export const borderColor = '#DDD'; export const borderColor = '#DDD';
export const borderFocusedColor = darken(0.15, borderColor); export const borderFocusedColor = darken(0.15, borderColor);
export const borderActiveColor = darken(0.3, borderColor);
export const navbarBackgroundColor = '#1527C2'; export const navbarBackgroundColor = '#1527C2';
export const navbarHoverBackgroundColor = lighten(0.05, navbarBackgroundColor); export const navbarHoverBackgroundColor = lighten(0.05, navbarBackgroundColor);
export const navbarHighlightColor = '#596cd6'; export const navbarHighlightColor = '#596cd6';
export const progressBarColor = '#FFF'; export const progressBarColor = '#FFF';
export const maskColor = 'rgba(255, 255, 255, 0.8)'; export const maskColor = 'rgba(255, 255, 255, 0.8)';
export const tooltipBackgroundColor = 'rgba(0, 0, 0, 0.6)';
export const tooltipTextColor = '#FFF';
// transitions // transitions
export const duration = '75ms'; export const duration = '75ms';
...@@ -82,6 +87,21 @@ export const transitionProps = (props: string | string[], args?: string) => { ...@@ -82,6 +87,21 @@ export const transitionProps = (props: string | string[], args?: string) => {
} }
return transitions(props, args); return transitions(props, args);
}; };
export const link = css`
a {
color: ${primaryColor};
cursor: pointer;
${transitionProps('color')};
&:hover {
color: ${primaryFocusedColor};
}
&:active {
color: ${primaryActiveColor};
}
}
`;
const spinner = keyframes` const spinner = keyframes`
0% { 0% {
......
export const enabled = () => process.env.NODE_ENV !== 'development' || !!process.env.WITH_WASM;
...@@ -37,22 +37,22 @@ ...@@ -37,22 +37,22 @@
"dependencies": { "dependencies": {
"detect-node": "2.0.4", "detect-node": "2.0.4",
"hoist-non-react-statics": "3.3.2", "hoist-non-react-statics": "3.3.2",
"i18next": "19.4.1", "i18next": "19.4.4",
"i18next-browser-languagedetector": "4.0.2", "i18next-browser-languagedetector": "4.1.1",
"i18next-express-middleware": "1.9.1", "i18next-fs-backend": "1.0.2",
"i18next-node-fs-backend": "2.1.3", "i18next-http-backend": "1.0.8",
"i18next-xhr-backend": "3.2.2", "i18next-http-middleware": "1.0.4",
"path-match": "1.2.4", "path-match": "1.2.4",
"prop-types": "15.7.2", "prop-types": "15.7.2",
"react-i18next": "11.3.4", "react-i18next": "11.4.0",
"url": "0.11.0" "url": "0.11.0"
}, },
"devDependencies": { "devDependencies": {
"@types/express": "4.17.6", "@types/express": "4.17.6",
"@types/hoist-non-react-statics": "3.3.1", "@types/hoist-non-react-statics": "3.3.1",
"@types/node": "13.11.1", "@types/node": "13.13.5",
"@types/react": "16.9.34", "@types/react": "16.9.34",
"@types/react-dom": "16.9.6", "@types/react-dom": "16.9.7",
"typescript": "3.8.3" "typescript": "3.8.3"
}, },
"peerDependencies": { "peerDependencies": {
......
...@@ -2,7 +2,7 @@ import {Config, InitPromise} from '../types'; ...@@ -2,7 +2,7 @@ import {Config, InitPromise} from '../types';
import I18nextBrowserLanguageDetector from 'i18next-browser-languagedetector'; import I18nextBrowserLanguageDetector from 'i18next-browser-languagedetector';
import i18n from 'i18next'; import i18n from 'i18next';
import i18nextXHRBackend from 'i18next-xhr-backend'; import i18nextHttpBackend from 'i18next-http-backend';
import isNode from 'detect-node'; import isNode from 'detect-node';
export default (config: Config) => { export default (config: Config) => {
...@@ -10,8 +10,8 @@ export default (config: Config) => { ...@@ -10,8 +10,8 @@ export default (config: Config) => {
if (!i18n.isInitialized) { if (!i18n.isInitialized) {
if (isNode) { if (isNode) {
const i18nextNodeBackend = eval("require('i18next-node-fs-backend')"); const i18nextNodeBackend = eval('require("i18next-fs-backend")');
const i18nextMiddleware = eval("require('i18next-express-middleware')"); const i18nextMiddleware = eval('require("i18next-http-middleware")');
i18n.use(i18nextNodeBackend); i18n.use(i18nextNodeBackend);
if (config.serverLanguageDetection) { if (config.serverLanguageDetection) {
const serverDetectors = new i18nextMiddleware.LanguageDetector(); const serverDetectors = new i18nextMiddleware.LanguageDetector();
...@@ -19,7 +19,7 @@ export default (config: Config) => { ...@@ -19,7 +19,7 @@ export default (config: Config) => {
i18n.use(serverDetectors); i18n.use(serverDetectors);
} }
} else { } else {
i18n.use(i18nextXHRBackend); i18n.use(i18nextHttpBackend);
if (config.browserLanguageDetection) { if (config.browserLanguageDetection) {
const browserDetectors = new I18nextBrowserLanguageDetector(); const browserDetectors = new I18nextBrowserLanguageDetector();
config.customDetectors?.forEach(detector => browserDetectors.addDetector(detector)); config.customDetectors?.forEach(detector => browserDetectors.addDetector(detector));
......
...@@ -101,7 +101,7 @@ export const appWithTranslation = function (this: NextI18Next, WrappedComponent: ...@@ -101,7 +101,7 @@ export const appWithTranslation = function (this: NextI18Next, WrappedComponent:
if (req && !req.i18n) { if (req && !req.i18n) {
const {router} = ctx; const {router} = ctx;
const result = router.asPath.match(/^\/(.*?)\//); const result = router.asPath.match(/^\/(.*?)\//);
const lng = result ? result[1] : process.env.DEFAULT_LANGUAGE; const lng = result ? result[1] : config.defaultLanguage;
req.i18n = i18n.cloneInstance({initImmediate: false, lng}); req.i18n = i18n.cloneInstance({initImmediate: false, lng});
const res = ctx.ctx.res as (NextPageContext['res'] & I18nRes) | undefined; const res = ctx.ctx.res as (NextPageContext['res'] & I18nRes) | undefined;
const setContextLocale = (lng?: string) => { const setContextLocale = (lng?: string) => {
......
...@@ -10,7 +10,7 @@ import { ...@@ -10,7 +10,7 @@ import {
} from '../utils'; } from '../utils';
import NextI18Next from '../index'; import NextI18Next from '../index';
import i18nextMiddleware from 'i18next-express-middleware'; import i18nextMiddleware from 'i18next-http-middleware';
import pathMatch from 'path-match'; import pathMatch from 'path-match';
const route = pathMatch(); const route = pathMatch();
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
declare module 'detect-node'; declare module 'detect-node';
declare module 'path-match'; declare module 'path-match';
declare module 'i18next-http-middleware';
import * as React from 'react'; import * as React from 'react';
...@@ -73,6 +74,7 @@ declare global { ...@@ -73,6 +74,7 @@ declare global {
// eslint-disable-next-line @typescript-eslint/no-namespace // eslint-disable-next-line @typescript-eslint/no-namespace
namespace Express { namespace Express {
interface Request { interface Request {
i18n: I18n;
lng?: string; lng?: string;
} }
} }
......
...@@ -14,7 +14,8 @@ export default async (req: Request, res: Response) => { ...@@ -14,7 +14,8 @@ export default async (req: Request, res: Response) => {
const index = (+req.query.index ?? 0) % images.length; const index = (+req.query.index ?? 0) % images.length;
const result = await fetch(images[index]); const result = await fetch(images[index]);
if (result.headers.has('Content-Type')) { if (result.headers.has('Content-Type')) {
res.type(result.headers.get('Content-Type') as string); const ct = result.headers.get('Content-Type');
res.setHeader('Content-Type', ct);
} }
return result.arrayBuffer(); return result.arrayBuffer();
}; };
...@@ -3,23 +3,23 @@ export default { ...@@ -3,23 +3,23 @@ export default {
'input_reshape/input/image/7', 'input_reshape/input/image/7',
'input_reshape/input/image/4', 'input_reshape/input/image/4',
'input_reshape/input/image/5', 'input_reshape/input/image/5',
'input_reshape/input/image/2', 'hahaha/input/image/2',
'input_reshape/input/image/3', 'hahaha/input/image/3',
'input_reshape/input/image/0', 'hahaha/input/image/0',
'input_reshape/input/image/1', 'ohehe/input/image/1',
'input_reshape/input/image/8', '😼/input/image/8',
'input_reshape/input/image/9' '😼/input/image/9'
], ],
train: [ train: [
'input_reshape/input/image/6', 'input_reshape/input/image/6',
'input_reshape/input/image/7', 'input_reshape/input/image/7',
'input_reshape/input/image/4', 'input_reshape/input/image/4',
'input_reshape/input/image/5', 'input_reshape/input/image/5',
'input_reshape/input/image/2', 'hahaha/input/image/2',
'input_reshape/input/image/3', 'hahaha/input/image/3',
'input_reshape/input/image/0', 'oheihei/input/image/0',
'input_reshape/input/image/1', 'oheihei/input/image/1',
'input_reshape/input/image/8', '😼/input/image/8',
'input_reshape/input/image/9' '😼/input/image/9'
] ]
}; };
export default { export default {
test: ['layer2/biases/summaries/mean'], test: ['layer2/biases/summaries/mean', 'test/1234', 'another'],
train: ['layer2/biases/summaries/mean', 'layer2/biases/summaries/accuracy', 'layer2/biases/summaries/cost'] train: [
'layer2/biases/summaries/mean',
'layer2/biases/summaries/accuracy',
'layer2/biases/summaries/cost',
'test/431',
'others'
]
}; };
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
"devDependencies": { "devDependencies": {
"@types/express": "4.17.6", "@types/express": "4.17.6",
"@types/faker": "4.1.11", "@types/faker": "4.1.11",
"@types/node": "13.11.1", "@types/node": "13.13.5",
"typescript": "3.8.3" "typescript": "3.8.3"
}, },
"peerDependencies": { "peerDependencies": {
......
...@@ -40,23 +40,23 @@ ...@@ -40,23 +40,23 @@
"@visualdl/i18n": "^2.0.0-beta.32", "@visualdl/i18n": "^2.0.0-beta.32",
"express": "4.17.1", "express": "4.17.1",
"http-proxy-middleware": "1.0.3", "http-proxy-middleware": "1.0.3",
"next": "9.3.4", "next": "9.3.6",
"pm2": "4.2.3" "pm2": "4.4.0"
}, },
"devDependencies": { "devDependencies": {
"@types/express": "4.17.6", "@types/express": "4.17.6",
"@types/node": "13.11.1", "@types/node": "13.13.5",
"@types/shelljs": "0.8.7", "@types/shelljs": "0.8.7",
"@types/webpack": "4.41.10", "@types/webpack": "4.41.12",
"@types/webpack-dev-middleware": "3.7.0", "@types/webpack-dev-middleware": "3.7.0",
"@visualdl/mock": "^2.0.0-beta.32", "@visualdl/mock": "^2.0.0-beta.32",
"cross-env": "7.0.2", "cross-env": "7.0.2",
"nodemon": "2.0.3", "nodemon": "2.0.3",
"shelljs": "0.8.3", "shelljs": "0.8.4",
"ts-loader": "6.2.2", "ts-loader": "7.0.3",
"ts-node": "8.8.2", "ts-node": "8.10.1",
"typescript": "3.8.3", "typescript": "3.8.3",
"webpack": "4.42.1", "webpack": "4.43.0",
"webpack-cli": "3.3.11", "webpack-cli": "3.3.11",
"webpack-dev-middleware": "3.7.2" "webpack-dev-middleware": "3.7.2"
}, },
......
...@@ -31,12 +31,12 @@ ...@@ -31,12 +31,12 @@
"test": "echo \"Error: no test specified\" && exit 0" "test": "echo \"Error: no test specified\" && exit 0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "13.11.1", "@types/node": "13.13.5",
"@types/rimraf": "3.0.0", "@types/rimraf": "3.0.0",
"@visualdl/core": "^2.0.0-beta.32", "@visualdl/core": "^2.0.0-beta.32",
"cross-env": "7.0.2", "cross-env": "7.0.2",
"rimraf": "3.0.2", "rimraf": "3.0.2",
"ts-node": "8.8.2", "ts-node": "8.10.1",
"typescript": "3.8.3" "typescript": "3.8.3"
}, },
"engines": { "engines": {
......
...@@ -7,45 +7,53 @@ ...@@ -7,45 +7,53 @@
resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f"
integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==
"@ampproject/toolbox-core@^2.0.0", "@ampproject/toolbox-core@^2.2.0": "@ampproject/toolbox-core@^2.2.0":
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.2.0.tgz#3878c5fbdd2acdd865f070ded43ee84652a7a16b" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.2.0.tgz#3878c5fbdd2acdd865f070ded43ee84652a7a16b"
integrity sha512-g0NnZZqPJttIcdplIpiMDmOLewwvCWPSnFKvNdyYXN7vknRvR4krpV2qveuVgjnA+dSlDmtzuFapFCaWh4V7FQ== integrity sha512-g0NnZZqPJttIcdplIpiMDmOLewwvCWPSnFKvNdyYXN7vknRvR4krpV2qveuVgjnA+dSlDmtzuFapFCaWh4V7FQ==
dependencies: dependencies:
cross-fetch "3.0.4" cross-fetch "3.0.4"
"@ampproject/toolbox-optimizer@2.0.1": "@ampproject/toolbox-core@^2.3.0":
version "2.0.1" version "2.3.0"
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.0.1.tgz#943681faf24443044aa66f0b55eefb13cdcc068c" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.3.0.tgz#f27bd17e01fdc6725c440aefa844f63466c0f37e"
integrity sha512-zroXqrV7mY77+/6hV7kaaWxp4LA85V0B/2vg7WdF+FrwiO9Wior/lIW8UbpRek6INjw0VOp1ED73MmGJkwaDhA== integrity sha512-NT+kVR5Rm2cxp12h40IXgPRWmq0cpUdmcgZmgdelplp/q//4aWkt2+llGHR2foQJkwICxMVVlb/XidsHz0Rh9g==
dependencies: dependencies:
"@ampproject/toolbox-core" "^2.0.0" cross-fetch "3.0.4"
"@ampproject/toolbox-runtime-version" "^2.0.0"
"@ampproject/toolbox-script-csp" "^2.0.0" "@ampproject/toolbox-optimizer@2.2.0":
"@ampproject/toolbox-validator-rules" "^2.0.0" version "2.2.0"
css "2.2.4" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.2.0.tgz#2438d7102beb1a74bae8d20926e038c5f724a8ae"
integrity sha512-lEujArv6jyl/mEab0uBZ25oMkf+kf8cpTuHPcy8k3+jtomNyVtd94lbSWbQtomsEnYQ0MA9MvLvCJXsJz1fQcg==
dependencies:
"@ampproject/toolbox-core" "^2.2.0"
"@ampproject/toolbox-runtime-version" "^2.2.0"
"@ampproject/toolbox-script-csp" "^2.2.0"
"@ampproject/toolbox-validator-rules" "^2.2.0"
cssnano "4.1.10"
domhandler "3.0.0" domhandler "3.0.0"
domutils "2.0.0" domutils "2.0.0"
htmlparser2 "4.1.0" htmlparser2 "4.1.0"
normalize-html-whitespace "1.0.0" normalize-html-whitespace "1.0.0"
terser "4.6.7" postcss-safe-parser "4.0.2"
terser "4.6.8"
"@ampproject/toolbox-runtime-version@^2.0.0": "@ampproject/toolbox-runtime-version@^2.2.0":
version "2.2.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.2.0.tgz#e90ae9e97081c9c5362262f9ba093ac029837a8c" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.3.0.tgz#01a72db8fb069d64d341fb4cc4ffee2be6c8ca12"
integrity sha512-kQRLMreDp1Wp9DotQzJ4k/ZKK6ZxtI6ce2JIvyH8Xfi6H4BQNu0Ht0agMgm51/OsMKyHD+dDIGEHKaKWIOiPLQ== integrity sha512-sos2hmnAqp+KLYMLe+gF71BAElDmY04V4M9BvYRj3LEvwu3sCbvo2UPwcWZBgcWBV/cnh3JDHW+FaKfB5LtRrw==
dependencies: dependencies:
"@ampproject/toolbox-core" "^2.2.0" "@ampproject/toolbox-core" "^2.3.0"
"@ampproject/toolbox-script-csp@^2.0.0": "@ampproject/toolbox-script-csp@^2.2.0":
version "2.2.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-2.2.0.tgz#7bc33985e94a40acdbddb5695dc8d85f11066803" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-2.3.0.tgz#374cd0bf69bfdd0f1784064d0de69162722c89af"
integrity sha512-Z5AzbWFTlTMJg0z1/frMDmW6Gj+EbOw0dVdFYfdma4AJq4rNoxCQMVgVOjl4ryWNouJvK1RUA8o7sY1WmMx6eg== integrity sha512-Qba53ohvCH79sYl5O8K5GMSo/372OjuyxNc+XySG26sAsG26WpBKJEE0HTr8rsa//CD3Fc92FieT1gK5U/jK4Q==
"@ampproject/toolbox-validator-rules@^2.0.0": "@ampproject/toolbox-validator-rules@^2.2.0":
version "2.2.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.2.0.tgz#830a2bc22a09dc17ff37835991858902d04cfe19" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.3.0.tgz#047d8a8106ba777f1df308c19f1c1c41ffea4054"
integrity sha512-R5VkDmhmNatq9SuuHaeA2Uno4O5K4YSh11o6A/5jJZ2EjilAcpuAKvZlRp9tjucPWHi+/z/n5PCJ8YUxzCzWaQ== integrity sha512-S10YIyOKettoRDWoyRymRyjzWZD4/qW7YfHNhHAS13QVneabRcU5MF7vEwkG6dHWx/UdufT5GbqYnvpQRMNt3Q==
dependencies: dependencies:
cross-fetch "3.0.4" cross-fetch "3.0.4"
...@@ -76,19 +84,19 @@ ...@@ -76,19 +84,19 @@
semver "^5.4.1" semver "^5.4.1"
source-map "^0.5.0" source-map "^0.5.0"
"@babel/core@7.9.0": "@babel/core@7.9.6":
version "7.9.0" version "7.9.6"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
dependencies: dependencies:
"@babel/code-frame" "^7.8.3" "@babel/code-frame" "^7.8.3"
"@babel/generator" "^7.9.0" "@babel/generator" "^7.9.6"
"@babel/helper-module-transforms" "^7.9.0" "@babel/helper-module-transforms" "^7.9.0"
"@babel/helpers" "^7.9.0" "@babel/helpers" "^7.9.6"
"@babel/parser" "^7.9.0" "@babel/parser" "^7.9.6"
"@babel/template" "^7.8.6" "@babel/template" "^7.8.6"
"@babel/traverse" "^7.9.0" "@babel/traverse" "^7.9.6"
"@babel/types" "^7.9.0" "@babel/types" "^7.9.6"
convert-source-map "^1.7.0" convert-source-map "^1.7.0"
debug "^4.1.0" debug "^4.1.0"
gensync "^1.0.0-beta.1" gensync "^1.0.0-beta.1"
...@@ -98,7 +106,7 @@ ...@@ -98,7 +106,7 @@
semver "^5.4.1" semver "^5.4.1"
source-map "^0.5.0" source-map "^0.5.0"
"@babel/generator@^7.7.2", "@babel/generator@^7.9.0", "@babel/generator@^7.9.5": "@babel/generator@^7.7.2", "@babel/generator@^7.9.5":
version "7.9.5" version "7.9.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9"
integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ== integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==
...@@ -108,6 +116,16 @@ ...@@ -108,6 +116,16 @@
lodash "^4.17.13" lodash "^4.17.13"
source-map "^0.5.0" source-map "^0.5.0"
"@babel/generator@^7.9.6":
version "7.9.6"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==
dependencies:
"@babel/types" "^7.9.6"
jsesc "^2.5.1"
lodash "^4.17.13"
source-map "^0.5.0"
"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.8.3": "@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.8.3":
version "7.8.3" version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee"
...@@ -298,7 +316,7 @@ ...@@ -298,7 +316,7 @@
"@babel/traverse" "^7.8.3" "@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3" "@babel/types" "^7.8.3"
"@babel/helpers@^7.7.0", "@babel/helpers@^7.9.0": "@babel/helpers@^7.7.0":
version "7.9.2" version "7.9.2"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f"
integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==
...@@ -307,6 +325,15 @@ ...@@ -307,6 +325,15 @@
"@babel/traverse" "^7.9.0" "@babel/traverse" "^7.9.0"
"@babel/types" "^7.9.0" "@babel/types" "^7.9.0"
"@babel/helpers@^7.9.6":
version "7.9.6"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==
dependencies:
"@babel/template" "^7.8.3"
"@babel/traverse" "^7.9.6"
"@babel/types" "^7.9.6"
"@babel/highlight@^7.8.3": "@babel/highlight@^7.8.3":
version "7.9.0" version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
...@@ -321,6 +348,11 @@ ...@@ -321,6 +348,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8"
integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==
"@babel/parser@^7.9.6":
version "7.9.6"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
"@babel/plugin-proposal-async-generator-functions@^7.7.0": "@babel/plugin-proposal-async-generator-functions@^7.7.0":
version "7.8.3" version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f"
...@@ -917,6 +949,13 @@ ...@@ -917,6 +949,13 @@
dependencies: dependencies:
regenerator-runtime "^0.13.4" regenerator-runtime "^0.13.4"
"@babel/runtime@^7.9.2":
version "7.9.6"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f"
integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==
dependencies:
regenerator-runtime "^0.13.4"
"@babel/template@^7.7.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6": "@babel/template@^7.7.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
version "7.8.6" version "7.8.6"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
...@@ -941,14 +980,20 @@ ...@@ -941,14 +980,20 @@
globals "^11.1.0" globals "^11.1.0"
lodash "^4.17.13" lodash "^4.17.13"
"@babel/types@7.7.4": "@babel/traverse@^7.9.6":
version "7.7.4" version "7.9.6"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442"
integrity sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA== integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==
dependencies: dependencies:
esutils "^2.0.2" "@babel/code-frame" "^7.8.3"
"@babel/generator" "^7.9.6"
"@babel/helper-function-name" "^7.9.5"
"@babel/helper-split-export-declaration" "^7.8.3"
"@babel/parser" "^7.9.6"
"@babel/types" "^7.9.6"
debug "^4.1.0"
globals "^11.1.0"
lodash "^4.17.13" lodash "^4.17.13"
to-fast-properties "^2.0.0"
"@babel/types@7.8.3": "@babel/types@7.8.3":
version "7.8.3" version "7.8.3"
...@@ -968,13 +1013,22 @@ ...@@ -968,13 +1013,22 @@
lodash "^4.17.13" lodash "^4.17.13"
to-fast-properties "^2.0.0" to-fast-properties "^2.0.0"
"@develar/schema-utils@~2.1.0": "@babel/types@^7.9.6":
version "2.1.0" version "7.9.6"
resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.1.0.tgz#eceb1695bfbed6f6bb84666d5d3abe5e1fd54e17" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
integrity sha512-qjCqB4ctMig9Gz5bd6lkdFr3bO6arOdQqptdBSpF1ZpCnjofieCciEzkoS9ujY9cMGyllYSCSmBJ3x9OKHXzoA== integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
dependencies: dependencies:
ajv "^6.1.0" "@babel/helper-validator-identifier" "^7.9.5"
ajv-keywords "^3.1.0" lodash "^4.17.13"
to-fast-properties "^2.0.0"
"@develar/schema-utils@~2.6.5":
version "2.6.5"
resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6"
integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==
dependencies:
ajv "^6.12.0"
ajv-keywords "^3.4.1"
"@electron/get@^1.0.1": "@electron/get@^1.0.1":
version "1.9.0" version "1.9.0"
...@@ -1843,6 +1897,11 @@ ...@@ -1843,6 +1897,11 @@
call-me-maybe "^1.0.1" call-me-maybe "^1.0.1"
glob-to-regexp "^0.3.0" glob-to-regexp "^0.3.0"
"@next/react-refresh-utils@9.3.6":
version "9.3.6"
resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-9.3.6.tgz#a5eb91b4b8270fecb5fcf2d1319d8d04f0cf6f75"
integrity sha512-XgxPc3WAkNpzD9xYtN4bd3wpV39WhnHYSwXGovVVcImXY6yn1as6hDgwkbuLADY/SHLIu2AI6CTVq0JDoTC/+g==
"@nodelib/fs.stat@^1.1.2": "@nodelib/fs.stat@^1.1.2":
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
...@@ -1950,10 +2009,10 @@ ...@@ -1950,10 +2009,10 @@
dependencies: dependencies:
"@types/node" ">= 8" "@types/node" ">= 8"
"@opencensus/core@^0.0.8": "@opencensus/core@0.0.9":
version "0.0.8" version "0.0.9"
resolved "https://registry.yarnpkg.com/@opencensus/core/-/core-0.0.8.tgz#df01f200c2d2fbfe14dae129a1a86fb87286db92" resolved "https://registry.yarnpkg.com/@opencensus/core/-/core-0.0.9.tgz#b16f775435ee309433e4126af194d37313fc93b3"
integrity sha512-yUFT59SFhGMYQgX0PhoTR0LBff2BEhPrD9io1jWfF/VDbakRfs6Pq60rjv0Z7iaTav5gQlttJCX2+VPxFWCuoQ== integrity sha512-31Q4VWtbzXpVUd2m9JS6HEaPjlKvNMOiF7lWKNmXF84yUcgfAFL5re7/hjDmdyQbOp32oGc+RFV78jXIldVz6Q==
dependencies: dependencies:
continuation-local-storage "^3.2.1" continuation-local-storage "^3.2.1"
log-driver "^1.2.7" log-driver "^1.2.7"
...@@ -1961,10 +2020,10 @@ ...@@ -1961,10 +2020,10 @@
shimmer "^1.2.0" shimmer "^1.2.0"
uuid "^3.2.1" uuid "^3.2.1"
"@opencensus/core@^0.0.9": "@opencensus/core@^0.0.8":
version "0.0.9" version "0.0.8"
resolved "https://registry.yarnpkg.com/@opencensus/core/-/core-0.0.9.tgz#b16f775435ee309433e4126af194d37313fc93b3" resolved "https://registry.yarnpkg.com/@opencensus/core/-/core-0.0.8.tgz#df01f200c2d2fbfe14dae129a1a86fb87286db92"
integrity sha512-31Q4VWtbzXpVUd2m9JS6HEaPjlKvNMOiF7lWKNmXF84yUcgfAFL5re7/hjDmdyQbOp32oGc+RFV78jXIldVz6Q== integrity sha512-yUFT59SFhGMYQgX0PhoTR0LBff2BEhPrD9io1jWfF/VDbakRfs6Pq60rjv0Z7iaTav5gQlttJCX2+VPxFWCuoQ==
dependencies: dependencies:
continuation-local-storage "^3.2.1" continuation-local-storage "^3.2.1"
log-driver "^1.2.7" log-driver "^1.2.7"
...@@ -1972,7 +2031,7 @@ ...@@ -1972,7 +2031,7 @@
shimmer "^1.2.0" shimmer "^1.2.0"
uuid "^3.2.1" uuid "^3.2.1"
"@opencensus/propagation-b3@^0.0.8": "@opencensus/propagation-b3@0.0.8":
version "0.0.8" version "0.0.8"
resolved "https://registry.yarnpkg.com/@opencensus/propagation-b3/-/propagation-b3-0.0.8.tgz#0751e6fd75f09400d9d3c419001e9e15a0df68e9" resolved "https://registry.yarnpkg.com/@opencensus/propagation-b3/-/propagation-b3-0.0.8.tgz#0751e6fd75f09400d9d3c419001e9e15a0df68e9"
integrity sha512-PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A== integrity sha512-PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==
...@@ -1990,50 +2049,51 @@ ...@@ -1990,50 +2049,51 @@
proxy-agent "^3.0.3" proxy-agent "^3.0.3"
ws "^6.0.0" ws "^6.0.0"
"@pm2/agent@^0.5.26": "@pm2/agent@~1.0.2":
version "0.5.26" version "1.0.4"
resolved "https://registry.yarnpkg.com/@pm2/agent/-/agent-0.5.26.tgz#fa664e365fb89428136ba34c2f9569b796ef8f33" resolved "https://registry.yarnpkg.com/@pm2/agent/-/agent-1.0.4.tgz#1a7275e1415cd26a530405816ff5e453abb8fd8c"
integrity sha512-pqiS87IiUprkSR7SG0RKMATuYXl4QjH1tSSUwM4wJcovRT4pD5dvnnu61w9y/4/Ur5V/+a7bqS8bZz51y3U2iA== integrity sha512-cZLwaoLa45FRuetKCcoI3kHnnQ7VMLpZnmVom04MoK0cpY/RxcSarkCHSCu9V+pdARwxx96QrWdrtAJdw97dng==
dependencies: dependencies:
async "^2.6.0" async "~3.2.0"
chalk "^2.3.2" chalk "~3.0.0"
eventemitter2 "^5.0.1" dayjs "~1.8.24"
fclone "^1.0.11" debug "~4.1.1"
moment "^2.21.0" eventemitter2 "~5.0.1"
nssocket "^0.6.0" fclone "~1.0.11"
nssocket "0.6.0"
pm2-axon "^3.2.0" pm2-axon "^3.2.0"
pm2-axon-rpc "^0.5.0" pm2-axon-rpc "^0.5.0"
proxy-agent "^3.1.0" proxy-agent "~3.1.1"
semver "^5.5.0" semver "~7.2.0"
ws "^5.1.0" ws "~7.2.0"
"@pm2/io@^4.3.2": "@pm2/io@~4.3.5":
version "4.3.3" version "4.3.5"
resolved "https://registry.yarnpkg.com/@pm2/io/-/io-4.3.3.tgz#3a719da5b0897718173d51ab313d25d7e1471c9b" resolved "https://registry.yarnpkg.com/@pm2/io/-/io-4.3.5.tgz#57025ab821fd09d2afe6d0ab981f8a39ccec8860"
integrity sha512-ENGsdSVpnwbYMGdeB0/Xy2eZYo7oltzApoCsMD4ssqWNXDg9C4uQZy5J09iPsb0IHFwSDjU5oylXdwKDSoqODw== integrity sha512-CY/a6Nw72vrlp/FPx38l4jfEHp4gNEbo8i+WlSJ2cnWO6VE6CKmnC1zb4yQLvdP8f3EuzzoOBZVq6aGN20M82Q==
dependencies: dependencies:
"@opencensus/core" "^0.0.9" "@opencensus/core" "0.0.9"
"@opencensus/propagation-b3" "^0.0.8" "@opencensus/propagation-b3" "0.0.8"
"@pm2/agent-node" "^1.1.10" "@pm2/agent-node" "^1.1.10"
async "~2.6.1" async "~2.6.1"
debug "3.1.0" debug "4.1.1"
eventemitter2 "~5.0.1" eventemitter2 "^6.3.1"
require-in-the-middle "^5.0.0" require-in-the-middle "^5.0.0"
semver "5.5.0" semver "6.3.0"
shimmer "~1.2.0" shimmer "^1.2.0"
signal-exit "3.0.2" signal-exit "^3.0.3"
tslib "1.9.3" tslib "1.9.3"
"@pm2/js-api@^0.5.60": "@pm2/js-api@~0.6.0":
version "0.5.60" version "0.6.0"
resolved "https://registry.yarnpkg.com/@pm2/js-api/-/js-api-0.5.60.tgz#ae05324da8edc83f8f3172dadc5f9d5f16c99e54" resolved "https://registry.yarnpkg.com/@pm2/js-api/-/js-api-0.6.0.tgz#6c549e4579b5004e685cf727b4eaa41cf3cfbfe9"
integrity sha512-CvAbpIB7ObOuwvqhDBB/E4Z4ANRx2dBk08zYpGPNg+1fDj14FJg2e7DWA8bblSGNC8QarIXPaqPDJBL1e8cRQw== integrity sha512-ZgM/0yI8s3FRyxP01wI5UzDrVTecS/SmD98z25C9fsHo2Wz3JB1DtS4uIBlPopq2/R5HIQynTUJPDNn4qo1d/Q==
dependencies: dependencies:
async "^2.4.1" async "^2.6.3"
axios "^0.19.0" axios "^0.19.0"
debug "^2.6.8" debug "~3.2.6"
eventemitter2 "^4.1.0" eventemitter2 "^6.3.1"
ws "^3.0.0" ws "^7.0.0"
"@pm2/pm2-version-check@latest": "@pm2/pm2-version-check@latest":
version "1.0.3" version "1.0.3"
...@@ -2330,10 +2390,10 @@ ...@@ -2330,10 +2390,10 @@
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
"@types/echarts@4.4.5": "@types/echarts@4.6.0":
version "4.4.5" version "4.6.0"
resolved "https://registry.yarnpkg.com/@types/echarts/-/echarts-4.4.5.tgz#b633b87b707b43cf361b067206fd9073c7b0c06c" resolved "https://registry.yarnpkg.com/@types/echarts/-/echarts-4.6.0.tgz#0dbf5c35db16ed23f9e61370179989fcd62c2678"
integrity sha512-zs9iO4OKtzt75EmP3AKLmtQJ8JCdOkdax7qzV1PpbBDEdOr2JY6Iu2jiH188+UewpFsfNQWLhlUqcXo/X3ScGA== integrity sha512-Unz/VUdQ3KwD3vtCh8bI295F3p6rFSApivwGPQJ1Mu6837xeit7C1YuX+75gRwfahotbaazmG8e2rLBNEzrfFg==
dependencies: dependencies:
"@types/zrender" "*" "@types/zrender" "*"
...@@ -2370,6 +2430,11 @@ ...@@ -2370,6 +2430,11 @@
resolved "https://registry.yarnpkg.com/@types/faker/-/faker-4.1.11.tgz#07911f1a39aeeaeec71d8efa0f93ef0eeafd3462" resolved "https://registry.yarnpkg.com/@types/faker/-/faker-4.1.11.tgz#07911f1a39aeeaeec71d8efa0f93ef0eeafd3462"
integrity sha512-iL7khABWgMH53FDfQNYtbFDJXjM3G97KswtyVMUP9XBSt9c+33L1TsXI+mx+EgnoOcuSp12qZae6hLCxGcq7yg== integrity sha512-iL7khABWgMH53FDfQNYtbFDJXjM3G97KswtyVMUP9XBSt9c+33L1TsXI+mx+EgnoOcuSp12qZae6hLCxGcq7yg==
"@types/file-saver@2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/file-saver/-/file-saver-2.0.1.tgz#e18eb8b069e442f7b956d313f4fadd3ef887354e"
integrity sha512-g1QUuhYVVAamfCifK7oB7G3aIl4BbOyzDOqVyUfEr4tfBKrXfeH+M+Tg7HKCXSrbzxYdhyCP7z9WbKo0R2hBCw==
"@types/fs-extra@^8.1.0": "@types/fs-extra@^8.1.0":
version "8.1.0" version "8.1.0"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.0.tgz#1114834b53c3914806cd03b3304b37b3bd221a4d" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.0.tgz#1114834b53c3914806cd03b3304b37b3bd221a4d"
...@@ -2411,10 +2476,10 @@ ...@@ -2411,10 +2476,10 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
"@types/lodash@4.14.149": "@types/lodash@4.14.150":
version "4.14.149" version "4.14.150"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd"
integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w==
"@types/memory-fs@*": "@types/memory-fs@*":
version "0.3.2" version "0.3.2"
...@@ -2423,6 +2488,11 @@ ...@@ -2423,6 +2488,11 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@types/mime-types@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.0.tgz#9ca52cda363f699c69466c2a6ccdaad913ea7a73"
integrity sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=
"@types/mime@*": "@types/mime@*":
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d"
...@@ -2433,11 +2503,16 @@ ...@@ -2433,11 +2503,16 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*", "@types/node@13.11.1", "@types/node@>= 8": "@types/node@*", "@types/node@>= 8":
version "13.11.1" version "13.11.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.1.tgz#49a2a83df9d26daacead30d0ccc8762b128d53c7" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.1.tgz#49a2a83df9d26daacead30d0ccc8762b128d53c7"
integrity sha512-eWQGP3qtxwL8FGneRrC5DwrJLGN4/dH1clNTuLfN81HCrxVtxRjygDTUoZJ5ASlDEeo0ppYFQjQIlXhtXpOn6g== integrity sha512-eWQGP3qtxwL8FGneRrC5DwrJLGN4/dH1clNTuLfN81HCrxVtxRjygDTUoZJ5ASlDEeo0ppYFQjQIlXhtXpOn6g==
"@types/node@13.13.5":
version "13.13.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.5.tgz#96ec3b0afafd64a4ccea9107b75bf8489f0e5765"
integrity sha512-3ySmiBYJPqgjiHA7oEaIo2Rzz0HrOZ7yrNO5HWyaE5q0lQ3BppDZ3N53Miz8bw2I7gh1/zir2MGVZBvpb1zq9g==
"@types/node@^12.0.12": "@types/node@^12.0.12":
version "12.12.35" version "12.12.35"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.35.tgz#1e61b226c14380f4384f70cfe49a65c2c553ad2b" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.35.tgz#1e61b226c14380f4384f70cfe49a65c2c553ad2b"
...@@ -2458,6 +2533,11 @@ ...@@ -2458,6 +2533,11 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
"@types/q@^1.5.1":
version "1.5.2"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
"@types/qs@*": "@types/qs@*":
version "6.9.1" version "6.9.1"
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.1.tgz#937fab3194766256ee09fcd40b781740758617e7" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.1.tgz#937fab3194766256ee09fcd40b781740758617e7"
...@@ -2468,10 +2548,10 @@ ...@@ -2468,10 +2548,10 @@
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
"@types/react-dom@16.9.6": "@types/react-dom@16.9.7":
version "16.9.6" version "16.9.7"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.6.tgz#9e7f83d90566521cc2083be2277c6712dcaf754c" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.7.tgz#60844d48ce252d7b2dccf0c7bb937130e27c0cd2"
integrity sha512-S6ihtlPMDotrlCJE9ST1fRmYrQNNwfgL61UB4I1W7M6kPulUKx9fXAleW5zpdIjUQ4fTaaog8uERezjsGUj9HQ== integrity sha512-GHTYhM8/OwUCf254WO5xqR/aqD3gC9kSTLpopWGpQLpnw23jk44RvMHsyUSEplvRJZdHxhJGMMLF0kCPYHPhQA==
dependencies: dependencies:
"@types/react" "*" "@types/react" "*"
...@@ -2519,10 +2599,10 @@ ...@@ -2519,10 +2599,10 @@
resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==
"@types/styled-components@5.0.1": "@types/styled-components@5.1.0":
version "5.0.1" version "5.1.0"
resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.0.1.tgz#44d210b0a0218a70df998d1a8e1f69c82d9cc68b" resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.0.tgz#24d3412ba5395aa06e14fbc93c52f9454cebd0d6"
integrity sha512-1yRYO1dAE2MGEuYKF1yQFeMdoyerIQn6ZDnFFkxZamcs3rn8RQVn98edPsTROAxbTz81tqnVN4BJ3Qs1cm/tKg== integrity sha512-ZFlLCuwF5r+4Vb7JUmd+Yr2S0UBdBGmI7ctFTgJMypIp3xOHI4LCFVn2dKMvpk6xDB2hLRykrEWMBwJEpUAUIQ==
dependencies: dependencies:
"@types/hoist-non-react-statics" "*" "@types/hoist-non-react-statics" "*"
"@types/react" "*" "@types/react" "*"
...@@ -2560,7 +2640,7 @@ ...@@ -2560,7 +2640,7 @@
"@types/source-list-map" "*" "@types/source-list-map" "*"
source-map "^0.6.1" source-map "^0.6.1"
"@types/webpack@*", "@types/webpack@4.41.10": "@types/webpack@*":
version "4.41.10" version "4.41.10"
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.10.tgz#2e1f6b3508a249854efe3dcc7690905ac5ee10be" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.10.tgz#2e1f6b3508a249854efe3dcc7690905ac5ee10be"
integrity sha512-vIy0qaq8AjOjZLuFPqpo7nAJzcoVXMdw3mvpNN07Uvdy0p1IpJeLNBe3obdRP7FX2jIusDE7z1pZa0A6qYUgnA== integrity sha512-vIy0qaq8AjOjZLuFPqpo7nAJzcoVXMdw3mvpNN07Uvdy0p1IpJeLNBe3obdRP7FX2jIusDE7z1pZa0A6qYUgnA==
...@@ -2572,6 +2652,18 @@ ...@@ -2572,6 +2652,18 @@
"@types/webpack-sources" "*" "@types/webpack-sources" "*"
source-map "^0.6.0" source-map "^0.6.0"
"@types/webpack@4.41.12":
version "4.41.12"
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.12.tgz#0386ee2a2814368e2f2397abb036c0bf173ff6c3"
integrity sha512-BpCtM4NnBen6W+KEhrL9jKuZCXVtiH6+0b6cxdvNt2EwU949Al334PjQSl2BeAyvAX9mgoNNG21wvjP3xZJJ5w==
dependencies:
"@types/anymatch" "*"
"@types/node" "*"
"@types/tapable" "*"
"@types/uglify-js" "*"
"@types/webpack-sources" "*"
source-map "^0.6.0"
"@types/yargs-parser@*": "@types/yargs-parser@*":
version "15.0.0" version "15.0.0"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
...@@ -2589,40 +2681,40 @@ ...@@ -2589,40 +2681,40 @@
resolved "https://registry.yarnpkg.com/@types/zrender/-/zrender-4.0.0.tgz#a6806f12ec4eccaaebd9b0d816f049aca6188fbd" resolved "https://registry.yarnpkg.com/@types/zrender/-/zrender-4.0.0.tgz#a6806f12ec4eccaaebd9b0d816f049aca6188fbd"
integrity sha512-s89GOIeKFiod2KSqHkfd2rzx+T2DVu7ihZCBEBnhFrzvQPUmzvDSBot9Fi1DfMQm9Odg+rTqoMGC38RvrwJK2w== integrity sha512-s89GOIeKFiod2KSqHkfd2rzx+T2DVu7ihZCBEBnhFrzvQPUmzvDSBot9Fi1DfMQm9Odg+rTqoMGC38RvrwJK2w==
"@typescript-eslint/eslint-plugin@2.27.0": "@typescript-eslint/eslint-plugin@2.31.0":
version "2.27.0" version "2.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.27.0.tgz#e479cdc4c9cf46f96b4c287755733311b0d0ba4b" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.31.0.tgz#942c921fec5e200b79593c71fafb1e3f57aa2e36"
integrity sha512-/my+vVHRN7zYgcp0n4z5A6HAK7bvKGBiswaM5zIlOQczsxj/aiD7RcgD+dvVFuwFaGh5+kM7XA6Q6PN0bvb1tw== integrity sha512-iIC0Pb8qDaoit+m80Ln/aaeu9zKQdOLF4SHcGLarSeY1gurW6aU4JsOPMjKQwXlw70MvWKZQc6S2NamA8SJ/gg==
dependencies: dependencies:
"@typescript-eslint/experimental-utils" "2.27.0" "@typescript-eslint/experimental-utils" "2.31.0"
functional-red-black-tree "^1.0.1" functional-red-black-tree "^1.0.1"
regexpp "^3.0.0" regexpp "^3.0.0"
tsutils "^3.17.1" tsutils "^3.17.1"
"@typescript-eslint/experimental-utils@2.27.0": "@typescript-eslint/experimental-utils@2.31.0":
version "2.27.0" version "2.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.27.0.tgz#801a952c10b58e486c9a0b36cf21e2aab1e9e01a" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.31.0.tgz#a9ec514bf7fd5e5e82bc10dcb6a86d58baae9508"
integrity sha512-vOsYzjwJlY6E0NJRXPTeCGqjv5OHgRU1kzxHKWJVPjDYGbPgLudBXjIlc+OD1hDBZ4l1DLbOc5VjofKahsu9Jw== integrity sha512-MI6IWkutLYQYTQgZ48IVnRXmLR/0Q6oAyJgiOror74arUMh7EWjJkADfirZhRsUMHeLJ85U2iySDwHTSnNi9vA==
dependencies: dependencies:
"@types/json-schema" "^7.0.3" "@types/json-schema" "^7.0.3"
"@typescript-eslint/typescript-estree" "2.27.0" "@typescript-eslint/typescript-estree" "2.31.0"
eslint-scope "^5.0.0" eslint-scope "^5.0.0"
eslint-utils "^2.0.0" eslint-utils "^2.0.0"
"@typescript-eslint/parser@2.27.0": "@typescript-eslint/parser@2.31.0":
version "2.27.0" version "2.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.27.0.tgz#d91664335b2c46584294e42eb4ff35838c427287" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.31.0.tgz#beddd4e8efe64995108b229b2862cd5752d40d6f"
integrity sha512-HFUXZY+EdwrJXZo31DW4IS1ujQW3krzlRjBrFRrJcMDh0zCu107/nRfhk/uBasO8m0NVDbBF5WZKcIUMRO7vPg== integrity sha512-uph+w6xUOlyV2DLSC6o+fBDzZ5i7+3/TxAsH4h3eC64tlga57oMb96vVlXoMwjR/nN+xyWlsnxtbDkB46M2EPQ==
dependencies: dependencies:
"@types/eslint-visitor-keys" "^1.0.0" "@types/eslint-visitor-keys" "^1.0.0"
"@typescript-eslint/experimental-utils" "2.27.0" "@typescript-eslint/experimental-utils" "2.31.0"
"@typescript-eslint/typescript-estree" "2.27.0" "@typescript-eslint/typescript-estree" "2.31.0"
eslint-visitor-keys "^1.1.0" eslint-visitor-keys "^1.1.0"
"@typescript-eslint/typescript-estree@2.27.0": "@typescript-eslint/typescript-estree@2.31.0":
version "2.27.0" version "2.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.27.0.tgz#a288e54605412da8b81f1660b56c8b2e42966ce8" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.31.0.tgz#ac536c2d46672aa1f27ba0ec2140d53670635cfd"
integrity sha512-t2miCCJIb/FU8yArjAvxllxbTiyNqaXJag7UOpB5DVoM3+xnjeOngtqlJkLRnMtzaRcJhe3CIR9RmL40omubhg== integrity sha512-vxW149bXFXXuBrAak0eKHOzbcu9cvi6iNcJDzEtOkRwGHxJG15chiAQAwhLOsk+86p9GTr/TziYvw+H9kMaIgA==
dependencies: dependencies:
debug "^4.1.1" debug "^4.1.1"
eslint-visitor-keys "^1.1.0" eslint-visitor-keys "^1.1.0"
...@@ -2632,15 +2724,6 @@ ...@@ -2632,15 +2724,6 @@
semver "^6.3.0" semver "^6.3.0"
tsutils "^3.17.1" tsutils "^3.17.1"
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==
dependencies:
"@webassemblyjs/helper-module-context" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/wast-parser" "1.8.5"
"@webassemblyjs/ast@1.9.0": "@webassemblyjs/ast@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
...@@ -2650,43 +2733,21 @@ ...@@ -2650,43 +2733,21 @@
"@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
"@webassemblyjs/wast-parser" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0"
"@webassemblyjs/floating-point-hex-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721"
integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==
"@webassemblyjs/floating-point-hex-parser@1.9.0": "@webassemblyjs/floating-point-hex-parser@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
"@webassemblyjs/helper-api-error@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7"
integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==
"@webassemblyjs/helper-api-error@1.9.0": "@webassemblyjs/helper-api-error@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
"@webassemblyjs/helper-buffer@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204"
integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==
"@webassemblyjs/helper-buffer@1.9.0": "@webassemblyjs/helper-buffer@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
"@webassemblyjs/helper-code-frame@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e"
integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==
dependencies:
"@webassemblyjs/wast-printer" "1.8.5"
"@webassemblyjs/helper-code-frame@1.9.0": "@webassemblyjs/helper-code-frame@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
...@@ -2694,24 +2755,11 @@ ...@@ -2694,24 +2755,11 @@
dependencies: dependencies:
"@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wast-printer" "1.9.0"
"@webassemblyjs/helper-fsm@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452"
integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==
"@webassemblyjs/helper-fsm@1.9.0": "@webassemblyjs/helper-fsm@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
"@webassemblyjs/helper-module-context@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245"
integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==
dependencies:
"@webassemblyjs/ast" "1.8.5"
mamacro "^0.0.3"
"@webassemblyjs/helper-module-context@1.9.0": "@webassemblyjs/helper-module-context@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
...@@ -2719,26 +2767,11 @@ ...@@ -2719,26 +2767,11 @@
dependencies: dependencies:
"@webassemblyjs/ast" "1.9.0" "@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-wasm-bytecode@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61"
integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==
"@webassemblyjs/helper-wasm-bytecode@1.9.0": "@webassemblyjs/helper-wasm-bytecode@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
"@webassemblyjs/helper-wasm-section@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf"
integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
"@webassemblyjs/helper-wasm-section@1.9.0": "@webassemblyjs/helper-wasm-section@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
...@@ -2749,13 +2782,6 @@ ...@@ -2749,13 +2782,6 @@
"@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
"@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/wasm-gen" "1.9.0"
"@webassemblyjs/ieee754@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e"
integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==
dependencies:
"@xtuc/ieee754" "^1.2.0"
"@webassemblyjs/ieee754@1.9.0": "@webassemblyjs/ieee754@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
...@@ -2763,13 +2789,6 @@ ...@@ -2763,13 +2789,6 @@
dependencies: dependencies:
"@xtuc/ieee754" "^1.2.0" "@xtuc/ieee754" "^1.2.0"
"@webassemblyjs/leb128@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10"
integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==
dependencies:
"@xtuc/long" "4.2.2"
"@webassemblyjs/leb128@1.9.0": "@webassemblyjs/leb128@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
...@@ -2777,30 +2796,11 @@ ...@@ -2777,30 +2796,11 @@
dependencies: dependencies:
"@xtuc/long" "4.2.2" "@xtuc/long" "4.2.2"
"@webassemblyjs/utf8@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc"
integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==
"@webassemblyjs/utf8@1.9.0": "@webassemblyjs/utf8@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
"@webassemblyjs/wasm-edit@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a"
integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/helper-wasm-section" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
"@webassemblyjs/wasm-opt" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
"@webassemblyjs/wast-printer" "1.8.5"
"@webassemblyjs/wasm-edit@1.9.0": "@webassemblyjs/wasm-edit@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
...@@ -2815,17 +2815,6 @@ ...@@ -2815,17 +2815,6 @@
"@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0"
"@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wast-printer" "1.9.0"
"@webassemblyjs/wasm-gen@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc"
integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/ieee754" "1.8.5"
"@webassemblyjs/leb128" "1.8.5"
"@webassemblyjs/utf8" "1.8.5"
"@webassemblyjs/wasm-gen@1.9.0": "@webassemblyjs/wasm-gen@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
...@@ -2837,16 +2826,6 @@ ...@@ -2837,16 +2826,6 @@
"@webassemblyjs/leb128" "1.9.0" "@webassemblyjs/leb128" "1.9.0"
"@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/utf8" "1.9.0"
"@webassemblyjs/wasm-opt@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264"
integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
"@webassemblyjs/wasm-opt@1.9.0": "@webassemblyjs/wasm-opt@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
...@@ -2857,18 +2836,6 @@ ...@@ -2857,18 +2836,6 @@
"@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/wasm-gen" "1.9.0"
"@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0"
"@webassemblyjs/wasm-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d"
integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-api-error" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/ieee754" "1.8.5"
"@webassemblyjs/leb128" "1.8.5"
"@webassemblyjs/utf8" "1.8.5"
"@webassemblyjs/wasm-parser@1.9.0": "@webassemblyjs/wasm-parser@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
...@@ -2881,18 +2848,6 @@ ...@@ -2881,18 +2848,6 @@
"@webassemblyjs/leb128" "1.9.0" "@webassemblyjs/leb128" "1.9.0"
"@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/utf8" "1.9.0"
"@webassemblyjs/wast-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c"
integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/floating-point-hex-parser" "1.8.5"
"@webassemblyjs/helper-api-error" "1.8.5"
"@webassemblyjs/helper-code-frame" "1.8.5"
"@webassemblyjs/helper-fsm" "1.8.5"
"@xtuc/long" "4.2.2"
"@webassemblyjs/wast-parser@1.9.0": "@webassemblyjs/wast-parser@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
...@@ -2905,15 +2860,6 @@ ...@@ -2905,15 +2860,6 @@
"@webassemblyjs/helper-fsm" "1.9.0" "@webassemblyjs/helper-fsm" "1.9.0"
"@xtuc/long" "4.2.2" "@xtuc/long" "4.2.2"
"@webassemblyjs/wast-printer@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc"
integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/wast-parser" "1.8.5"
"@xtuc/long" "4.2.2"
"@webassemblyjs/wast-printer@1.9.0": "@webassemblyjs/wast-printer@1.9.0":
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
...@@ -2968,7 +2914,7 @@ acorn-jsx@^5.2.0: ...@@ -2968,7 +2914,7 @@ acorn-jsx@^5.2.0:
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
acorn@^6.2.1: acorn@^6.4.1:
version "6.4.1" version "6.4.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
...@@ -3010,6 +2956,14 @@ agentkeepalive@^3.4.1: ...@@ -3010,6 +2956,14 @@ agentkeepalive@^3.4.1:
dependencies: dependencies:
humanize-ms "^1.2.1" humanize-ms "^1.2.1"
aggregate-error@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
dependencies:
clean-stack "^2.0.0"
indent-string "^4.0.0"
ajv-errors@^1.0.0: ajv-errors@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
...@@ -3030,6 +2984,11 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: ...@@ -3030,6 +2984,11 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5:
json-schema-traverse "^0.4.1" json-schema-traverse "^0.4.1"
uri-js "^4.2.2" uri-js "^4.2.2"
alphanum-sort@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
amp-message@~0.1.1: amp-message@~0.1.1:
version "0.1.2" version "0.1.2"
resolved "https://registry.yarnpkg.com/amp-message/-/amp-message-0.1.2.tgz#a78f1c98995087ad36192a41298e4db49e3dfc45" resolved "https://registry.yarnpkg.com/amp-message/-/amp-message-0.1.2.tgz#a78f1c98995087ad36192a41298e4db49e3dfc45"
...@@ -3049,17 +3008,22 @@ ansi-align@^3.0.0: ...@@ -3049,17 +3008,22 @@ ansi-align@^3.0.0:
dependencies: dependencies:
string-width "^3.0.0" string-width "^3.0.0"
ansi-colors@3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813"
integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==
ansi-colors@^3.0.0, ansi-colors@^3.2.1: ansi-colors@^3.0.0, ansi-colors@^3.2.1:
version "3.2.4" version "3.2.4"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: ansi-escapes@^3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
ansi-escapes@^4.2.1: ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
version "4.3.1" version "4.3.1"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
...@@ -3132,37 +3096,37 @@ anymatch@~3.1.1: ...@@ -3132,37 +3096,37 @@ anymatch@~3.1.1:
normalize-path "^3.0.0" normalize-path "^3.0.0"
picomatch "^2.0.4" picomatch "^2.0.4"
app-builder-bin@3.5.5: app-builder-bin@3.5.8:
version "3.5.5" version "3.5.8"
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.5.tgz#c83200dccd8df5ccb2a5adcd41b2a76bacfb531a" resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.8.tgz#4b96cf7d114171b20f32138082dc7cf20f16b85d"
integrity sha512-ZcHzJ9Xl+azPqdKzXZKdRZmkNmbxHHZyl4cbobNf8qMQpoPChpcov8riVrZSbu/0cT/JqJ8LOwJjy1OAwbChaQ== integrity sha512-ni3q7QTfQNWHNWuyn5x3FZu6GnQZv+TFnfgk5++svqleKEhHGqS1mIaKsh7x5pBX6NFXU3/+ktk98wA/AW4EXw==
app-builder-lib@22.4.1, app-builder-lib@~22.4.1: app-builder-lib@22.6.0:
version "22.4.1" version "22.6.0"
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.4.1.tgz#9d73b2834e434fb65fc9571ae3fed3c1470b6915" resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.6.0.tgz#65782fa8fc96180a22c008eb78c1355349bb0b86"
integrity sha512-epwUzIM+2pcdy/If9koTP74CKx4v7xGPj75a2Z5cM4rrGN9yVZ3eDUBbfF0e0qE4Qmcv5pd0BAZJ26bGm8NWsQ== integrity sha512-ky2aLYy92U+Gh6dKq/e8/bNmCotp6/GMhnX8tDZPv9detLg9WuBnWWi1ktBPlpbl1DREusy+TIh+9rgvfduQoA==
dependencies: dependencies:
"7zip-bin" "~5.0.3" "7zip-bin" "~5.0.3"
"@develar/schema-utils" "~2.1.0" "@develar/schema-utils" "~2.6.5"
async-exit-hook "^2.0.1" async-exit-hook "^2.0.1"
bluebird-lst "^1.0.9" bluebird-lst "^1.0.9"
builder-util "22.4.1" builder-util "22.6.0"
builder-util-runtime "8.6.2" builder-util-runtime "8.7.0"
chromium-pickle-js "^0.2.0" chromium-pickle-js "^0.2.0"
debug "^4.1.1" debug "^4.1.1"
ejs "^3.0.1" ejs "^3.1.2"
electron-publish "22.4.1" electron-publish "22.6.0"
fs-extra "^8.1.0" fs-extra "^9.0.0"
hosted-git-info "^3.0.4" hosted-git-info "^3.0.4"
is-ci "^2.0.0" is-ci "^2.0.0"
isbinaryfile "^4.0.4" isbinaryfile "^4.0.6"
js-yaml "^3.13.1" js-yaml "^3.13.1"
lazy-val "^1.0.4" lazy-val "^1.0.4"
minimatch "^3.0.4" minimatch "^3.0.4"
normalize-package-data "^2.5.0" normalize-package-data "^2.5.0"
read-config-file "5.0.2" read-config-file "6.0.0"
sanitize-filename "^1.6.3" sanitize-filename "^1.6.3"
semver "^7.1.3" semver "^7.3.2"
temp-file "^3.3.7" temp-file "^3.3.7"
aproba@^1.0.3, aproba@^1.1.1: aproba@^1.0.3, aproba@^1.1.1:
...@@ -3322,6 +3286,11 @@ astral-regex@^1.0.0: ...@@ -3322,6 +3286,11 @@ astral-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
astral-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
async-each@^1.0.1: async-each@^1.0.1:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
...@@ -3345,21 +3314,24 @@ async-listener@^0.6.0: ...@@ -3345,21 +3314,24 @@ async-listener@^0.6.0:
semver "^5.3.0" semver "^5.3.0"
shimmer "^1.1.0" shimmer "^1.1.0"
async@2.6.1: async@0.9.x:
version "2.6.1" version "0.9.2"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
dependencies:
lodash "^4.17.10"
async@^2.4.1, async@^2.6, async@^2.6.0, async@~2.6.1: async@1.5:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
async@^2.6.3, async@~2.6.1:
version "2.6.3" version "2.6.3"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
dependencies: dependencies:
lodash "^4.17.14" lodash "^4.17.14"
async@^3.1.0: async@~3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
...@@ -3369,6 +3341,11 @@ asynckit@^0.4.0: ...@@ -3369,6 +3341,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
at-least-node@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
atob-lite@^2.0.0: atob-lite@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696"
...@@ -3575,11 +3552,6 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: ...@@ -3575,11 +3552,6 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
bodec@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/bodec/-/bodec-0.1.0.tgz#bc851555430f23c9f7650a75ef64c6a94c3418cc"
integrity sha1-vIUVVUMPI8n3ZQp172TGqUw0GMw=
body-parser@1.19.0: body-parser@1.19.0:
version "1.19.0" version "1.19.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
...@@ -3596,6 +3568,11 @@ body-parser@1.19.0: ...@@ -3596,6 +3568,11 @@ body-parser@1.19.0:
raw-body "2.4.0" raw-body "2.4.0"
type-is "~1.6.17" type-is "~1.6.17"
boolbase@^1.0.0, boolbase@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
boolean@^3.0.0: boolean@^3.0.0:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.1.tgz#35ecf2b4a2ee191b0b44986f14eb5f052a5cbb4f" resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.1.tgz#35ecf2b4a2ee191b0b44986f14eb5f052a5cbb4f"
...@@ -3651,6 +3628,11 @@ brorand@^1.0.1: ...@@ -3651,6 +3628,11 @@ brorand@^1.0.1:
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
browser-stdout@1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
...@@ -3719,6 +3701,16 @@ browserslist@4.8.3: ...@@ -3719,6 +3701,16 @@ browserslist@4.8.3:
electron-to-chromium "^1.3.322" electron-to-chromium "^1.3.322"
node-releases "^1.1.44" node-releases "^1.1.44"
browserslist@^4.0.0:
version "4.12.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d"
integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==
dependencies:
caniuse-lite "^1.0.30001043"
electron-to-chromium "^1.3.413"
node-releases "^1.1.53"
pkg-up "^2.0.0"
browserslist@^4.6.0, browserslist@^4.8.5: browserslist@^4.6.0, browserslist@^4.8.5:
version "4.11.1" version "4.11.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b"
...@@ -3758,31 +3750,31 @@ buffer@^4.3.0: ...@@ -3758,31 +3750,31 @@ buffer@^4.3.0:
ieee754 "^1.1.4" ieee754 "^1.1.4"
isarray "^1.0.0" isarray "^1.0.0"
builder-util-runtime@8.6.2: builder-util-runtime@8.7.0:
version "8.6.2" version "8.7.0"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.6.2.tgz#8270e15b012d8d3b110f3e327b0fd8b0e07b1686" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.0.tgz#e48ad004835c8284662e8eaf47a53468c66e8e8d"
integrity sha512-9QnIBISfhgQ2BxtRLidVqf/v5HD73vSKZDllpUmGd2L6VORGQk7cZAPmPtw4HQM3gPBelyVJ5yIjMNZ8xjmd1A== integrity sha512-G1AqqVM2vYTrSFR982c1NNzwXKrGLQjVjaZaWQdn4O6Z3YKjdMDofw88aD9jpyK9ZXkrCxR0tI3Qe9wNbyTlXg==
dependencies: dependencies:
debug "^4.1.1" debug "^4.1.1"
sax "^1.2.4" sax "^1.2.4"
builder-util@22.4.1, builder-util@~22.4.1: builder-util@22.6.0:
version "22.4.1" version "22.6.0"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.4.1.tgz#49cce9f06a62cdccda66d5efa82077040fa1f462" resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.6.0.tgz#25a3aca05d2c44949f0600282264dace8d289ee7"
integrity sha512-+ysLc7cC4w6P7rBxmZ5X2aU3QvcwFoWCl1us+mcUKdsGmJAtFUMPJqueeptdxjyPrPShIUOKHzA8uk5A3d1fHg== integrity sha512-jgdES2ExJYkuXC3DEaGAjFctKNA81C4QDy8zdoc+rqdSqheTizuDNtZg02uMFklmUES4V4fggmqds+Y7wraqng==
dependencies: dependencies:
"7zip-bin" "~5.0.3" "7zip-bin" "~5.0.3"
"@types/debug" "^4.1.5" "@types/debug" "^4.1.5"
"@types/fs-extra" "^8.1.0" "@types/fs-extra" "^8.1.0"
app-builder-bin "3.5.5" app-builder-bin "3.5.8"
bluebird-lst "^1.0.9" bluebird-lst "^1.0.9"
builder-util-runtime "8.6.2" builder-util-runtime "8.7.0"
chalk "^3.0.0" chalk "^4.0.0"
debug "^4.1.1" debug "^4.1.1"
fs-extra "^8.1.0" fs-extra "^9.0.0"
is-ci "^2.0.0" is-ci "^2.0.0"
js-yaml "^3.13.1" js-yaml "^3.13.1"
source-map-support "^0.5.16" source-map-support "^0.5.19"
stat-mode "^1.0.0" stat-mode "^1.0.0"
temp-file "^3.3.7" temp-file "^3.3.7"
...@@ -3931,6 +3923,21 @@ camelize@^1.0.0: ...@@ -3931,6 +3923,21 @@ camelize@^1.0.0:
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
dependencies:
browserslist "^4.0.0"
caniuse-lite "^1.0.0"
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043:
version "1.0.30001045"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001045.tgz#a770df9de36ad6ca0c34f90eaa797a2dbbb1b619"
integrity sha512-Y8o2Iz1KPcD6FjySbk1sPpvJqchgxk/iow0DABpGyzA1UeQAuxh63Xh0Enj5/BrsYbXtCN32JmR4ZxQTCQ6E6A==
caniuse-lite@^1.0.30001017, caniuse-lite@^1.0.30001038: caniuse-lite@^1.0.30001017, caniuse-lite@^1.0.30001038:
version "1.0.30001040" version "1.0.30001040"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001040.tgz#103fc8e6eb1d7397e95134cd0e996743353d58ea" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001040.tgz#103fc8e6eb1d7397e95134cd0e996743353d58ea"
...@@ -3941,7 +3948,7 @@ caseless@~0.12.0: ...@@ -3941,7 +3948,7 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2" version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
...@@ -3950,7 +3957,15 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3. ...@@ -3950,7 +3957,15 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.
escape-string-regexp "^1.0.5" escape-string-regexp "^1.0.5"
supports-color "^5.3.0" supports-color "^5.3.0"
chalk@^1.0.0, chalk@^1.1.3: chalk@3.0.0, chalk@^3.0.0, chalk@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
...@@ -3961,14 +3976,6 @@ chalk@^1.0.0, chalk@^1.1.3: ...@@ -3961,14 +3976,6 @@ chalk@^1.0.0, chalk@^1.1.3:
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
supports-color "^2.0.0" supports-color "^2.0.0"
chalk@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^4.0.0: chalk@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
...@@ -3987,6 +3994,21 @@ charm@~0.1.1: ...@@ -3987,6 +3994,21 @@ charm@~0.1.1:
resolved "https://registry.yarnpkg.com/charm/-/charm-0.1.2.tgz#06c21eed1a1b06aeb67553cdc53e23274bac2296" resolved "https://registry.yarnpkg.com/charm/-/charm-0.1.2.tgz#06c21eed1a1b06aeb67553cdc53e23274bac2296"
integrity sha1-BsIe7RobBq62dVPNxT4jJ0usIpY= integrity sha1-BsIe7RobBq62dVPNxT4jJ0usIpY=
chokidar@3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6"
integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==
dependencies:
anymatch "~3.1.1"
braces "~3.0.2"
glob-parent "~5.1.0"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.2.0"
optionalDependencies:
fsevents "~2.1.1"
chokidar@^2.1.8: chokidar@^2.1.8:
version "2.1.8" version "2.1.8"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
...@@ -4006,7 +4028,7 @@ chokidar@^2.1.8: ...@@ -4006,7 +4028,7 @@ chokidar@^2.1.8:
optionalDependencies: optionalDependencies:
fsevents "^1.2.7" fsevents "^1.2.7"
chokidar@^3.2.0, chokidar@^3.2.2, chokidar@^3.3.0: chokidar@^3.2.2, chokidar@^3.3.0:
version "3.3.1" version "3.3.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450"
integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==
...@@ -4066,12 +4088,17 @@ claygl@^1.2.1: ...@@ -4066,12 +4088,17 @@ claygl@^1.2.1:
resolved "https://registry.yarnpkg.com/claygl/-/claygl-1.3.0.tgz#7a6e2903210519ac358848f5d78070ed211685f3" resolved "https://registry.yarnpkg.com/claygl/-/claygl-1.3.0.tgz#7a6e2903210519ac358848f5d78070ed211685f3"
integrity sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ== integrity sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ==
clean-stack@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
cli-boxes@^2.2.0: cli-boxes@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d"
integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==
cli-cursor@^2.0.0, cli-cursor@^2.1.0: cli-cursor@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
...@@ -4090,20 +4117,21 @@ cli-spinners@^2.2.0: ...@@ -4090,20 +4117,21 @@ cli-spinners@^2.2.0:
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5"
integrity sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w== integrity sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==
cli-table-redemption@1.0.1: cli-tableau@^2.0.0:
version "1.0.1" version "2.0.0"
resolved "https://registry.yarnpkg.com/cli-table-redemption/-/cli-table-redemption-1.0.1.tgz#0359d8c34df74980029d76dff071a05a127c4fdd" resolved "https://registry.yarnpkg.com/cli-tableau/-/cli-tableau-2.0.0.tgz#0d156115011d1f4112baa40994c60de6fcf21e4d"
integrity sha512-SjVCciRyx01I4azo2K2rcc0NP/wOceXGzG1ZpYkEulbbIxDA/5YWv0oxG2HtQ4v8zPC6bgbRI7SbNaTZCxMNkg== integrity sha512-7A9bemSJ87/HMuP53uvSAhEvJ9rfgb+6UmEYii1J5nav63q5VIcxCrv4jA1YiWJQFI73CY+JTl+qt+aQhWQ27Q==
dependencies: dependencies:
chalk "^1.1.3" chalk "3.0.0"
mocha "^7.1.1"
cli-truncate@^0.2.1: cli-truncate@^2.1.0:
version "0.2.1" version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
dependencies: dependencies:
slice-ansi "0.0.4" slice-ansi "^3.0.0"
string-width "^1.0.1" string-width "^4.2.0"
cli-width@^2.0.0: cli-width@^2.0.0:
version "2.2.0" version "2.2.0"
...@@ -4154,6 +4182,15 @@ co@^4.6.0: ...@@ -4154,6 +4182,15 @@ co@^4.6.0:
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
coa@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
dependencies:
"@types/q" "^1.5.1"
chalk "^2.4.1"
q "^1.1.2"
code-point-at@^1.0.0: code-point-at@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
...@@ -4167,7 +4204,7 @@ collection-visit@^1.0.0: ...@@ -4167,7 +4204,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0" map-visit "^1.0.0"
object-visit "^1.0.0" object-visit "^1.0.0"
color-convert@^1.9.0: color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.3" version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
...@@ -4186,11 +4223,27 @@ color-name@1.1.3: ...@@ -4186,11 +4223,27 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@~1.1.4: color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4" version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-string@^1.5.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
dependencies:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
dependencies:
color-convert "^1.9.1"
color-string "^1.5.2"
columnify@^1.5.4: columnify@^1.5.4:
version "1.5.4" version "1.5.4"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
...@@ -4216,10 +4269,10 @@ commander@2.15.1: ...@@ -4216,10 +4269,10 @@ commander@2.15.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==
commander@^4.0.1: commander@^5.0.0:
version "4.1.1" version "5.0.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" resolved "https://registry.yarnpkg.com/commander/-/commander-5.0.0.tgz#dbf1909b49e5044f8fdaf0adc809f0c0722bdfd0"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== integrity sha512-JrDGPAKjMGSP1G0DUoaceEJ3DZgAfr/q6X7FVk4+U5KxUSKviYGM2k6zWkfyyBHy5rAtzgYJFa1ro2O9PtoxwQ==
commondir@^1.0.1: commondir@^1.0.1:
version "1.0.1" version "1.0.1"
...@@ -4436,14 +4489,6 @@ cookie@0.4.0: ...@@ -4436,14 +4489,6 @@ cookie@0.4.0:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
cookies@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b"
integrity sha1-fIphX1SBxhq58WyDNzG8uPZjuZs=
dependencies:
depd "~1.1.1"
keygrip "~1.0.2"
copy-concurrently@^1.0.0: copy-concurrently@^1.0.0:
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
...@@ -4484,7 +4529,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: ...@@ -4484,7 +4529,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
cosmiconfig@^5.1.0: cosmiconfig@^5.0.0, cosmiconfig@^5.1.0:
version "5.2.1" version "5.2.1"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
...@@ -4536,10 +4581,10 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: ...@@ -4536,10 +4581,10 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1" safe-buffer "^5.0.1"
sha.js "^2.4.8" sha.js "^2.4.8"
cron@1.7.1: cron@1.8.2:
version "1.7.1" version "1.8.2"
resolved "https://registry.yarnpkg.com/cron/-/cron-1.7.1.tgz#e85ee9df794d1bc6579896ee382053c3ce33778f" resolved "https://registry.yarnpkg.com/cron/-/cron-1.8.2.tgz#4ac5e3c55ba8c163d84f3407bde94632da8370ce"
integrity sha512-gmMB/pJcqUVs/NklR1sCGlNYM7TizEw+1gebz20BMc/8bTm/r7QUp3ZPSPlG8Z5XRlvb7qhjEjq/+bdIfUCL2A== integrity sha512-Gk2c4y6xKEO8FSAUTklqtfSr7oTq0CiPQeLBG5Fl0qoXpZyMcj1SG59YL+hqq04bu6/IuEA7lMkYDAplQNKkyg==
dependencies: dependencies:
moment-timezone "^0.5.x" moment-timezone "^0.5.x"
...@@ -4605,28 +4650,23 @@ css-color-keywords@^1.0.0: ...@@ -4605,28 +4650,23 @@ css-color-keywords@^1.0.0:
resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
css-loader@3.3.0: css-color-names@0.0.4, css-color-names@^0.0.4:
version "3.3.0" version "0.0.4"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.3.0.tgz#65f889807baec3197313965d6cda9899f936734d" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
integrity sha512-x9Y1vvHe5RR+4tzwFdWExPueK00uqFTCw7mZy+9aE/X1SKWOArm5luaOrtJ4d05IpOwJ6S86b/tVcIdhw1Bu4A== integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
css-declaration-sorter@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
dependencies: dependencies:
camelcase "^5.3.1" postcss "^7.0.1"
cssesc "^3.0.0" timsort "^0.3.0"
icss-utils "^4.1.1"
loader-utils "^1.2.3"
normalize-path "^3.0.0"
postcss "^7.0.23"
postcss-modules-extract-imports "^2.0.0"
postcss-modules-local-by-default "^3.0.2"
postcss-modules-scope "^2.1.1"
postcss-modules-values "^3.0.0"
postcss-value-parser "^4.0.2"
schema-utils "^2.6.0"
css-loader@3.5.2: css-loader@3.5.3:
version "3.5.2" version "3.5.3"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.2.tgz#6483ae56f48a7f901fbe07dde2fc96b01eafab3c" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf"
integrity sha512-hDL0DPopg6zQQSRlZm0hyeaqIRnL0wbWjay9BZxoiJBpbfOW4WHfbaYQhwnDmEa0kZUc1CJ3IFo15ot1yULMIQ== integrity sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==
dependencies: dependencies:
camelcase "^5.3.1" camelcase "^5.3.1"
cssesc "^3.0.0" cssesc "^3.0.0"
...@@ -4639,9 +4679,24 @@ css-loader@3.5.2: ...@@ -4639,9 +4679,24 @@ css-loader@3.5.2:
postcss-modules-scope "^2.2.0" postcss-modules-scope "^2.2.0"
postcss-modules-values "^3.0.0" postcss-modules-values "^3.0.0"
postcss-value-parser "^4.0.3" postcss-value-parser "^4.0.3"
schema-utils "^2.6.5" schema-utils "^2.6.6"
semver "^6.3.0" semver "^6.3.0"
css-select-base-adapter@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
css-select@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
dependencies:
boolbase "^1.0.0"
css-what "^3.2.1"
domutils "^1.7.0"
nth-check "^1.0.2"
css-to-react-native@^3.0.0: css-to-react-native@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756" resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756"
...@@ -4651,7 +4706,28 @@ css-to-react-native@^3.0.0: ...@@ -4651,7 +4706,28 @@ css-to-react-native@^3.0.0:
css-color-keywords "^1.0.0" css-color-keywords "^1.0.0"
postcss-value-parser "^4.0.2" postcss-value-parser "^4.0.2"
css@2.2.4, css@^2.0.0: css-tree@1.0.0-alpha.37:
version "1.0.0-alpha.37"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
dependencies:
mdn-data "2.0.4"
source-map "^0.6.1"
css-tree@1.0.0-alpha.39:
version "1.0.0-alpha.39"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"
integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==
dependencies:
mdn-data "2.0.6"
source-map "^0.6.1"
css-what@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1"
integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==
css@^2.0.0:
version "2.2.4" version "2.2.4"
resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
...@@ -4666,16 +4742,86 @@ cssesc@^3.0.0: ...@@ -4666,16 +4742,86 @@ cssesc@^3.0.0:
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
cssnano-preset-default@^4.0.7:
version "4.0.7"
resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==
dependencies:
css-declaration-sorter "^4.0.1"
cssnano-util-raw-cache "^4.0.1"
postcss "^7.0.0"
postcss-calc "^7.0.1"
postcss-colormin "^4.0.3"
postcss-convert-values "^4.0.1"
postcss-discard-comments "^4.0.2"
postcss-discard-duplicates "^4.0.2"
postcss-discard-empty "^4.0.1"
postcss-discard-overridden "^4.0.1"
postcss-merge-longhand "^4.0.11"
postcss-merge-rules "^4.0.3"
postcss-minify-font-values "^4.0.2"
postcss-minify-gradients "^4.0.2"
postcss-minify-params "^4.0.2"
postcss-minify-selectors "^4.0.2"
postcss-normalize-charset "^4.0.1"
postcss-normalize-display-values "^4.0.2"
postcss-normalize-positions "^4.0.2"
postcss-normalize-repeat-style "^4.0.2"
postcss-normalize-string "^4.0.2"
postcss-normalize-timing-functions "^4.0.2"
postcss-normalize-unicode "^4.0.1"
postcss-normalize-url "^4.0.1"
postcss-normalize-whitespace "^4.0.2"
postcss-ordered-values "^4.1.2"
postcss-reduce-initial "^4.0.3"
postcss-reduce-transforms "^4.0.2"
postcss-svgo "^4.0.2"
postcss-unique-selectors "^4.0.1"
cssnano-util-get-arguments@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=
cssnano-util-get-match@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=
cssnano-util-raw-cache@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
dependencies:
postcss "^7.0.0"
cssnano-util-same-parent@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
cssnano@4.1.10:
version "4.1.10"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
dependencies:
cosmiconfig "^5.0.0"
cssnano-preset-default "^4.0.7"
is-resolvable "^1.0.0"
postcss "^7.0.0"
csso@^4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"
integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==
dependencies:
css-tree "1.0.0-alpha.39"
csstype@^2.2.0, csstype@^2.5.7: csstype@^2.2.0, csstype@^2.5.7:
version "2.6.10" version "2.6.10"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b"
integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w== integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==
culvert@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/culvert/-/culvert-0.1.2.tgz#9502f5f0154a2d5a22a023e79f71cc936fa6ef6f"
integrity sha1-lQL18BVKLVoioCPnn3HMk2+m728=
currently-unhandled@^0.4.1: currently-unhandled@^0.4.1:
version "0.4.1" version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
...@@ -4981,17 +5127,17 @@ data-uri-to-buffer@1: ...@@ -4981,17 +5127,17 @@ data-uri-to-buffer@1:
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835"
integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ== integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==
date-fns@1.30.1, date-fns@^1.27.2:
version "1.30.1"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
dateformat@^3.0.0: dateformat@^3.0.0:
version "3.0.3" version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: dayjs@~1.8.24, dayjs@~1.8.25:
version "1.8.25"
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.25.tgz#d09a8696cee7191bc1289e739f96626391b9c73c"
integrity sha512-Pk36juDfQQGDCgr0Lqd1kw15w3OS6xt21JaLPE3lCfsEf8KrERGwDNwvK1tRjrjqFC0uZBJncT4smZQ4F+uV5g==
debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
version "2.6.9" version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
...@@ -5005,20 +5151,20 @@ debug@3.1.0, debug@=3.1.0: ...@@ -5005,20 +5151,20 @@ debug@3.1.0, debug@=3.1.0:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@4, debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: debug@3.2.6, debug@^3.0, debug@^3.0.0, debug@^3.1.0, debug@^3.2.6, debug@~3.2.6:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
dependencies:
ms "^2.1.1"
debug@^3.0, debug@^3.0.0, debug@^3.1.0, debug@^3.2.6:
version "3.2.6" version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
debug@4, debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
dependencies:
ms "^2.1.1"
debuglog@^1.0.1: debuglog@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
...@@ -5124,7 +5270,7 @@ delegates@^1.0.0: ...@@ -5124,7 +5270,7 @@ delegates@^1.0.0:
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
depd@~1.1.1, depd@~1.1.2: depd@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
...@@ -5157,11 +5303,6 @@ detect-indent@^5.0.0: ...@@ -5157,11 +5303,6 @@ detect-indent@^5.0.0:
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50=
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
detect-node@2.0.4, detect-node@^2.0.4: detect-node@2.0.4, detect-node@^2.0.4:
version "2.0.4" version "2.0.4"
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
...@@ -5175,6 +5316,11 @@ dezalgo@^1.0.0: ...@@ -5175,6 +5316,11 @@ dezalgo@^1.0.0:
asap "^2.0.0" asap "^2.0.0"
wrappy "1" wrappy "1"
diff@3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
diff@^4.0.1: diff@^4.0.1:
version "4.0.2" version "4.0.2"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
...@@ -5196,15 +5342,14 @@ dir-glob@^2.2.2: ...@@ -5196,15 +5342,14 @@ dir-glob@^2.2.2:
dependencies: dependencies:
path-type "^3.0.0" path-type "^3.0.0"
dmg-builder@22.4.1: dmg-builder@22.6.0:
version "22.4.1" version "22.6.0"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.4.1.tgz#ab80d3d6e4ed8a1d38beddbfe97c8f7a794dd932" resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.6.0.tgz#78c3dee24f5713f4844d458949041e31fe7eec30"
integrity sha512-hEemh7n0zoVt7zPPwvn7iOttP03oENjJ4ApttPmt8oDnX8T4q42MjGWyDlLkPMplMJfoTxkkNqmm296f0OYM8Q== integrity sha512-rJxuGhHIpcuDGBtWZMM8aLxkbZNgYO2MO5dUerDIBXebhX1K8DA23iz/uZ8ahcRNgWEv57b8GDqJbXKEfr5T0A==
dependencies: dependencies:
app-builder-lib "~22.4.1" app-builder-lib "22.6.0"
bluebird-lst "^1.0.9" builder-util "22.6.0"
builder-util "~22.4.1" fs-extra "^9.0.0"
fs-extra "^8.1.0"
iconv-lite "^0.5.1" iconv-lite "^0.5.1"
js-yaml "^3.13.1" js-yaml "^3.13.1"
sanitize-filename "^1.6.3" sanitize-filename "^1.6.3"
...@@ -5223,7 +5368,7 @@ doctrine@^3.0.0: ...@@ -5223,7 +5368,7 @@ doctrine@^3.0.0:
dependencies: dependencies:
esutils "^2.0.2" esutils "^2.0.2"
dom-serializer@^0.2.1: dom-serializer@0, dom-serializer@^0.2.1:
version "0.2.2" version "0.2.2"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
...@@ -5236,6 +5381,11 @@ domain-browser@^1.1.1: ...@@ -5236,6 +5381,11 @@ domain-browser@^1.1.1:
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
domelementtype@1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
domelementtype@^2.0.1: domelementtype@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
...@@ -5257,6 +5407,14 @@ domutils@2.0.0, domutils@^2.0.0: ...@@ -5257,6 +5407,14 @@ domutils@2.0.0, domutils@^2.0.0:
domelementtype "^2.0.1" domelementtype "^2.0.1"
domhandler "^3.0.0" domhandler "^3.0.0"
domutils@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
dependencies:
dom-serializer "0"
domelementtype "1"
dot-prop@^3.0.0: dot-prop@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
...@@ -5336,42 +5494,44 @@ ee-first@1.1.1: ...@@ -5336,42 +5494,44 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
ejs@^3.0.1: ejs@^3.1.2:
version "3.0.2" version "3.1.2"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.0.2.tgz#745b01cdcfe38c1c6a2da3bbb2d9957060a31226" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.2.tgz#a9986e6920a60f2a3229e87d4f0f3c073209874c"
integrity sha512-IncmUpn1yN84hy2shb0POJ80FWrfGNY0cxO9f4v+/sG7qcBvAtVWUA1IdzY/8EYUmOVhoKJVdJjNd3AZcnxOjA== integrity sha512-zFuywxrAWtX5Mk2KAuoJNkXXbfezpNA0v7i+YC971QORguPekpjpAgeOv99YWSdKXwj7JxI2QAWDeDkE8fWtXw==
dependencies:
jake "^10.6.1"
electron-builder@22.4.1: electron-builder@22.6.0:
version "22.4.1" version "22.6.0"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.4.1.tgz#7a7a2cbd9955c90cecc36de32ecba7f565265bab" resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.6.0.tgz#3ac81634e27026892d66f3a52568e65a7d28d26a"
integrity sha512-13CjZcGeJS+c3EKRwFT/Oty5Niif5g1FwDioBLEbjkPCPQgxdtDsr+rJtCu9qxkiKDYpAoPS+t/clNk0efONvQ== integrity sha512-aLHlB6DTfjJ3MI4AUIFeWnwIozNgNlbOk2c2sTHxB10cAKp0dBVSPZ7xF5NK0uwDhElvRzJQubnHtJD6zKg42Q==
dependencies: dependencies:
"@types/yargs" "^15.0.4" "@types/yargs" "^15.0.4"
app-builder-lib "22.4.1" app-builder-lib "22.6.0"
bluebird-lst "^1.0.9" bluebird-lst "^1.0.9"
builder-util "22.4.1" builder-util "22.6.0"
builder-util-runtime "8.6.2" builder-util-runtime "8.7.0"
chalk "^3.0.0" chalk "^4.0.0"
dmg-builder "22.4.1" dmg-builder "22.6.0"
fs-extra "^8.1.0" fs-extra "^9.0.0"
is-ci "^2.0.0" is-ci "^2.0.0"
lazy-val "^1.0.4" lazy-val "^1.0.4"
read-config-file "5.0.2" read-config-file "6.0.0"
sanitize-filename "^1.6.3" sanitize-filename "^1.6.3"
update-notifier "^4.1.0" update-notifier "^4.1.0"
yargs "^15.1.0" yargs "^15.3.1"
electron-publish@22.4.1: electron-publish@22.6.0:
version "22.4.1" version "22.6.0"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.4.1.tgz#a7fcf166786f7d5957f19a70ee8389f219769ba5" resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.6.0.tgz#11dca595cfe3c0fdbc364c28dbb8838a1c6ec799"
integrity sha512-nwKNum3KXm+01rtWX2pc1jhazdzDy2zYnQx+zmXphZchjd6UOMX3ZN0xyZUCKugw5ZliflT6LkgbrcBXBtYD3A== integrity sha512-+v05SBf9qR7Os5au+fifloNHy5QxHQkUGudBj68YaTb43Pn37UkwRxSc49Lf13s4wW32ohM45g8BOVInPJEdnA==
dependencies: dependencies:
"@types/fs-extra" "^8.1.0" "@types/fs-extra" "^8.1.0"
bluebird-lst "^1.0.9" bluebird-lst "^1.0.9"
builder-util "~22.4.1" builder-util "22.6.0"
builder-util-runtime "8.6.2" builder-util-runtime "8.7.0"
chalk "^3.0.0" chalk "^4.0.0"
fs-extra "^8.1.0" fs-extra "^9.0.0"
lazy-val "^1.0.4" lazy-val "^1.0.4"
mime "^2.4.4" mime "^2.4.4"
...@@ -5380,19 +5540,24 @@ electron-to-chromium@^1.3.322, electron-to-chromium@^1.3.390: ...@@ -5380,19 +5540,24 @@ electron-to-chromium@^1.3.322, electron-to-chromium@^1.3.390:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.403.tgz#c8bab4e2e72bf78bc28bad1cc355c061f9cc1918" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.403.tgz#c8bab4e2e72bf78bc28bad1cc355c061f9cc1918"
integrity sha512-JaoxV4RzdBAZOnsF4dAlZ2ijJW72MbqO5lNfOBHUWiBQl3Rwe+mk2RCUMrRI3rSClLJ8HSNQNqcry12H+0ZjFw== integrity sha512-JaoxV4RzdBAZOnsF4dAlZ2ijJW72MbqO5lNfOBHUWiBQl3Rwe+mk2RCUMrRI3rSClLJ8HSNQNqcry12H+0ZjFw==
electron@8.2.1: electron-to-chromium@^1.3.413:
version "8.2.1" version "1.3.414"
resolved "https://registry.yarnpkg.com/electron/-/electron-8.2.1.tgz#0341ea01272a69f4f3a2bd4cb41521adb1e4ddcf" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.414.tgz#9d0a92defefda7cc1cf8895058b892795ddd6b41"
integrity sha512-+1PispFqjyKj3VeOPbEKEl6LYxPW41OxHgh9CGN8KeGygsKDHSZuuG9rYc+b9NeeaAl+gnV9VO2JOe7BIzXyOg== integrity sha512-UfxhIvED++qLwWrAq9uYVcqF8FdeV9sU2S7qhiHYFODxzXRrd1GZRl/PjITHsTEejgibcWDraD8TQqoHb1aCBQ==
electron@8.2.5:
version "8.2.5"
resolved "https://registry.yarnpkg.com/electron/-/electron-8.2.5.tgz#ae3cb23d5517b2189fd35298e487198d65d1a291"
integrity sha512-LxSCUwmlfJtRwthd3ofpYaZ+1C2hQSW8Ep1DD9K3VbnDItO+kb3t1z35daJgAab78j54aOwo9gMxJtvU0Ftj6w==
dependencies: dependencies:
"@electron/get" "^1.0.1" "@electron/get" "^1.0.1"
"@types/node" "^12.0.12" "@types/node" "^12.0.12"
extract-zip "^1.0.3" extract-zip "^1.0.3"
elegant-spinner@^1.0.1: elegant-spinner@^2.0.0:
version "1.0.1" version "2.0.0"
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-2.0.0.tgz#f236378985ecd16da75488d166be4b688fd5af94"
integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= integrity sha512-5YRYHhvhYzV/FC4AiMdeSIg3jAYGq9xFvbhZMpPlJoBsfYgrw2DSCYeXfat6tYBu45PWiyRr3+flaCPPmviPaA==
elliptic@^6.0.0: elliptic@^6.0.0:
version "6.5.2" version "6.5.2"
...@@ -5471,7 +5636,7 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: ...@@ -5471,7 +5636,7 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
memory-fs "^0.5.0" memory-fs "^0.5.0"
tapable "^1.0.0" tapable "^1.0.0"
enquirer@^2.3.2: enquirer@2.3.5, enquirer@^2.3.4:
version "2.3.5" version "2.3.5"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381"
integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA== integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==
...@@ -5512,7 +5677,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: ...@@ -5512,7 +5677,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
dependencies: dependencies:
is-arrayish "^0.2.1" is-arrayish "^0.2.1"
es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
version "1.17.5" version "1.17.5"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9"
integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==
...@@ -5596,7 +5761,7 @@ escape-regexp@0.0.1: ...@@ -5596,7 +5761,7 @@ escape-regexp@0.0.1:
resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254" resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254"
integrity sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ= integrity sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ=
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" version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
...@@ -5618,24 +5783,24 @@ escodegen@1.x.x: ...@@ -5618,24 +5783,24 @@ escodegen@1.x.x:
optionalDependencies: optionalDependencies:
source-map "~0.6.1" source-map "~0.6.1"
eslint-config-prettier@6.10.1: eslint-config-prettier@6.11.0:
version "6.10.1" version "6.11.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.10.1.tgz#129ef9ec575d5ddc0e269667bf09defcd898642a" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1"
integrity sha512-svTy6zh1ecQojvpbJSgH3aei/Rt7C6i090l5f2WQ4aB05lYHeZIR1qL4wZyyILTbtmnbHP5Yn8MrsOJMGa8RkQ== integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==
dependencies: dependencies:
get-stdin "^6.0.0" get-stdin "^6.0.0"
eslint-plugin-prettier@3.1.2: eslint-plugin-prettier@3.1.3:
version "3.1.2" version "3.1.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz#432e5a667666ab84ce72f945c72f77d996a5c9ba" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca"
integrity sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA== integrity sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==
dependencies: dependencies:
prettier-linter-helpers "^1.0.0" prettier-linter-helpers "^1.0.0"
eslint-plugin-react-hooks@3.0.0: eslint-plugin-react-hooks@4.0.0:
version "3.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz#9e80c71846eb68dd29c3b21d832728aa66e5bd35" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.0.tgz#81196b990043cde339e25c6662aeebe32ac52d01"
integrity sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw== integrity sha512-YKBY+kilK5wrwIdQnCF395Ya6nDro3EAMoe+2xFkmyklyhF16fH83TrQOo9zbZIDxBsXFgBbywta/0JKRNFDkw==
eslint-plugin-react@7.19.0: eslint-plugin-react@7.19.0:
version "7.19.0" version "7.19.0"
...@@ -5791,26 +5956,26 @@ eventemitter2@5.0.1, eventemitter2@^5.0.1, eventemitter2@~5.0.1: ...@@ -5791,26 +5956,26 @@ eventemitter2@5.0.1, eventemitter2@^5.0.1, eventemitter2@~5.0.1:
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-5.0.1.tgz#6197a095d5fb6b57e8942f6fd7eaad63a09c9452" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-5.0.1.tgz#6197a095d5fb6b57e8942f6fd7eaad63a09c9452"
integrity sha1-YZegldX7a1folC9v1+qtY6CclFI= integrity sha1-YZegldX7a1folC9v1+qtY6CclFI=
eventemitter2@^4.1.0: eventemitter2@^6.3.1:
version "4.1.2" version "6.3.1"
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-4.1.2.tgz#0e1a8477af821a6ef3995b311bf74c23a5247f15" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.3.1.tgz#14ec7db8c659aa9b36ad2ce4bfcaba95ad525536"
integrity sha1-DhqEd6+CGm7zmVsxG/dMI6UkfxU= integrity sha512-cxfu3g0IBn/JEhAPV33NZTi8llQQ5j62D0Yf4ir1U9uQ1DlRZLL3Hh2E/+TWDprSy4BETWvrGBZMUexuC2b6Lw==
eventemitter2@~0.4.14: eventemitter2@~0.4.14:
version "0.4.14" version "0.4.14"
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab"
integrity sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas= integrity sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=
eventemitter3@4.0.0, eventemitter3@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==
eventemitter3@^3.1.0: eventemitter3@^3.1.0:
version "3.1.2" version "3.1.2"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
eventemitter3@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==
events@^3.0.0: events@^3.0.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59"
...@@ -5837,10 +6002,10 @@ execa@^1.0.0: ...@@ -5837,10 +6002,10 @@ execa@^1.0.0:
signal-exit "^3.0.0" signal-exit "^3.0.0"
strip-eof "^1.0.0" strip-eof "^1.0.0"
execa@^3.4.0: execa@^4.0.0:
version "3.4.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.0.tgz#7f37d6ec17f09e6b8fc53288611695b6d12b9daf"
integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== integrity sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA==
dependencies: dependencies:
cross-spawn "^7.0.0" cross-spawn "^7.0.0"
get-stream "^5.0.0" get-stream "^5.0.0"
...@@ -5849,7 +6014,6 @@ execa@^3.4.0: ...@@ -5849,7 +6014,6 @@ execa@^3.4.0:
merge-stream "^2.0.0" merge-stream "^2.0.0"
npm-run-path "^4.0.0" npm-run-path "^4.0.0"
onetime "^5.1.0" onetime "^5.1.0"
p-finally "^2.0.0"
signal-exit "^3.0.2" signal-exit "^3.0.2"
strip-final-newline "^2.0.0" strip-final-newline "^2.0.0"
...@@ -6021,7 +6185,7 @@ fast-levenshtein@~2.0.6: ...@@ -6021,7 +6185,7 @@ fast-levenshtein@~2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fclone@1.0.11, fclone@^1.0.11: fclone@1.0.11, fclone@~1.0.11:
version "1.0.11" version "1.0.11"
resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640"
integrity sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA= integrity sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=
...@@ -6038,14 +6202,6 @@ figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: ...@@ -6038,14 +6202,6 @@ figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
figures@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
dependencies:
escape-string-regexp "^1.0.5"
object-assign "^4.1.0"
figures@^2.0.0: figures@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
...@@ -6053,7 +6209,7 @@ figures@^2.0.0: ...@@ -6053,7 +6209,7 @@ figures@^2.0.0:
dependencies: dependencies:
escape-string-regexp "^1.0.5" escape-string-regexp "^1.0.5"
figures@^3.0.0: figures@^3.0.0, figures@^3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
...@@ -6067,11 +6223,23 @@ file-entry-cache@^5.0.1: ...@@ -6067,11 +6223,23 @@ file-entry-cache@^5.0.1:
dependencies: dependencies:
flat-cache "^2.0.1" flat-cache "^2.0.1"
file-saver@2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.2.tgz#06d6e728a9ea2df2cce2f8d9e84dfcdc338ec17a"
integrity sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==
file-uri-to-path@1, file-uri-to-path@1.0.0: file-uri-to-path@1, file-uri-to-path@1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
filelist@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb"
integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==
dependencies:
minimatch "^3.0.4"
fill-range@^4.0.0: fill-range@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
...@@ -6102,6 +6270,15 @@ finalhandler@~1.1.2: ...@@ -6102,6 +6270,15 @@ finalhandler@~1.1.2:
statuses "~1.5.0" statuses "~1.5.0"
unpipe "~1.0.0" unpipe "~1.0.0"
find-cache-dir@3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
dependencies:
commondir "^1.0.1"
make-dir "^3.0.2"
pkg-dir "^4.1.0"
find-cache-dir@^2.1.0: find-cache-dir@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
...@@ -6116,6 +6293,13 @@ find-root@^1.1.0: ...@@ -6116,6 +6293,13 @@ find-root@^1.1.0:
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
find-up@3.0.0, find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
dependencies:
locate-path "^3.0.0"
find-up@^1.0.0: find-up@^1.0.0:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
...@@ -6131,13 +6315,6 @@ find-up@^2.0.0, find-up@^2.1.0: ...@@ -6131,13 +6315,6 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies: dependencies:
locate-path "^2.0.0" locate-path "^2.0.0"
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
dependencies:
locate-path "^3.0.0"
find-up@^4.0.0, find-up@^4.1.0: find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
...@@ -6172,6 +6349,13 @@ flat-cache@^2.0.1: ...@@ -6172,6 +6349,13 @@ flat-cache@^2.0.1:
rimraf "2.6.3" rimraf "2.6.3"
write "1.0.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"
integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==
dependencies:
is-buffer "~2.0.3"
flatted@^2.0.0: flatted@^2.0.0:
version "2.0.2" version "2.0.2"
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
...@@ -6266,6 +6450,16 @@ fs-extra@^8.1.0: ...@@ -6266,6 +6450,16 @@ fs-extra@^8.1.0:
jsonfile "^4.0.0" jsonfile "^4.0.0"
universalify "^0.1.0" universalify "^0.1.0"
fs-extra@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3"
integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==
dependencies:
at-least-node "^1.0.0"
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^1.0.0"
fs-minipass@^1.2.5: fs-minipass@^1.2.5:
version "1.2.7" version "1.2.7"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
...@@ -6303,6 +6497,11 @@ fsevents@^1.2.7: ...@@ -6303,6 +6497,11 @@ fsevents@^1.2.7:
bindings "^1.5.0" bindings "^1.5.0"
nan "^2.12.1" nan "^2.12.1"
fsevents@~2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
fsevents@~2.1.2: fsevents@~2.1.2:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
...@@ -6424,11 +6623,6 @@ getpass@^0.1.1: ...@@ -6424,11 +6623,6 @@ getpass@^0.1.1:
dependencies: dependencies:
assert-plus "^1.0.0" assert-plus "^1.0.0"
git-node-fs@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/git-node-fs/-/git-node-fs-1.0.0.tgz#49b215e242ebe43aa4c7561bbba499521752080f"
integrity sha1-SbIV4kLr5Dqkx1Ybu6SZUhdSCA8=
git-raw-commits@2.0.0: git-raw-commits@2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5"
...@@ -6456,11 +6650,6 @@ git-semver-tags@^2.0.3: ...@@ -6456,11 +6650,6 @@ git-semver-tags@^2.0.3:
meow "^4.0.0" meow "^4.0.0"
semver "^6.0.0" semver "^6.0.0"
git-sha1@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/git-sha1/-/git-sha1-0.1.2.tgz#599ac192b71875825e13a445f3a6e05118c2f745"
integrity sha1-WZrBkrcYdYJeE6RF86bgURjC90U=
git-up@^4.0.0: git-up@^4.0.0:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0"
...@@ -6508,6 +6697,18 @@ glob-to-regexp@^0.4.1: ...@@ -6508,6 +6697,18 @@ glob-to-regexp@^0.4.1:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
glob@7.1.3:
version "7.1.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
version "7.1.6" version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
...@@ -6648,6 +6849,11 @@ graphlib@^2.1.8: ...@@ -6648,6 +6849,11 @@ graphlib@^2.1.8:
dependencies: dependencies:
lodash "^4.17.15" lodash "^4.17.15"
growl@1.10.5:
version "1.10.5"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
handlebars@^4.4.0: handlebars@^4.4.0:
version "4.7.6" version "4.7.6"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e"
...@@ -6736,7 +6942,7 @@ has-yarn@^2.1.0: ...@@ -6736,7 +6942,7 @@ has-yarn@^2.1.0:
resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
has@^1.0.3: has@^1.0.0, has@^1.0.3:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
...@@ -6764,6 +6970,16 @@ hasurl@^1.0.0: ...@@ -6764,6 +6970,16 @@ hasurl@^1.0.0:
resolved "https://registry.yarnpkg.com/hasurl/-/hasurl-1.0.0.tgz#e4c619097ae1e8fc906bee904ce47e94f5e1ea37" resolved "https://registry.yarnpkg.com/hasurl/-/hasurl-1.0.0.tgz#e4c619097ae1e8fc906bee904ce47e94f5e1ea37"
integrity sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ== integrity sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ==
he@1.2.0:
version "1.2.0"
resolved "https://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"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
hmac-drbg@^1.0.0: hmac-drbg@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
...@@ -6799,6 +7015,21 @@ hosted-git-info@^3.0.4: ...@@ -6799,6 +7015,21 @@ hosted-git-info@^3.0.4:
dependencies: dependencies:
lru-cache "^5.1.1" lru-cache "^5.1.1"
hsl-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=
hsla-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
html-comment-regex@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
html-parse-stringify2@2.0.1: html-parse-stringify2@2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz#dc5670b7292ca158b7bc916c9a6735ac8872834a" resolved "https://registry.yarnpkg.com/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz#dc5670b7292ca158b7bc916c9a6735ac8872834a"
...@@ -6942,39 +7173,34 @@ husky@4.2.5: ...@@ -6942,39 +7173,34 @@ husky@4.2.5:
slash "^3.0.0" slash "^3.0.0"
which-pm-runs "^1.0.0" which-pm-runs "^1.0.0"
i18next-browser-languagedetector@4.0.2: i18next-browser-languagedetector@4.1.1:
version "4.0.2" version "4.1.1"
resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-4.0.2.tgz#eb02535cc5e57dd534fc60abeede05a3823a8551" resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-4.1.1.tgz#89656cd9b78bb92dc0c7e86c0d9606f3f15fabfa"
integrity sha512-AK4IZ3XST4HIKShgpB2gOFeDPrMOnZx56GLA6dGo/8rvkiczIlq05lV8w77c3ShEZxtTZeUVRI4Q/cBFFVXS/w== integrity sha512-akv0zurR/2KU7s1qaWkirY9FEEOT1TNsQaezEg8+1BLLQre7vylqb7tYoUgYqP/0/BEzXJgnoQnj+sh5xYFMhg==
dependencies: dependencies:
"@babel/runtime" "^7.5.5" "@babel/runtime" "^7.5.5"
i18next-express-middleware@1.9.1: i18next-fs-backend@1.0.2:
version "1.9.1" version "1.0.2"
resolved "https://registry.yarnpkg.com/i18next-express-middleware/-/i18next-express-middleware-1.9.1.tgz#71759c3bf751ecd483b41c6dfa488a6b6bc540a6" resolved "https://registry.yarnpkg.com/i18next-fs-backend/-/i18next-fs-backend-1.0.2.tgz#8f137a59a7088c97d5112d6d624ebb8c5675fac9"
integrity sha512-cLMO8pUC7sU6dfFvkREcim7fXOHVtGSZu3Lt8d1Ty7Z0nZiYs57Lb3CjDrXb671ibCnY2s/RCATsXlaujYwUQg== integrity sha512-7N7V6gu00/UBdCjz37JFKGB5UfuLDJlIoLMAxXQG5ih3CFKPqtJ7GfQ7lqd8t/L/6EQ1sciZ9022Xy5BwTrf7g==
dependencies:
cookies "0.7.1"
i18next-node-fs-backend@2.1.3: i18next-http-backend@1.0.8:
version "2.1.3" version "1.0.8"
resolved "https://registry.yarnpkg.com/i18next-node-fs-backend/-/i18next-node-fs-backend-2.1.3.tgz#483fa9eda4c152d62a3a55bcae2a5727ba887559" resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-1.0.8.tgz#6d32c4baacf363a26dfef76a973bfc3dd8d9b25d"
integrity sha512-CreMFiVl3ChlMc5ys/e0QfuLFOZyFcL40Jj6jaKD6DxZ/GCUMxPI9BpU43QMWUgC7r+PClpxg2cGXAl0CjG04g== integrity sha512-f9oWlt3AuMh+xuKVpG8qlP6azI40N+wRBK/2jaJ7tHk6vMJSAGtZSM76Zx7p2JULqj27yNnc2yOEN4moq3RuFg==
dependencies: dependencies:
js-yaml "3.13.1" node-fetch "2.6.0"
json5 "2.0.0"
i18next-xhr-backend@3.2.2: i18next-http-middleware@1.0.4:
version "3.2.2" version "1.0.4"
resolved "https://registry.yarnpkg.com/i18next-xhr-backend/-/i18next-xhr-backend-3.2.2.tgz#769124441461b085291f539d91864e3691199178" resolved "https://registry.yarnpkg.com/i18next-http-middleware/-/i18next-http-middleware-1.0.4.tgz#80d4edc8343e9db645303ef878a9ea711aaaf593"
integrity sha512-OtRf2Vo3IqAxsttQbpjYnmMML12IMB5e0fc5B7qKJFLScitYaXa1OhMX0n0X/3vrfFlpHL9Ro/H+ps4Ej2j7QQ== integrity sha512-ioH4LdcCeY6b5pIJppiw86ZjYnV2SnotZkDbGrLybnbc7qTBru4EnXXgMc7bWBjnIfhslW5usHddn6nojeIphw==
dependencies:
"@babel/runtime" "^7.5.5"
i18next@19.4.1: i18next@19.4.4:
version "19.4.1" version "19.4.4"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.4.1.tgz#4929d15d3d01e4712350a368d005cefa50ff5455" resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.4.4.tgz#c0a18bc2f2be554da636e67bfbf5200c7948b60d"
integrity sha512-dC3ue15jkLebN2je4xEjfjVYd/fSAo+UVK9f+JxvceCJRowkI+S0lGohgKejqU+FYLfvw9IAPylIIEWwR8Djrg== integrity sha512-ofaHtdsDdX3A5nYur1HWblB7J4hIcjr2ACdnwTAJgc8hTfPbyzZfGX0hVkKpI3vzDIgO6Uzc4v1ffW2W6gG6zw==
dependencies: dependencies:
"@babel/runtime" "^7.3.1" "@babel/runtime" "^7.3.1"
...@@ -7072,6 +7298,11 @@ indent-string@^3.0.0: ...@@ -7072,6 +7298,11 @@ indent-string@^3.0.0:
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=
indent-string@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
indexes-of@^1.0.1: indexes-of@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
...@@ -7198,6 +7429,11 @@ ipaddr.js@1.9.1: ...@@ -7198,6 +7429,11 @@ ipaddr.js@1.9.1:
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
is-absolute-url@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
is-accessor-descriptor@^0.1.6: is-accessor-descriptor@^0.1.6:
version "0.1.6" version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
...@@ -7217,6 +7453,11 @@ is-arrayish@^0.2.1: ...@@ -7217,6 +7453,11 @@ is-arrayish@^0.2.1:
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-arrayish@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
is-binary-path@^1.0.0: is-binary-path@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
...@@ -7236,6 +7477,11 @@ is-buffer@^1.1.5: ...@@ -7236,6 +7477,11 @@ is-buffer@^1.1.5:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
is-buffer@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
is-callable@^1.1.4, is-callable@^1.1.5: is-callable@^1.1.4, is-callable@^1.1.5:
version "1.1.5" version "1.1.5"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
...@@ -7248,6 +7494,18 @@ is-ci@^2.0.0: ...@@ -7248,6 +7494,18 @@ is-ci@^2.0.0:
dependencies: dependencies:
ci-info "^2.0.0" ci-info "^2.0.0"
is-color-stop@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=
dependencies:
css-color-names "^0.0.4"
hex-color-regex "^1.1.0"
hsl-regex "^1.0.0"
hsla-regex "^1.0.0"
rgb-regex "^1.0.1"
rgba-regex "^1.0.0"
is-data-descriptor@^0.1.4: is-data-descriptor@^0.1.4:
version "0.1.4" version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
...@@ -7388,13 +7646,6 @@ is-obj@^2.0.0: ...@@ -7388,13 +7646,6 @@ is-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
is-observable@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==
dependencies:
symbol-observable "^1.1.0"
is-path-inside@^3.0.1: is-path-inside@^3.0.1:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
...@@ -7436,6 +7687,11 @@ is-regexp@^1.0.0: ...@@ -7436,6 +7687,11 @@ is-regexp@^1.0.0:
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
is-resolvable@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
is-ssh@^1.3.0: is-ssh@^1.3.0:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3"
...@@ -7458,6 +7714,13 @@ is-string@^1.0.5: ...@@ -7458,6 +7714,13 @@ is-string@^1.0.5:
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
is-svg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==
dependencies:
html-comment-regex "^1.1.0"
is-symbol@^1.0.2: is-symbol@^1.0.2:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
...@@ -7512,7 +7775,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: ...@@ -7512,7 +7775,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
isbinaryfile@^4.0.4: isbinaryfile@^4.0.6:
version "4.0.6" version "4.0.6"
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b"
integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==
...@@ -7552,6 +7815,16 @@ isstream@~0.1.2: ...@@ -7552,6 +7815,16 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
jake@^10.6.1:
version "10.6.1"
resolved "https://registry.yarnpkg.com/jake/-/jake-10.6.1.tgz#c9c476cfd6e726ef600ee9bb2b880d5425ff8c79"
integrity sha512-pHUK3+V0BjOb1XSi95rbBksrMdIqLVC9bJqDnshVyleYsET3H0XAq+3VB2E3notcYvv4wRdRHn13p7vobG+wfQ==
dependencies:
async "0.9.x"
chalk "^2.4.2"
filelist "^1.0.1"
minimatch "^3.0.4"
jest-worker@24.9.0: jest-worker@24.9.0:
version "24.9.0" version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
...@@ -7560,16 +7833,6 @@ jest-worker@24.9.0: ...@@ -7560,16 +7833,6 @@ jest-worker@24.9.0:
merge-stream "^2.0.0" merge-stream "^2.0.0"
supports-color "^6.1.0" supports-color "^6.1.0"
js-git@^0.7.8:
version "0.7.8"
resolved "https://registry.yarnpkg.com/js-git/-/js-git-0.7.8.tgz#52fa655ab61877d6f1079efc6534b554f31e5444"
integrity sha1-UvplWrYYd9bxB578ZTS1VPMeVEQ=
dependencies:
bodec "^0.1.0"
culvert "^0.1.2"
git-sha1 "^0.1.2"
pako "^0.2.5"
js-levenshtein@^1.1.3: js-levenshtein@^1.1.3:
version "1.1.6" version "1.1.6"
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
...@@ -7638,13 +7901,6 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: ...@@ -7638,13 +7901,6 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
json5@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.0.0.tgz#b61abf97aa178c4b5853a66cc8eecafd03045d78"
integrity sha512-0EdQvHuLm7yJ7lyG5dp7Q3X2ku++BG5ZHaJ5FTnaXpKqDrw4pMxel5Bt3oAYMthnrthFBdnZ1FcsXTPyrQlV0w==
dependencies:
minimist "^1.2.0"
json5@^1.0.1: json5@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
...@@ -7652,7 +7908,7 @@ json5@^1.0.1: ...@@ -7652,7 +7908,7 @@ json5@^1.0.1:
dependencies: dependencies:
minimist "^1.2.0" minimist "^1.2.0"
json5@^2.1.0, json5@^2.1.1, json5@^2.1.2: json5@^2.1.0, json5@^2.1.2:
version "2.1.3" version "2.1.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
...@@ -7666,6 +7922,15 @@ jsonfile@^4.0.0: ...@@ -7666,6 +7922,15 @@ jsonfile@^4.0.0:
optionalDependencies: optionalDependencies:
graceful-fs "^4.1.6" graceful-fs "^4.1.6"
jsonfile@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179"
integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==
dependencies:
universalify "^1.0.0"
optionalDependencies:
graceful-fs "^4.1.6"
jsonparse@^1.2.0: jsonparse@^1.2.0:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
...@@ -7689,11 +7954,6 @@ jsx-ast-utils@^2.2.3: ...@@ -7689,11 +7954,6 @@ jsx-ast-utils@^2.2.3:
array-includes "^3.0.3" array-includes "^3.0.3"
object.assign "^4.1.0" object.assign "^4.1.0"
keygrip@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.3.tgz#399d709f0aed2bab0a059e0cdd3a5023a053e1dc"
integrity sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==
keyv@^3.0.0: keyv@^3.0.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
...@@ -7749,7 +8009,7 @@ lcid@^2.0.0: ...@@ -7749,7 +8009,7 @@ lcid@^2.0.0:
dependencies: dependencies:
invert-kv "^2.0.0" invert-kv "^2.0.0"
lerna@^3.20.2: lerna@3.20.2:
version "3.20.2" version "3.20.2"
resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.20.2.tgz#abf84e73055fe84ee21b46e64baf37b496c24864" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.20.2.tgz#abf84e73055fe84ee21b46e64baf37b496c24864"
integrity sha512-bjdL7hPLpU3Y8CBnw/1ys3ynQMUjiK6l9iDWnEGwFtDy48Xh5JboR9ZJwmKGCz9A/sarVVIGwf1tlRNKUG9etA== integrity sha512-bjdL7hPLpU3Y8CBnw/1ys3ynQMUjiK6l9iDWnEGwFtDy48Xh5JboR9ZJwmKGCz9A/sarVVIGwf1tlRNKUG9etA==
...@@ -7786,18 +8046,18 @@ lines-and-columns@^1.1.6: ...@@ -7786,18 +8046,18 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
lint-staged@10.1.3: lint-staged@10.2.2:
version "10.1.3" version "10.2.2"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.1.3.tgz#da27713d3ac519da305381b4de87d5f866b1d2f1" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.2.tgz#901403c120eb5d9443a0358b55038b04c8a7db9b"
integrity sha512-o2OkLxgVns5RwSC5QF7waeAjJA5nz5gnUfqL311LkZcFipKV7TztrSlhNUK5nQX9H0E5NELAdduMQ+M/JPT7RQ== integrity sha512-78kNqNdDeKrnqWsexAmkOU3Z5wi+1CsQmUmfCuYgMTE8E4rAIX8RHW7xgxwAZ+LAayb7Cca4uYX4P3LlevzjVg==
dependencies: dependencies:
chalk "^3.0.0" chalk "^4.0.0"
commander "^4.0.1" commander "^5.0.0"
cosmiconfig "^6.0.0" cosmiconfig "^6.0.0"
debug "^4.1.1" debug "^4.1.1"
dedent "^0.7.0" dedent "^0.7.0"
execa "^3.4.0" execa "^4.0.0"
listr "^0.14.3" listr2 "1.3.8"
log-symbols "^3.0.0" log-symbols "^3.0.0"
micromatch "^4.0.2" micromatch "^4.0.2"
normalize-path "^3.0.0" normalize-path "^3.0.0"
...@@ -7805,49 +8065,25 @@ lint-staged@10.1.3: ...@@ -7805,49 +8065,25 @@ lint-staged@10.1.3:
string-argv "0.3.1" string-argv "0.3.1"
stringify-object "^3.3.0" stringify-object "^3.3.0"
listr-silent-renderer@^1.1.1: listr2@1.3.8:
version "1.1.1" version "1.3.8"
resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" resolved "https://registry.yarnpkg.com/listr2/-/listr2-1.3.8.tgz#30924d79de1e936d8c40af54b6465cb814a9c828"
integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= integrity sha512-iRDRVTgSDz44tBeBBg/35TQz4W+EZBWsDUq7hPpqeUHm7yLPNll0rkwW3lIX9cPAK7l+x95mGWLpxjqxftNfZA==
listr-update-renderer@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2"
integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==
dependencies:
chalk "^1.1.3"
cli-truncate "^0.2.1"
elegant-spinner "^1.0.1"
figures "^1.7.0"
indent-string "^3.0.0"
log-symbols "^1.0.2"
log-update "^2.3.0"
strip-ansi "^3.0.1"
listr-verbose-renderer@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db"
integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==
dependencies:
chalk "^2.4.1"
cli-cursor "^2.1.0"
date-fns "^1.27.2"
figures "^2.0.0"
listr@^0.14.3:
version "0.14.3"
resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586"
integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==
dependencies: dependencies:
"@samverschueren/stream-to-observable" "^0.3.0" "@samverschueren/stream-to-observable" "^0.3.0"
is-observable "^1.1.0" chalk "^3.0.0"
is-promise "^2.1.0" cli-cursor "^3.1.0"
is-stream "^1.1.0" cli-truncate "^2.1.0"
listr-silent-renderer "^1.1.1" elegant-spinner "^2.0.0"
listr-update-renderer "^0.5.0" enquirer "^2.3.4"
listr-verbose-renderer "^0.5.0" figures "^3.2.0"
p-map "^2.0.0" indent-string "^4.0.0"
log-update "^4.0.0"
p-map "^4.0.0"
pad "^3.2.0"
rxjs "^6.3.3" rxjs "^6.3.3"
through "^2.3.8"
uuid "^7.0.2"
load-json-file@^1.0.0: load-json-file@^1.0.0:
version "1.1.0" version "1.1.0"
...@@ -7895,7 +8131,7 @@ loader-utils@1.2.3: ...@@ -7895,7 +8131,7 @@ loader-utils@1.2.3:
emojis-list "^2.0.0" emojis-list "^2.0.0"
json5 "^1.0.1" json5 "^1.0.1"
loader-utils@2.0.0: loader-utils@2.0.0, loader-utils@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
...@@ -7946,16 +8182,6 @@ lodash.clonedeep@^4.5.0: ...@@ -7946,16 +8182,6 @@ lodash.clonedeep@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
lodash.findindex@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106"
integrity sha1-oyRd7mH7m24GJLU1ElYku2nBEQY=
lodash.foreach@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=
lodash.get@^4.4.2: lodash.get@^4.4.2:
version "4.4.2" version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
...@@ -7966,10 +8192,10 @@ lodash.ismatch@^4.4.0: ...@@ -7966,10 +8192,10 @@ lodash.ismatch@^4.4.0:
resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37"
integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=
lodash.last@^3.0.0: lodash.memoize@^4.1.2:
version "3.0.0" version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.last/-/lodash.last-3.0.0.tgz#242f663112dd4c6e63728c60a3c909d1bdadbd4c" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-JC9mMRLdTG5jcoxgo8kJ0b2tvUw= integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
lodash.set@^4.3.2: lodash.set@^4.3.2:
version "4.3.2" version "4.3.2"
...@@ -8001,11 +8227,6 @@ lodash.uniq@^4.5.0: ...@@ -8001,11 +8227,6 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
lodash@4.17.14:
version "4.17.14"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==
lodash@4.17.15, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1: lodash@4.17.15, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1:
version "4.17.15" version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
...@@ -8016,28 +8237,22 @@ log-driver@^1.2.7: ...@@ -8016,28 +8237,22 @@ log-driver@^1.2.7:
resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8"
integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==
log-symbols@^1.0.2: log-symbols@3.0.0, log-symbols@^3.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=
dependencies:
chalk "^1.0.0"
log-symbols@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"
integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==
dependencies: dependencies:
chalk "^2.4.2" chalk "^2.4.2"
log-update@^2.3.0: log-update@^4.0.0:
version "2.3.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
dependencies: dependencies:
ansi-escapes "^3.0.0" ansi-escapes "^4.3.0"
cli-cursor "^2.0.0" cli-cursor "^3.1.0"
wrap-ansi "^3.0.1" slice-ansi "^4.0.0"
wrap-ansi "^6.2.0"
loglevel@^1.6.2: loglevel@^1.6.2:
version "1.6.7" version "1.6.7"
...@@ -8096,7 +8311,7 @@ make-dir@^2.0.0, make-dir@^2.1.0: ...@@ -8096,7 +8311,7 @@ make-dir@^2.0.0, make-dir@^2.1.0:
pify "^4.0.1" pify "^4.0.1"
semver "^5.6.0" semver "^5.6.0"
make-dir@^3.0.0: make-dir@^3.0.0, make-dir@^3.0.2:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392"
integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==
...@@ -8125,11 +8340,6 @@ make-fetch-happen@^5.0.0: ...@@ -8125,11 +8340,6 @@ make-fetch-happen@^5.0.0:
socks-proxy-agent "^4.0.0" socks-proxy-agent "^4.0.0"
ssri "^6.0.0" ssri "^6.0.0"
mamacro@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
map-age-cleaner@^0.1.1: map-age-cleaner@^0.1.1:
version "0.1.3" version "0.1.3"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
...@@ -8175,6 +8385,16 @@ md5.js@^1.3.4: ...@@ -8175,6 +8385,16 @@ md5.js@^1.3.4:
inherits "^2.0.1" inherits "^2.0.1"
safe-buffer "^5.1.2" safe-buffer "^5.1.2"
mdn-data@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
mdn-data@2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978"
integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==
media-typer@0.3.0: media-typer@0.3.0:
version "0.3.0" version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
...@@ -8316,6 +8536,18 @@ mime-db@1.43.0: ...@@ -8316,6 +8536,18 @@ mime-db@1.43.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
mime-db@1.44.0:
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
mime-types@2.1.27:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
dependencies:
mime-db "1.44.0"
mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24:
version "2.1.26" version "2.1.26"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
...@@ -8368,7 +8600,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: ...@@ -8368,7 +8600,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
minimatch@^3.0.4: minimatch@3.0.4, minimatch@^3.0.4:
version "3.0.4" version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
...@@ -8383,11 +8615,6 @@ minimist-options@^3.0.1: ...@@ -8383,11 +8615,6 @@ minimist-options@^3.0.1:
arrify "^1.0.1" arrify "^1.0.1"
is-plain-obj "^1.1.0" is-plain-obj "^1.1.0"
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5" version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
...@@ -8454,25 +8681,55 @@ mkdirp-promise@^5.0.1: ...@@ -8454,25 +8681,55 @@ mkdirp-promise@^5.0.1:
dependencies: dependencies:
mkdirp "*" mkdirp "*"
mkdirp@*: mkdirp@*, mkdirp@1.0.4:
version "1.0.4" version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
mkdirp@0.5.1: mkdirp@0.5.3:
version "0.5.1" version "0.5.3"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= integrity sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==
dependencies: dependencies:
minimist "0.0.8" minimist "^1.2.5"
mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@~0.5.1:
version "0.5.5" version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
dependencies: dependencies:
minimist "^1.2.5" minimist "^1.2.5"
mocha@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.1.1.tgz#89fbb30d09429845b1bb893a830bf5771049a441"
integrity sha512-3qQsu3ijNS3GkWcccT5Zw0hf/rWvu1fTN9sPvEd81hlwsr30GX2GcDSSoBxo24IR8FelmrAydGC6/1J5QQP4WA==
dependencies:
ansi-colors "3.2.3"
browser-stdout "1.3.1"
chokidar "3.3.0"
debug "3.2.6"
diff "3.5.0"
escape-string-regexp "1.0.5"
find-up "3.0.0"
glob "7.1.3"
growl "1.10.5"
he "1.2.0"
js-yaml "3.13.1"
log-symbols "3.0.0"
minimatch "3.0.4"
mkdirp "0.5.3"
ms "2.1.1"
node-environment-flags "1.0.6"
object.assign "4.1.0"
strip-json-comments "2.0.1"
supports-color "6.0.0"
which "1.3.1"
wide-align "1.1.3"
yargs "13.3.2"
yargs-parser "13.1.2"
yargs-unparser "1.6.0"
modify-values@^1.0.0: modify-values@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
...@@ -8490,7 +8747,12 @@ moment-timezone@^0.5.x: ...@@ -8490,7 +8747,12 @@ moment-timezone@^0.5.x:
dependencies: dependencies:
moment ">= 2.9.0" moment ">= 2.9.0"
moment@2.24.0, "moment@>= 2.9.0", moment@^2.21.0: moment@2.25.3:
version "2.25.3"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.25.3.tgz#252ff41319cf41e47761a1a88cab30edfe9808c0"
integrity sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==
"moment@>= 2.9.0":
version "2.24.0" version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
...@@ -8556,6 +8818,11 @@ nan@^2.12.1: ...@@ -8556,6 +8818,11 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
nanoid@3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.5.tgz#56da1bb76b619391fc61625e8b4e4bff309b9942"
integrity sha512-77yYm8wPy8igTpUQv9fA0VzEb5Ohxt5naC3zTK1oAb+u1MiyITtx0jpYrYRFfgJlefwJy2SkCaojZvxSYq6toA==
nanomatch@^1.2.9: nanomatch@^1.2.9:
version "1.2.13" version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
...@@ -8573,10 +8840,10 @@ nanomatch@^1.2.9: ...@@ -8573,10 +8840,10 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1" snapdragon "^0.8.1"
to-regex "^3.0.1" to-regex "^3.0.1"
native-url@0.2.6: native-url@0.3.1:
version "0.2.6" version "0.3.1"
resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.3.1.tgz#5045c65d0eb4c3ee548d48e3cb50797eec5a3c54"
integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA== integrity sha512-VL0XRW8nNBdSpxqZCbLJKrLHmIMn82FZ8pJzriJgyBmErjdEtrUX6eZAJbtHjlkMooEWUV+EtJ0D5tOP3+1Piw==
dependencies: dependencies:
querystring "^0.2.0" querystring "^0.2.0"
...@@ -8594,15 +8861,6 @@ needle@2.4.0: ...@@ -8594,15 +8861,6 @@ needle@2.4.0:
iconv-lite "^0.4.4" iconv-lite "^0.4.4"
sax "^1.2.4" sax "^1.2.4"
needle@^2.2.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.1.tgz#14af48732463d7475696f937626b1b993247a56a"
integrity sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==
dependencies:
debug "^3.2.6"
iconv-lite "^0.4.4"
sax "^1.2.4"
negotiator@0.6.2: negotiator@0.6.2:
version "0.6.2" version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
...@@ -8623,12 +8881,12 @@ next-tick@~1.0.0: ...@@ -8623,12 +8881,12 @@ next-tick@~1.0.0:
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
next@9.3.4: next@9.3.6:
version "9.3.4" version "9.3.6"
resolved "https://registry.yarnpkg.com/next/-/next-9.3.4.tgz#7860d414ae01e2425bf8038277f1573f9d121b57" resolved "https://registry.yarnpkg.com/next/-/next-9.3.6.tgz#2bfd76f835606db3840adf07b51b052514ef3709"
integrity sha512-sEJ3G6AOdgVYKAsIjpwLEd6uVYKvy1C3JmeydCE1ugrHU14WDRQiklRcr7Syu/aSOfB9/GRU80RPWk2c+xfh0Q== integrity sha512-b46i+qw2SYMVTOObc7GqUizt1zH1fB3T5qcOiCpl9utD7/LcWZkSxSPe7ZJtpAdFnl8V/7A58ADSvU1oxDDWug==
dependencies: dependencies:
"@ampproject/toolbox-optimizer" "2.0.1" "@ampproject/toolbox-optimizer" "2.2.0"
"@babel/core" "7.7.2" "@babel/core" "7.7.2"
"@babel/plugin-proposal-class-properties" "7.7.0" "@babel/plugin-proposal-class-properties" "7.7.0"
"@babel/plugin-proposal-nullish-coalescing-operator" "7.7.4" "@babel/plugin-proposal-nullish-coalescing-operator" "7.7.4"
...@@ -8644,29 +8902,32 @@ next@9.3.4: ...@@ -8644,29 +8902,32 @@ next@9.3.4:
"@babel/preset-react" "7.7.0" "@babel/preset-react" "7.7.0"
"@babel/preset-typescript" "7.7.2" "@babel/preset-typescript" "7.7.2"
"@babel/runtime" "7.7.2" "@babel/runtime" "7.7.2"
"@babel/types" "7.7.4" "@next/react-refresh-utils" "9.3.6"
babel-plugin-syntax-jsx "6.18.0" babel-plugin-syntax-jsx "6.18.0"
babel-plugin-transform-define "2.0.0" babel-plugin-transform-define "2.0.0"
babel-plugin-transform-react-remove-prop-types "0.4.24" babel-plugin-transform-react-remove-prop-types "0.4.24"
browserslist "4.8.3" browserslist "4.8.3"
css-loader "3.3.0" css-loader "3.5.3"
find-cache-dir "3.3.1"
fork-ts-checker-webpack-plugin "3.1.1" fork-ts-checker-webpack-plugin "3.1.1"
jest-worker "24.9.0" jest-worker "24.9.0"
loader-utils "2.0.0" loader-utils "2.0.0"
mini-css-extract-plugin "0.8.0" mini-css-extract-plugin "0.8.0"
native-url "0.2.6" mkdirp "0.5.3"
native-url "0.3.1"
pnp-webpack-plugin "1.5.0" pnp-webpack-plugin "1.5.0"
postcss "7.0.27" postcss "7.0.27"
prop-types "15.7.2" prop-types "15.7.2"
prop-types-exact "1.2.0" prop-types-exact "1.2.0"
react-is "16.8.6" react-is "16.8.6"
react-refresh "0.8.1"
resolve-url-loader "3.1.1" resolve-url-loader "3.1.1"
sass-loader "8.0.2" sass-loader "8.0.2"
style-loader "1.0.0" style-loader "1.2.0"
styled-jsx "3.2.5" styled-jsx "3.2.5"
use-subscription "1.1.1" use-subscription "1.1.1"
watchpack "2.0.0-beta.13" watchpack "2.0.0-beta.13"
webpack "4.42.0" webpack "4.43.0"
webpack-sources "1.4.3" webpack-sources "1.4.3"
nice-try@^1.0.4: nice-try@^1.0.4:
...@@ -8674,6 +8935,14 @@ nice-try@^1.0.4: ...@@ -8674,6 +8935,14 @@ nice-try@^1.0.4:
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
node-environment-flags@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088"
integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==
dependencies:
object.getownpropertydescriptors "^2.0.3"
semver "^5.7.0"
node-fetch-npm@^2.0.2: node-fetch-npm@^2.0.2:
version "2.0.4" version "2.0.4"
resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4"
...@@ -8734,22 +9003,6 @@ node-libs-browser@^2.2.1: ...@@ -8734,22 +9003,6 @@ node-libs-browser@^2.2.1:
util "^0.11.0" util "^0.11.0"
vm-browserify "^1.0.1" vm-browserify "^1.0.1"
node-pre-gyp@*:
version "0.14.0"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
dependencies:
detect-libc "^1.0.2"
mkdirp "^0.5.1"
needle "^2.2.1"
nopt "^4.0.1"
npm-packlist "^1.1.6"
npmlog "^4.0.2"
rc "^1.2.7"
rimraf "^2.6.1"
semver "^5.3.0"
tar "^4.4.2"
node-releases@^1.1.44, node-releases@^1.1.53: node-releases@^1.1.44, node-releases@^1.1.53:
version "1.1.53" version "1.1.53"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4"
...@@ -8823,7 +9076,7 @@ normalize-url@1.9.1: ...@@ -8823,7 +9076,7 @@ normalize-url@1.9.1:
query-string "^4.1.0" query-string "^4.1.0"
sort-keys "^1.0.0" sort-keys "^1.0.0"
normalize-url@^3.3.0: normalize-url@^3.0.0, normalize-url@^3.3.0:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
...@@ -8877,7 +9130,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: ...@@ -8877,7 +9130,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1:
semver "^5.6.0" semver "^5.6.0"
validate-npm-package-name "^3.0.0" validate-npm-package-name "^3.0.0"
npm-packlist@^1.1.6, npm-packlist@^1.4.4: npm-packlist@^1.4.4:
version "1.4.8" version "1.4.8"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
...@@ -8909,7 +9162,7 @@ npm-run-path@^4.0.0: ...@@ -8909,7 +9162,7 @@ npm-run-path@^4.0.0:
dependencies: dependencies:
path-key "^3.0.0" path-key "^3.0.0"
npmlog@^4.0.2, npmlog@^4.1.2: npmlog@^4.1.2:
version "4.1.2" version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
...@@ -8924,7 +9177,7 @@ nprogress@0.2.0: ...@@ -8924,7 +9177,7 @@ nprogress@0.2.0:
resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E=
nssocket@^0.6.0: nssocket@0.6.0:
version "0.6.0" version "0.6.0"
resolved "https://registry.yarnpkg.com/nssocket/-/nssocket-0.6.0.tgz#59f96f6ff321566f33c70f7dbeeecdfdc07154fa" resolved "https://registry.yarnpkg.com/nssocket/-/nssocket-0.6.0.tgz#59f96f6ff321566f33c70f7dbeeecdfdc07154fa"
integrity sha1-Wflvb/MhVm8zxw99vu7N/cBxVPo= integrity sha1-Wflvb/MhVm8zxw99vu7N/cBxVPo=
...@@ -8932,6 +9185,13 @@ nssocket@^0.6.0: ...@@ -8932,6 +9185,13 @@ nssocket@^0.6.0:
eventemitter2 "~0.4.14" eventemitter2 "~0.4.14"
lazy "~1.0.11" lazy "~1.0.11"
nth-check@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
dependencies:
boolbase "~1.0.0"
number-is-nan@^1.0.0: number-is-nan@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
...@@ -8978,7 +9238,7 @@ object-visit@^1.0.0: ...@@ -8978,7 +9238,7 @@ object-visit@^1.0.0:
dependencies: dependencies:
isobject "^3.0.0" isobject "^3.0.0"
object.assign@^4.1.0: object.assign@4.1.0, object.assign@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
...@@ -9008,7 +9268,7 @@ object.fromentries@^2.0.2: ...@@ -9008,7 +9268,7 @@ object.fromentries@^2.0.2:
function-bind "^1.1.1" function-bind "^1.1.1"
has "^1.0.3" has "^1.0.3"
object.getownpropertydescriptors@^2.0.3: object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
...@@ -9023,7 +9283,7 @@ object.pick@^1.3.0: ...@@ -9023,7 +9283,7 @@ object.pick@^1.3.0:
dependencies: dependencies:
isobject "^3.0.1" isobject "^3.0.1"
object.values@^1.1.1: object.values@^1.1.0, object.values@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
...@@ -9091,10 +9351,10 @@ optionator@^0.8.1, optionator@^0.8.3: ...@@ -9091,10 +9351,10 @@ optionator@^0.8.1, optionator@^0.8.3:
type-check "~0.3.2" type-check "~0.3.2"
word-wrap "~1.2.3" word-wrap "~1.2.3"
ora@4.0.3: ora@4.0.4:
version "4.0.3" version "4.0.4"
resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.3.tgz#752a1b7b4be4825546a7a3d59256fa523b6b6d05" resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.4.tgz#e8da697cc5b6a47266655bf68e0fb588d29a545d"
integrity sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg== integrity sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==
dependencies: dependencies:
chalk "^3.0.0" chalk "^3.0.0"
cli-cursor "^3.1.0" cli-cursor "^3.1.0"
...@@ -9160,11 +9420,6 @@ p-finally@^1.0.0: ...@@ -9160,11 +9420,6 @@ p-finally@^1.0.0:
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-finally@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
p-is-promise@^2.0.0: p-is-promise@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
...@@ -9212,11 +9467,18 @@ p-map-series@^1.0.0: ...@@ -9212,11 +9467,18 @@ p-map-series@^1.0.0:
dependencies: dependencies:
p-reduce "^1.0.0" p-reduce "^1.0.0"
p-map@^2.0.0, p-map@^2.1.0: p-map@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
p-map@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
dependencies:
aggregate-error "^3.0.0"
p-pipe@^1.2.0: p-pipe@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9"
...@@ -9286,10 +9548,12 @@ package-json@^6.3.0: ...@@ -9286,10 +9548,12 @@ package-json@^6.3.0:
registry-url "^5.0.0" registry-url "^5.0.0"
semver "^6.2.0" semver "^6.2.0"
pako@^0.2.5: pad@^3.2.0:
version "0.2.9" version "3.2.0"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" resolved "https://registry.yarnpkg.com/pad/-/pad-3.2.0.tgz#be7a1d1cb6757049b4ad5b70e71977158fea95d1"
integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= integrity sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==
dependencies:
wcwidth "^1.0.1"
pako@~1.0.5: pako@~1.0.5:
version "1.0.11" version "1.0.11"
...@@ -9501,10 +9765,10 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7: ...@@ -9501,10 +9765,10 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
pidusage@2.0.17: pidusage@2.0.18:
version "2.0.17" version "2.0.18"
resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-2.0.17.tgz#6b4a2b4a09026f0e9828f7e5627837e4c0672581" resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-2.0.18.tgz#9ccef35df5508a5a4b0838c712ea9b79609aff34"
integrity sha512-N8X5v18rBmlBoArfS83vrnD0gIFyZkXEo7a5pAS2aT0i2OLVymFb2AzVg+v8l/QcXnE1JwZcaXR8daJcoJqtjw== integrity sha512-Y/VfKfh3poHjMEINxU+gJTeVOBjiThQeFAmzR7z56HSNiMx+etl+yBhk42nRPciPYt/VZl8DQLVXNC6P5vH11A==
dependencies: dependencies:
safe-buffer "^5.1.2" safe-buffer "^5.1.2"
...@@ -9542,7 +9806,7 @@ pkg-dir@^3.0.0: ...@@ -9542,7 +9806,7 @@ pkg-dir@^3.0.0:
dependencies: dependencies:
find-up "^3.0.0" find-up "^3.0.0"
pkg-dir@^4.2.0: pkg-dir@^4.1.0, pkg-dir@^4.2.0:
version "4.2.0" version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
...@@ -9580,13 +9844,13 @@ pm2-axon@3.3.0, pm2-axon@^3.2.0: ...@@ -9580,13 +9844,13 @@ pm2-axon@3.3.0, pm2-axon@^3.2.0:
debug "^3.0" debug "^3.0"
escape-regexp "0.0.1" escape-regexp "0.0.1"
pm2-deploy@^0.4.0: pm2-deploy@~1.0.2:
version "0.4.0" version "1.0.2"
resolved "https://registry.yarnpkg.com/pm2-deploy/-/pm2-deploy-0.4.0.tgz#d543076919f7776c57eb75841a4320f547287661" resolved "https://registry.yarnpkg.com/pm2-deploy/-/pm2-deploy-1.0.2.tgz#98d8385553a3a4dca11c7b3116deb519bc5961a7"
integrity sha512-3BdCghcGwMKwl3ffHZhc+j5JY5dldH9nq8m/I9W5wehJuSRZIyO96VOgKTMv3hYp7Yk5E+2lRGm8WFNlp65vOA== integrity sha512-YJx6RXKrVrWaphEYf++EdOOx9EH18vM8RSZN/P1Y+NokTKqYAca/ejXwVLyiEpNju4HPZEk3Y2uZouwMqUlcgg==
dependencies: dependencies:
async "^2.6" run-series "^1.1.8"
tv4 "^1.3" tv4 "^1.3.0"
pm2-multimeter@^0.1.2: pm2-multimeter@^0.1.2:
version "0.1.2" version "0.1.2"
...@@ -9595,46 +9859,43 @@ pm2-multimeter@^0.1.2: ...@@ -9595,46 +9859,43 @@ pm2-multimeter@^0.1.2:
dependencies: dependencies:
charm "~0.1.1" charm "~0.1.1"
pm2@4.2.3: pm2@4.4.0:
version "4.2.3" version "4.4.0"
resolved "https://registry.yarnpkg.com/pm2/-/pm2-4.2.3.tgz#a3de6679e9ec72ecb44fef0d41441552879846f9" resolved "https://registry.yarnpkg.com/pm2/-/pm2-4.4.0.tgz#85ad86da2d3c6618881714e885c85a96d77ee379"
integrity sha512-aRTl8W6dmZ4S2hti1dX4Xvkpy/yIME1H5pMK0HEOpw1H33j4IAfdzScPoPLYaHeh1oL4biabGwxuyClOM8YUVQ== integrity sha512-uEY3ShP5O5d7VBx4r0QhVjWAgjyhazenIl0fhxyVr+aDMWSa3hpD5RpvkGJMiX8z3nDrBBWCSU7TYth1sdbJkA==
dependencies: dependencies:
"@pm2/agent" "^0.5.26" "@pm2/agent" "~1.0.2"
"@pm2/io" "^4.3.2" "@pm2/io" "~4.3.5"
"@pm2/js-api" "^0.5.60" "@pm2/js-api" "~0.6.0"
"@pm2/pm2-version-check" latest "@pm2/pm2-version-check" latest
async "^3.1.0" async "~3.2.0"
blessed "0.1.81" blessed "0.1.81"
chalk "2.4.2" chalk "3.0.0"
chokidar "^3.2.0" chokidar "^3.3.0"
cli-table-redemption "1.0.1" cli-tableau "^2.0.0"
commander "2.15.1" commander "2.15.1"
cron "1.7.1" cron "1.8.2"
date-fns "1.30.1" dayjs "~1.8.25"
debug "4.1.1" debug "4.1.1"
enquirer "^2.3.2" enquirer "2.3.5"
eventemitter2 "5.0.1" eventemitter2 "5.0.1"
fclone "1.0.11" fclone "1.0.11"
lodash "4.17.14" mkdirp "1.0.4"
mkdirp "0.5.1"
moment "2.24.0"
needle "2.4.0" needle "2.4.0"
pidusage "2.0.17" pidusage "2.0.18"
pm2-axon "3.3.0" pm2-axon "3.3.0"
pm2-axon-rpc "0.5.1" pm2-axon-rpc "0.5.1"
pm2-deploy "^0.4.0" pm2-deploy "~1.0.2"
pm2-multimeter "^0.1.2" pm2-multimeter "^0.1.2"
promptly "^2" promptly "^2"
ps-list "6.3.0" ps-list "6.3.0"
semver "^5.5" semver "^7.2"
shelljs "0.8.3" source-map-support "0.5.16"
source-map-support "0.5.12"
sprintf-js "1.1.2" sprintf-js "1.1.2"
vizion "~2.0.2" vizion "0.2.13"
yamljs "0.3.0" yamljs "0.3.0"
optionalDependencies: optionalDependencies:
systeminformation "^4.14.16" systeminformation "^4.23.3"
pnp-webpack-plugin@1.5.0: pnp-webpack-plugin@1.5.0:
version "1.5.0" version "1.5.0"
...@@ -9643,28 +9904,146 @@ pnp-webpack-plugin@1.5.0: ...@@ -9643,28 +9904,146 @@ pnp-webpack-plugin@1.5.0:
dependencies: dependencies:
ts-pnp "^1.1.2" ts-pnp "^1.1.2"
polished@3.5.1: polished@3.6.2:
version "3.5.1" version "3.6.2"
resolved "https://registry.yarnpkg.com/polished/-/polished-3.5.1.tgz#657b6faf4c2308f3e0b1951196803a5e5d67b122" resolved "https://registry.yarnpkg.com/polished/-/polished-3.6.2.tgz#bae682806da6400596a851ea443178ff6eec1dd2"
integrity sha512-GVbvskpBiDV5TknurGL6OyFfLHsCknxbU8w5iMppT8rW0tLEoQHrIRfrPNPqGXNj3HGhkjRvhmg59Fy7HSnCAw== integrity sha512-V0dyaVJUM5e5wIhLHvZyyE9PhXoI0AlGT6RDww1V/v+STsocLsVGWmi+9OKTL49oaQj85XFDvsWi/uHQJ0rpWg==
dependencies: dependencies:
"@babel/runtime" "^7.8.7" "@babel/runtime" "^7.9.2"
posix-character-classes@^0.1.0: posix-character-classes@^0.1.0:
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
postcss-modules-extract-imports@^2.0.0: postcss-calc@^7.0.1:
version "2.0.0" version "7.0.2"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1"
integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==
dependencies: dependencies:
postcss "^7.0.5" postcss "^7.0.27"
postcss-selector-parser "^6.0.2"
postcss-value-parser "^4.0.2"
postcss-modules-local-by-default@^3.0.2: postcss-colormin@^4.0.3:
version "3.0.2" version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
dependencies:
browserslist "^4.0.0"
color "^3.0.0"
has "^1.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-convert-values@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
dependencies:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-discard-comments@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
dependencies:
postcss "^7.0.0"
postcss-discard-duplicates@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
dependencies:
postcss "^7.0.0"
postcss-discard-empty@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
dependencies:
postcss "^7.0.0"
postcss-discard-overridden@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
dependencies:
postcss "^7.0.0"
postcss-merge-longhand@^4.0.11:
version "4.0.11"
resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
dependencies:
css-color-names "0.0.4"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
stylehacks "^4.0.0"
postcss-merge-rules@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
dependencies:
browserslist "^4.0.0"
caniuse-api "^3.0.0"
cssnano-util-same-parent "^4.0.0"
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
vendors "^1.0.0"
postcss-minify-font-values@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
dependencies:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-minify-gradients@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
dependencies:
cssnano-util-get-arguments "^4.0.0"
is-color-stop "^1.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-minify-params@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
dependencies:
alphanum-sort "^1.0.0"
browserslist "^4.0.0"
cssnano-util-get-arguments "^4.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
uniqs "^2.0.0"
postcss-minify-selectors@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
dependencies:
alphanum-sort "^1.0.0"
has "^1.0.0"
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
postcss-modules-extract-imports@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
dependencies:
postcss "^7.0.5"
postcss-modules-local-by-default@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==
dependencies: dependencies:
icss-utils "^4.1.1" icss-utils "^4.1.1"
...@@ -9672,7 +10051,7 @@ postcss-modules-local-by-default@^3.0.2: ...@@ -9672,7 +10051,7 @@ postcss-modules-local-by-default@^3.0.2:
postcss-selector-parser "^6.0.2" postcss-selector-parser "^6.0.2"
postcss-value-parser "^4.0.0" postcss-value-parser "^4.0.0"
postcss-modules-scope@^2.1.1, postcss-modules-scope@^2.2.0: postcss-modules-scope@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
...@@ -9688,6 +10067,132 @@ postcss-modules-values@^3.0.0: ...@@ -9688,6 +10067,132 @@ postcss-modules-values@^3.0.0:
icss-utils "^4.0.0" icss-utils "^4.0.0"
postcss "^7.0.6" postcss "^7.0.6"
postcss-normalize-charset@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
dependencies:
postcss "^7.0.0"
postcss-normalize-display-values@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
dependencies:
cssnano-util-get-match "^4.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-normalize-positions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
dependencies:
cssnano-util-get-arguments "^4.0.0"
has "^1.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-normalize-repeat-style@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
dependencies:
cssnano-util-get-arguments "^4.0.0"
cssnano-util-get-match "^4.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-normalize-string@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
dependencies:
has "^1.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-normalize-timing-functions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
dependencies:
cssnano-util-get-match "^4.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-normalize-unicode@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
dependencies:
browserslist "^4.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-normalize-url@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
dependencies:
is-absolute-url "^2.0.0"
normalize-url "^3.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-normalize-whitespace@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
dependencies:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-ordered-values@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
dependencies:
cssnano-util-get-arguments "^4.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-reduce-initial@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
dependencies:
browserslist "^4.0.0"
caniuse-api "^3.0.0"
has "^1.0.0"
postcss "^7.0.0"
postcss-reduce-transforms@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
dependencies:
cssnano-util-get-match "^4.0.0"
has "^1.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
postcss-safe-parser@4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96"
integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==
dependencies:
postcss "^7.0.26"
postcss-selector-parser@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
dependencies:
dot-prop "^5.2.0"
indexes-of "^1.0.1"
uniq "^1.0.1"
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
version "6.0.2" version "6.0.2"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
...@@ -9697,6 +10202,30 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: ...@@ -9697,6 +10202,30 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
indexes-of "^1.0.1" indexes-of "^1.0.1"
uniq "^1.0.1" uniq "^1.0.1"
postcss-svgo@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==
dependencies:
is-svg "^3.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
svgo "^1.0.0"
postcss-unique-selectors@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
dependencies:
alphanum-sort "^1.0.0"
postcss "^7.0.0"
uniqs "^2.0.0"
postcss-value-parser@^3.0.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3: postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3:
version "4.0.3" version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d"
...@@ -9711,7 +10240,7 @@ postcss@7.0.21: ...@@ -9711,7 +10240,7 @@ postcss@7.0.21:
source-map "^0.6.1" source-map "^0.6.1"
supports-color "^6.1.0" supports-color "^6.1.0"
postcss@7.0.27, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: postcss@7.0.27, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6:
version "7.0.27" version "7.0.27"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9"
integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==
...@@ -9742,10 +10271,10 @@ prettier-linter-helpers@^1.0.0: ...@@ -9742,10 +10271,10 @@ prettier-linter-helpers@^1.0.0:
dependencies: dependencies:
fast-diff "^1.1.2" fast-diff "^1.1.2"
prettier@2.0.4: prettier@2.0.5:
version "2.0.4" version "2.0.5"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.4.tgz#2d1bae173e355996ee355ec9830a7a1ee05457ef" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
integrity sha512-SVJIQ51spzFDvh4fIbCLvciiDMCrRhlN3mbZvv/+ycjvmF5E73bKdGfU8QDLNmjYJf+lsGnDBC4UUnvTe5OO0w== integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
private@^0.1.8: private@^0.1.8:
version "0.1.8" version "0.1.8"
...@@ -9837,7 +10366,7 @@ proxy-addr@~2.0.5: ...@@ -9837,7 +10366,7 @@ proxy-addr@~2.0.5:
forwarded "~0.1.2" forwarded "~0.1.2"
ipaddr.js "1.9.1" ipaddr.js "1.9.1"
proxy-agent@^3.0.3, proxy-agent@^3.1.0: proxy-agent@^3.0.3, proxy-agent@~3.1.1:
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014" resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014"
integrity sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw== integrity sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==
...@@ -9935,7 +10464,7 @@ pupa@^2.0.1: ...@@ -9935,7 +10464,7 @@ pupa@^2.0.1:
dependencies: dependencies:
escape-goat "^2.0.0" escape-goat "^2.0.0"
q@^1.5.1: q@^1.1.2, q@^1.5.1:
version "1.5.1" version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
...@@ -9950,10 +10479,10 @@ qs@~6.5.2: ...@@ -9950,10 +10479,10 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
query-string@6.12.0: query-string@6.12.1:
version "6.12.0" version "6.12.1"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.12.0.tgz#fa0fe5b3ddf4d040d1236b80672949ab33d5cf80" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.12.1.tgz#2ae4d272db4fba267141665374e49a1de09e8a7c"
integrity sha512-aoiFW9ZU7jP8Itjqfpw80Qe7RoyCIhFrW522sdsp9LG92pat6CCG3d8qNZBaUi71FsEjIfLjx9Ky347FtVoqXA== integrity sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA==
dependencies: dependencies:
decode-uri-component "^0.2.0" decode-uri-component "^0.2.0"
split-on-first "^1.0.0" split-on-first "^1.0.0"
...@@ -10022,7 +10551,7 @@ raw-body@^2.2.0: ...@@ -10022,7 +10551,7 @@ raw-body@^2.2.0:
iconv-lite "0.4.24" iconv-lite "0.4.24"
unpipe "1.0.0" unpipe "1.0.0"
rc@^1.2.7, rc@^1.2.8: rc@^1.2.8:
version "1.2.8" version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
...@@ -10047,10 +10576,10 @@ react-hooks-worker@0.9.0: ...@@ -10047,10 +10576,10 @@ react-hooks-worker@0.9.0:
resolved "https://registry.yarnpkg.com/react-hooks-worker/-/react-hooks-worker-0.9.0.tgz#cf6e481711045d539368c83ba0fa42bd97c71a09" resolved "https://registry.yarnpkg.com/react-hooks-worker/-/react-hooks-worker-0.9.0.tgz#cf6e481711045d539368c83ba0fa42bd97c71a09"
integrity sha512-aDKlrc9Dh8O0Wag2mWbNpuXbTB/kX1tGzq74bFdxSfKg6KHvF9ft789WpatmCBQbszdgXEi3pS/BCj698JXCJQ== integrity sha512-aDKlrc9Dh8O0Wag2mWbNpuXbTB/kX1tGzq74bFdxSfKg6KHvF9ft789WpatmCBQbszdgXEi3pS/BCj698JXCJQ==
react-i18next@11.3.4: react-i18next@11.4.0:
version "11.3.4" version "11.4.0"
resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.3.4.tgz#355df5fe5133e5e30302d166f529678100ffc968" resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.4.0.tgz#dde6bf3a695910af7a4270fea2e111bc331cf151"
integrity sha512-IRZMD7PAM3C+fJNzRbyLNi1ZD0kc3Z3obBspJjEl+9H+ME41PhVor3BpdIqv/Rm7lUoGhMjmpu42J45ooJ61KA== integrity sha512-lyOZSSQkif4H9HnHN3iEKVkryLI+WkdZSEw3VAZzinZLopfYRMHVY5YxCopdkXPLEHs6S5GjKYPh3+j0j336Fg==
dependencies: dependencies:
"@babel/runtime" "^7.3.1" "@babel/runtime" "^7.3.1"
html-parse-stringify2 "2.0.1" html-parse-stringify2 "2.0.1"
...@@ -10073,13 +10602,26 @@ react-is@16.8.6: ...@@ -10073,13 +10602,26 @@ react-is@16.8.6:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
react-spinners@0.8.1: react-refresh@0.8.1:
version "0.8.1" version "0.8.1"
resolved "https://registry.yarnpkg.com/react-spinners/-/react-spinners-0.8.1.tgz#210521e9d5b8be70e4c447d547919c1afb609209" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.1.tgz#5500506ad6fc891fdd057d0bf3581f9310abc6a2"
integrity sha512-jWp9gTurv6A1saXyqaqWx3dp2ZCi5eMaa0Y/0h8KdN+3QC7n7aITFKtT4BSX/ufVbvumtGLvheZDdczbgPPLtA== integrity sha512-xZIKi49RtLUUSAZ4a4ut2xr+zr4+glOD5v0L413B55MPvlg4EQ6Ctx8PD4CmjlPGoAWmSCTmmkY59TErizNsow==
react-spinners@0.8.3:
version "0.8.3"
resolved "https://registry.yarnpkg.com/react-spinners/-/react-spinners-0.8.3.tgz#d08ed753aec4a7ef9f5d9b907ee0161271c932ee"
integrity sha512-fuYNjH0megp5FLuUqQXWM9mPgBXUjvYD6IkMOiwNGOOlI2UdOP1ZC3vejUAa3Y/q4qWJ6yx8rjfMjIBgEji+9A==
dependencies: dependencies:
"@emotion/core" "^10.0.15" "@emotion/core" "^10.0.15"
react-tooltip@4.2.6:
version "4.2.6"
resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.6.tgz#a3d5f0d1b0c597c0852ba09c5e2af0019b7cfc70"
integrity sha512-KX/zCsPFCI8RuulzBX86U+Ur7FvgGNRBdb7dUu0ndo8Urinn48nANq9wfq4ABlehweQjPzLl7XdNAtLKza+I3w==
dependencies:
prop-types "^15.7.2"
uuid "^7.0.3"
react@16.13.1: react@16.13.1:
version "16.13.1" version "16.13.1"
resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
...@@ -10096,16 +10638,15 @@ read-cmd-shim@^1.0.1: ...@@ -10096,16 +10638,15 @@ read-cmd-shim@^1.0.1:
dependencies: dependencies:
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
read-config-file@5.0.2: read-config-file@6.0.0:
version "5.0.2" version "6.0.0"
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-5.0.2.tgz#55e005e5a447a9ce5806358d7b22cb7cefb6436d" resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299"
integrity sha512-tVt1lsiSjs+FtL/vtfCivqtKR1UNk3BB3uPJQvJqkgtAYDvZjo0xyXFYSVmzaTcO+Jdi5G7O2K2vDV+p1M/oug== integrity sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==
dependencies: dependencies:
dotenv "^8.2.0" dotenv "^8.2.0"
dotenv-expand "^5.1.0" dotenv-expand "^5.1.0"
fs-extra "^8.1.0"
js-yaml "^3.13.1" js-yaml "^3.13.1"
json5 "^2.1.1" json5 "^2.1.2"
lazy-val "^1.0.4" lazy-val "^1.0.4"
"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13:
...@@ -10221,6 +10762,13 @@ readdirp@^2.2.1: ...@@ -10221,6 +10762,13 @@ readdirp@^2.2.1:
micromatch "^3.1.10" micromatch "^3.1.10"
readable-stream "^2.0.2" readable-stream "^2.0.2"
readdirp@~3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839"
integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==
dependencies:
picomatch "^2.0.4"
readdirp@~3.3.0: readdirp@~3.3.0:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17"
...@@ -10521,6 +11069,16 @@ rework@1.0.1: ...@@ -10521,6 +11069,16 @@ rework@1.0.1:
convert-source-map "^0.3.3" convert-source-map "^0.3.3"
css "^2.0.0" css "^2.0.0"
rgb-regex@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE=
rgba-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
rimraf@2.6.3: rimraf@2.6.3:
version "2.6.3" version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
...@@ -10535,7 +11093,7 @@ rimraf@3.0.2, rimraf@^3.0.0: ...@@ -10535,7 +11093,7 @@ rimraf@3.0.2, rimraf@^3.0.0:
dependencies: dependencies:
glob "^7.1.3" glob "^7.1.3"
rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
version "2.7.1" version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
...@@ -10576,6 +11134,11 @@ run-queue@^1.0.0, run-queue@^1.0.3: ...@@ -10576,6 +11134,11 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies: dependencies:
aproba "^1.1.1" aproba "^1.1.1"
run-series@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/run-series/-/run-series-1.1.8.tgz#2c4558f49221e01cd6371ff4e0a1e203e460fc36"
integrity sha512-+GztYEPRpIsQoCSraWHDBs9WVy4eVME16zhOtDB4H9J4xN0XRhknnmLOl+4gRgZtu8dpp9N/utSPjKH/xmDzXg==
rw@1: rw@1:
version "1.3.3" version "1.3.3"
resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
...@@ -10633,7 +11196,7 @@ save-svg-as-png@1.4.17: ...@@ -10633,7 +11196,7 @@ save-svg-as-png@1.4.17:
resolved "https://registry.yarnpkg.com/save-svg-as-png/-/save-svg-as-png-1.4.17.tgz#294442002772a24f1db1bf8a2aaf7df4ab0cdc55" resolved "https://registry.yarnpkg.com/save-svg-as-png/-/save-svg-as-png-1.4.17.tgz#294442002772a24f1db1bf8a2aaf7df4ab0cdc55"
integrity sha512-7QDaqJsVhdFPwviCxkgHiGm9omeaMBe1VKbHySWU6oFB2LtnGCcYS13eVoslUgq6VZC6Tjq/HddBd1K6p2PGpA== integrity sha512-7QDaqJsVhdFPwviCxkgHiGm9omeaMBe1VKbHySWU6oFB2LtnGCcYS13eVoslUgq6VZC6Tjq/HddBd1K6p2PGpA==
sax@^1.2.4: sax@^1.2.4, sax@~1.2.4:
version "1.2.4" version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
...@@ -10655,7 +11218,7 @@ schema-utils@^1.0.0: ...@@ -10655,7 +11218,7 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0" ajv-errors "^1.0.0"
ajv-keywords "^3.1.0" ajv-keywords "^3.1.0"
schema-utils@^2.0.1, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.5: schema-utils@^2.6.1:
version "2.6.5" version "2.6.5"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.5.tgz#c758f0a7e624263073d396e29cd40aa101152d8a" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.5.tgz#c758f0a7e624263073d396e29cd40aa101152d8a"
integrity sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ== integrity sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==
...@@ -10663,6 +11226,14 @@ schema-utils@^2.0.1, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6 ...@@ -10663,6 +11226,14 @@ schema-utils@^2.0.1, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6
ajv "^6.12.0" ajv "^6.12.0"
ajv-keywords "^3.4.1" ajv-keywords "^3.4.1"
schema-utils@^2.6.6:
version "2.6.6"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c"
integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==
dependencies:
ajv "^6.12.0"
ajv-keywords "^3.4.1"
semver-compare@^1.0.0: semver-compare@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
...@@ -10680,31 +11251,36 @@ semver-regex@^2.0.0: ...@@ -10680,31 +11251,36 @@ semver-regex@^2.0.0:
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1:
version "5.7.1" version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
semver@5.5.0: semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
version "5.5.0" version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@7.0.0: semver@7.0.0:
version "7.0.0" version "7.0.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: semver@^7.1.2:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.1.2, semver@^7.1.3:
version "7.2.2" version "7.2.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.2.2.tgz#d01432d74ed3010a20ffaf909d63a691520521cd" resolved "https://registry.yarnpkg.com/semver/-/semver-7.2.2.tgz#d01432d74ed3010a20ffaf909d63a691520521cd"
integrity sha512-Zo84u6o2PebMSK3zjJ6Zp5wi8VnQZnEaCP13Ul/lt1ANsLACxnJxq4EEm1PY94/por1Hm9+7xpIswdS5AkieMA== integrity sha512-Zo84u6o2PebMSK3zjJ6Zp5wi8VnQZnEaCP13Ul/lt1ANsLACxnJxq4EEm1PY94/por1Hm9+7xpIswdS5AkieMA==
semver@^7.2, semver@^7.3.2:
version "7.3.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
semver@~7.2.0:
version "7.2.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.2.3.tgz#3641217233c6382173c76bf2c7ecd1e1c16b0d8a"
integrity sha512-utbW9Z7ZxVvwiIWkdOMLOR9G/NFXh2aRucghkVrEMJWuC++r3lCkBC3LwqBinyHzGMAJxY5tn6VakZGHObq5ig==
send@0.17.1: send@0.17.1:
version "0.17.1" version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
...@@ -10815,16 +11391,16 @@ shebang-regex@^3.0.0: ...@@ -10815,16 +11391,16 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
shelljs@0.8.3: shelljs@0.8.4:
version "0.8.3" version "0.8.4"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
dependencies: dependencies:
glob "^7.0.0" glob "^7.0.0"
interpret "^1.0.0" interpret "^1.0.0"
rechoir "^0.6.2" rechoir "^0.6.2"
shimmer@^1.1.0, shimmer@^1.2.0, shimmer@~1.2.0: shimmer@^1.1.0, shimmer@^1.2.0:
version "1.2.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
...@@ -10837,16 +11413,18 @@ side-channel@^1.0.2: ...@@ -10837,16 +11413,18 @@ side-channel@^1.0.2:
es-abstract "^1.17.0-next.1" es-abstract "^1.17.0-next.1"
object-inspect "^1.7.0" object-inspect "^1.7.0"
signal-exit@3.0.2: signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.3" version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
simple-swizzle@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
dependencies:
is-arrayish "^0.3.1"
slash@^2.0.0: slash@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
...@@ -10857,11 +11435,6 @@ slash@^3.0.0: ...@@ -10857,11 +11435,6 @@ slash@^3.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=
slice-ansi@^2.1.0: slice-ansi@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
...@@ -10871,6 +11444,24 @@ slice-ansi@^2.1.0: ...@@ -10871,6 +11444,24 @@ slice-ansi@^2.1.0:
astral-regex "^1.0.0" astral-regex "^1.0.0"
is-fullwidth-code-point "^2.0.0" is-fullwidth-code-point "^2.0.0"
slice-ansi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
dependencies:
ansi-styles "^4.0.0"
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
slice-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
dependencies:
ansi-styles "^4.0.0"
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
slide@^1.1.6: slide@^1.1.6:
version "1.1.6" version "1.1.6"
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
...@@ -10957,18 +11548,26 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: ...@@ -10957,18 +11548,26 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
source-map-url "^0.4.0" source-map-url "^0.4.0"
urix "^0.1.0" urix "^0.1.0"
source-map-support@0.5.12: source-map-support@0.5.16, source-map-support@~0.5.12:
version "0.5.12" version "0.5.16"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
dependencies: dependencies:
buffer-from "^1.0.0" buffer-from "^1.0.0"
source-map "^0.6.0" source-map "^0.6.0"
source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: source-map-support@^0.5.17:
version "0.5.16" version "0.5.17"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.17.tgz#29fe1b3c98b9dbd5064ada89052ee8ff070cb46c"
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== integrity sha512-bwdKOBZ5L0gFRh4KOxNap/J/MpvX9Yxsq9lFDx65s3o7F/NiHy7JRaGIS8MwW6tZPAq9UXE207Il0cfcb5yu/Q==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
source-map-support@^0.5.19:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
dependencies: dependencies:
buffer-from "^1.0.0" buffer-from "^1.0.0"
source-map "^0.6.0" source-map "^0.6.0"
...@@ -11077,6 +11676,11 @@ ssri@^6.0.0, ssri@^6.0.1: ...@@ -11077,6 +11676,11 @@ ssri@^6.0.0, ssri@^6.0.1:
dependencies: dependencies:
figgy-pudding "^3.5.1" figgy-pudding "^3.5.1"
stable@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
stat-mode@^1.0.0: stat-mode@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465"
...@@ -11156,7 +11760,7 @@ string-width@^1.0.1: ...@@ -11156,7 +11760,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0" is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
"string-width@^1.0.2 || 2", string-width@^2.1.0, string-width@^2.1.1: "string-width@^1.0.2 || 2", string-width@^2.1.0:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
...@@ -11318,16 +11922,16 @@ strip-indent@^2.0.0: ...@@ -11318,16 +11922,16 @@ strip-indent@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
strip-json-comments@2.0.1, strip-json-comments@~2.0.1:
version "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: strip-json-comments@^3.0.1:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
strong-log-transformer@^2.0.0: strong-log-transformer@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10"
...@@ -11337,13 +11941,13 @@ strong-log-transformer@^2.0.0: ...@@ -11337,13 +11941,13 @@ strong-log-transformer@^2.0.0:
minimist "^1.2.0" minimist "^1.2.0"
through "^2.3.4" through "^2.3.4"
style-loader@1.0.0: style-loader@1.2.0:
version "1.0.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.0.tgz#f78e4d49caf5018f7c03ae1886e1270124feeb0a"
integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== integrity sha512-HC8WcGnjwNrKji7HSBqFOhGNUSt7UDU/jHxT6bA83Gk+JWJBmgitWlGihc0V1w6ZvwlzcX5LJOsofZzSP7b1tQ==
dependencies: dependencies:
loader-utils "^1.2.3" loader-utils "^2.0.0"
schema-utils "^2.0.1" schema-utils "^2.6.6"
styled-components@5.1.0: styled-components@5.1.0:
version "5.1.0" version "5.1.0"
...@@ -11375,6 +11979,15 @@ styled-jsx@3.2.5: ...@@ -11375,6 +11979,15 @@ styled-jsx@3.2.5:
stylis "3.5.4" stylis "3.5.4"
stylis-rule-sheet "0.0.10" stylis-rule-sheet "0.0.10"
stylehacks@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
dependencies:
browserslist "^4.0.0"
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
stylis-rule-sheet@0.0.10: stylis-rule-sheet@0.0.10:
version "0.0.10" version "0.0.10"
resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
...@@ -11392,6 +12005,13 @@ sumchecker@^3.0.1: ...@@ -11392,6 +12005,13 @@ sumchecker@^3.0.1:
dependencies: dependencies:
debug "^4.1.0" debug "^4.1.0"
supports-color@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a"
integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==
dependencies:
has-flag "^3.0.0"
supports-color@6.1.0, supports-color@^6.1.0: supports-color@6.1.0, supports-color@^6.1.0:
version "6.1.0" version "6.1.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
...@@ -11418,6 +12038,25 @@ supports-color@^7.1.0: ...@@ -11418,6 +12038,25 @@ supports-color@^7.1.0:
dependencies: dependencies:
has-flag "^4.0.0" has-flag "^4.0.0"
svgo@^1.0.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
dependencies:
chalk "^2.4.1"
coa "^2.0.2"
css-select "^2.0.0"
css-select-base-adapter "^0.1.1"
css-tree "1.0.0-alpha.37"
csso "^4.0.2"
js-yaml "^3.13.1"
mkdirp "~0.5.1"
object.values "^1.1.0"
sax "~1.2.4"
stable "^0.1.8"
unquote "~1.1.1"
util.promisify "~1.0.0"
swr@0.2.0: swr@0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.yarnpkg.com/swr/-/swr-0.2.0.tgz#2088271bc0a8044089cf2badde013648f98783ee" resolved "https://registry.yarnpkg.com/swr/-/swr-0.2.0.tgz#2088271bc0a8044089cf2badde013648f98783ee"
...@@ -11425,15 +12064,10 @@ swr@0.2.0: ...@@ -11425,15 +12064,10 @@ swr@0.2.0:
dependencies: dependencies:
fast-deep-equal "2.0.1" fast-deep-equal "2.0.1"
symbol-observable@^1.1.0: systeminformation@^4.23.3:
version "1.2.0" version "4.23.5"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-4.23.5.tgz#29223266108442bf1ef906df7bf7efb2ae44f219"
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== integrity sha512-Zxd1wxN8KigQsDhZupVNAyHnkl+ombejuLpNhJ+LNezMxTLn7nBx9HNAIWUJnhAnSS0ZElQLQ1muqgnwbhgOHg==
systeminformation@^4.14.16:
version "4.23.3"
resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-4.23.3.tgz#abb618a66365181f2ef9de58ba2101fb36a1f005"
integrity sha512-TIGmv7O1vVw00ldkj8ckHJr667l/lbLxvYB5IrJZ7pxzKXt7RmCduvzHbFM6k2Owif/dGd7oEmRkaQJEH9ewng==
table@^5.2.3: table@^5.2.3:
version "5.4.6" version "5.4.6"
...@@ -11450,7 +12084,7 @@ tapable@^1.0.0, tapable@^1.1.3: ...@@ -11450,7 +12084,7 @@ tapable@^1.0.0, tapable@^1.1.3:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
tar@^4.4.10, tar@^4.4.12, tar@^4.4.2, tar@^4.4.8: tar@^4.4.10, tar@^4.4.12, tar@^4.4.8:
version "4.4.13" version "4.4.13"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
...@@ -11520,10 +12154,10 @@ terser-webpack-plugin@^1.4.3: ...@@ -11520,10 +12154,10 @@ terser-webpack-plugin@^1.4.3:
webpack-sources "^1.4.0" webpack-sources "^1.4.0"
worker-farm "^1.7.0" worker-farm "^1.7.0"
terser@4.6.7: terser@4.6.8:
version "4.6.7" version "4.6.8"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.7.tgz#478d7f9394ec1907f0e488c5f6a6a9a2bad55e72" resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.8.tgz#62ccb14a52f102418ad6061dfef45076f13e5fa2"
integrity sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g== integrity sha512-drV7ga6ZlIpBtitvb87Uk7P7gAJkCt3j/TqZr9wwF4Dlt0MBn52ANIAyuvP1F605WdPY4w6vT63u6KTWqaXFRQ==
dependencies: dependencies:
commander "^2.20.0" commander "^2.20.0"
source-map "~0.6.1" source-map "~0.6.1"
...@@ -11577,7 +12211,7 @@ through2@^3.0.0: ...@@ -11577,7 +12211,7 @@ through2@^3.0.0:
dependencies: dependencies:
readable-stream "2 || 3" readable-stream "2 || 3"
through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8:
version "2.3.8" version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
...@@ -11594,6 +12228,11 @@ timers-browserify@^2.0.4: ...@@ -11594,6 +12228,11 @@ timers-browserify@^2.0.4:
dependencies: dependencies:
setimmediate "^1.0.4" setimmediate "^1.0.4"
timsort@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
tmp@^0.0.33: tmp@^0.0.33:
version "0.0.33" version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
...@@ -11702,10 +12341,10 @@ truncate-utf8-bytes@^1.0.0: ...@@ -11702,10 +12341,10 @@ truncate-utf8-bytes@^1.0.0:
dependencies: dependencies:
utf8-byte-length "^1.0.1" utf8-byte-length "^1.0.1"
ts-loader@6.2.2: ts-loader@7.0.3:
version "6.2.2" version "7.0.3"
resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-6.2.2.tgz#dffa3879b01a1a1e0a4b85e2b8421dc0dfff1c58" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-7.0.3.tgz#1ba06fd3dae612ecf8b952f89145f9ac7489805f"
integrity sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ== integrity sha512-BXAHfPjm3J//20ibuI30M+xgLpdIng68p2H952QqbbmDk7SW72HV42k9Gop7rMxuHvrXWjazWhKuyr9D9kKe3A==
dependencies: dependencies:
chalk "^2.3.0" chalk "^2.3.0"
enhanced-resolve "^4.0.0" enhanced-resolve "^4.0.0"
...@@ -11713,15 +12352,15 @@ ts-loader@6.2.2: ...@@ -11713,15 +12352,15 @@ ts-loader@6.2.2:
micromatch "^4.0.0" micromatch "^4.0.0"
semver "^6.0.0" semver "^6.0.0"
ts-node@8.8.2: ts-node@8.10.1:
version "8.8.2" version "8.10.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.8.2.tgz#0b39e690bee39ea5111513a9d2bcdc0bc121755f" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.1.tgz#77da0366ff8afbe733596361d2df9a60fc9c9bd3"
integrity sha512-duVj6BpSpUpD/oM4MfhO98ozgkp3Gt9qIp3jGxwU2DFvl/3IRaEAvbLa8G60uS7C77457e/m5TMowjedeRxI1Q== integrity sha512-bdNz1L4ekHiJul6SHtZWs1ujEKERJnHs4HxN7rjTyyVOFf3HaJ6sLqe6aPG62XTzAB/63pKRh5jTSWL0D7bsvw==
dependencies: dependencies:
arg "^4.1.0" arg "^4.1.0"
diff "^4.0.1" diff "^4.0.1"
make-error "^1.1.1" make-error "^1.1.1"
source-map-support "^0.5.6" source-map-support "^0.5.17"
yn "3.1.1" yn "3.1.1"
ts-pnp@^1.1.2: ts-pnp@^1.1.2:
...@@ -11763,7 +12402,7 @@ tunnel@^0.0.6: ...@@ -11763,7 +12402,7 @@ tunnel@^0.0.6:
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
tv4@^1.3: tv4@^1.3.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963" resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963"
integrity sha1-0CDIRvrdUMhVq7JeuuzGj8EPeWM= integrity sha1-0CDIRvrdUMhVq7JeuuzGj8EPeWM=
...@@ -11843,11 +12482,6 @@ uid-number@0.0.6: ...@@ -11843,11 +12482,6 @@ uid-number@0.0.6:
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=
ultron@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
umask@^1.1.0: umask@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d"
...@@ -11903,6 +12537,11 @@ uniq@^1.0.1: ...@@ -11903,6 +12537,11 @@ uniq@^1.0.1:
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
uniqs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
unique-filename@^1.1.1: unique-filename@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
...@@ -11951,11 +12590,21 @@ universalify@^0.1.0: ...@@ -11951,11 +12590,21 @@ universalify@^0.1.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
universalify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
unpipe@1.0.0, unpipe@~1.0.0: unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
unquote@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
unset-value@^1.0.0: unset-value@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
...@@ -12042,6 +12691,16 @@ util-promisify@^2.1.0: ...@@ -12042,6 +12691,16 @@ util-promisify@^2.1.0:
dependencies: dependencies:
object.getownpropertydescriptors "^2.0.3" object.getownpropertydescriptors "^2.0.3"
util.promisify@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
dependencies:
define-properties "^1.1.3"
es-abstract "^1.17.2"
has-symbols "^1.0.1"
object.getownpropertydescriptors "^2.1.0"
util@0.10.3: util@0.10.3:
version "0.10.3" version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
...@@ -12066,6 +12725,11 @@ uuid@^3.0.1, uuid@^3.2.1, uuid@^3.3.2: ...@@ -12066,6 +12725,11 @@ uuid@^3.0.1, uuid@^3.2.1, uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
uuid@^7.0.2, uuid@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
v8-compile-cache@2.0.3: v8-compile-cache@2.0.3:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
...@@ -12096,6 +12760,11 @@ vary@~1.1.2: ...@@ -12096,6 +12760,11 @@ vary@~1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
vendors@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
verror@1.10.0: verror@1.10.0:
version "1.10.0" version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
...@@ -12105,19 +12774,12 @@ verror@1.10.0: ...@@ -12105,19 +12774,12 @@ verror@1.10.0:
core-util-is "1.0.2" core-util-is "1.0.2"
extsprintf "^1.2.0" extsprintf "^1.2.0"
vizion@~2.0.2: vizion@0.2.13:
version "2.0.2" version "0.2.13"
resolved "https://registry.yarnpkg.com/vizion/-/vizion-2.0.2.tgz#fcc263f41a4543b02b655c1b6c4ff1406726d2fa" resolved "https://registry.yarnpkg.com/vizion/-/vizion-0.2.13.tgz#1314cdee2b34116f9f5b1248536f95dbfcd6ef5f"
integrity sha512-UGDB/UdC1iyPkwyQaI9AFMwKcluQyD4FleEXObrlu254MEf16MV8l+AZdpFErY/iVKZVWlQ+OgJlVVJIdeMUYg== integrity sha1-ExTN7is0EW+fWxJIU2+V2/zW718=
dependencies: dependencies:
async "2.6.1" async "1.5"
git-node-fs "^1.0.0"
ini "^1.3.4"
js-git "^0.7.8"
lodash.findindex "^4.6.0"
lodash.foreach "^4.5.0"
lodash.get "^4.4.2"
lodash.last "^3.0.0"
vm-browserify@^1.0.1: vm-browserify@^1.0.1:
version "1.1.2" version "1.1.2"
...@@ -12144,7 +12806,7 @@ watchpack@2.0.0-beta.13: ...@@ -12144,7 +12806,7 @@ watchpack@2.0.0-beta.13:
glob-to-regexp "^0.4.1" glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
watchpack@^1.6.0: watchpack@^1.6.1:
version "1.6.1" version "1.6.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2"
integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA== integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==
...@@ -12209,45 +12871,16 @@ webpack-sources@1.4.3, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-s ...@@ -12209,45 +12871,16 @@ webpack-sources@1.4.3, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-s
source-list-map "^2.0.0" source-list-map "^2.0.0"
source-map "~0.6.1" source-map "~0.6.1"
webpack@4.42.0: webpack@4.43.0:
version "4.42.0" version "4.43.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5"
"@webassemblyjs/wasm-edit" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
acorn "^6.2.1"
ajv "^6.10.2"
ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.2"
enhanced-resolve "^4.1.0"
eslint-scope "^4.0.3"
json-parse-better-errors "^1.0.2"
loader-runner "^2.4.0"
loader-utils "^1.2.3"
memory-fs "^0.4.1"
micromatch "^3.1.10"
mkdirp "^0.5.1"
neo-async "^2.6.1"
node-libs-browser "^2.2.1"
schema-utils "^1.0.0"
tapable "^1.1.3"
terser-webpack-plugin "^1.4.3"
watchpack "^1.6.0"
webpack-sources "^1.4.1"
webpack@4.42.1:
version "4.42.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.1.tgz#ae707baf091f5ca3ef9c38b884287cfe8f1983ef"
integrity sha512-SGfYMigqEfdGchGhFFJ9KyRpQKnipvEvjc1TwrXEPCM6H5Wywu10ka8o3KGrMzSMxMQKt8aCHUFh5DaQ9UmyRg==
dependencies: dependencies:
"@webassemblyjs/ast" "1.9.0" "@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0"
"@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0"
"@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0"
acorn "^6.2.1" acorn "^6.4.1"
ajv "^6.10.2" ajv "^6.10.2"
ajv-keywords "^3.4.1" ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.2" chrome-trace-event "^1.0.2"
...@@ -12264,7 +12897,7 @@ webpack@4.42.1: ...@@ -12264,7 +12897,7 @@ webpack@4.42.1:
schema-utils "^1.0.0" schema-utils "^1.0.0"
tapable "^1.1.3" tapable "^1.1.3"
terser-webpack-plugin "^1.4.3" terser-webpack-plugin "^1.4.3"
watchpack "^1.6.0" watchpack "^1.6.1"
webpack-sources "^1.4.1" webpack-sources "^1.4.1"
whatwg-fetch@3.0.0: whatwg-fetch@3.0.0:
...@@ -12291,7 +12924,7 @@ which-pm-runs@^1.0.0: ...@@ -12291,7 +12924,7 @@ which-pm-runs@^1.0.0:
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
which@^1.2.14, which@^1.2.9, which@^1.3.1: which@1.3.1, which@^1.2.14, which@^1.2.9, which@^1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
...@@ -12305,7 +12938,7 @@ which@^2.0.1: ...@@ -12305,7 +12938,7 @@ which@^2.0.1:
dependencies: dependencies:
isexe "^2.0.0" isexe "^2.0.0"
wide-align@^1.1.0: wide-align@1.1.3, wide-align@^1.1.0:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
...@@ -12343,10 +12976,10 @@ worker-farm@^1.7.0: ...@@ -12343,10 +12976,10 @@ worker-farm@^1.7.0:
dependencies: dependencies:
errno "~0.1.7" errno "~0.1.7"
worker-plugin@4.0.2: worker-plugin@4.0.3:
version "4.0.2" version "4.0.3"
resolved "https://registry.yarnpkg.com/worker-plugin/-/worker-plugin-4.0.2.tgz#0456dd7af1c0de64591326fd8a08c5d9f2b5b27a" resolved "https://registry.yarnpkg.com/worker-plugin/-/worker-plugin-4.0.3.tgz#7c42e600d5931ad154d3d5f187a32446df64db0f"
integrity sha512-V+1zSZMOOKk+uBzKyNIODLQLsx59zSIOaI75J1EMS0iR1qy+KQR3y/pQ3T0vIhvPfDFapGRMsoMvQNEL3okqSA== integrity sha512-7hFDYWiKcE3yHZvemsoM9lZis/PzurHAEX1ej8PLCu818Rt6QqUAiDdxHPCKZctzmhqzPpcFSgvMCiPbtooqAg==
dependencies: dependencies:
loader-utils "^1.1.0" loader-utils "^1.1.0"
...@@ -12357,14 +12990,6 @@ worker-rpc@^0.1.0: ...@@ -12357,14 +12990,6 @@ worker-rpc@^0.1.0:
dependencies: dependencies:
microevent.ts "~0.1.1" microevent.ts "~0.1.1"
wrap-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"
integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=
dependencies:
string-width "^2.1.1"
strip-ansi "^4.0.0"
wrap-ansi@^5.1.0: wrap-ansi@^5.1.0:
version "5.1.0" version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
...@@ -12446,22 +13071,6 @@ write@1.0.3: ...@@ -12446,22 +13071,6 @@ write@1.0.3:
dependencies: dependencies:
mkdirp "^0.5.1" mkdirp "^0.5.1"
ws@^3.0.0:
version "3.3.3"
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
dependencies:
async-limiter "~1.0.0"
safe-buffer "~5.1.0"
ultron "~1.1.0"
ws@^5.1.0:
version "5.2.2"
resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
dependencies:
async-limiter "~1.0.0"
ws@^6.0.0: ws@^6.0.0:
version "6.2.1" version "6.2.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
...@@ -12469,6 +13078,11 @@ ws@^6.0.0: ...@@ -12469,6 +13078,11 @@ ws@^6.0.0:
dependencies: dependencies:
async-limiter "~1.0.0" async-limiter "~1.0.0"
ws@^7.0.0, ws@~7.2.0:
version "7.2.3"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46"
integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==
xdg-basedir@^4.0.0: xdg-basedir@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
...@@ -12521,14 +13135,7 @@ yamljs@0.3.0: ...@@ -12521,14 +13135,7 @@ yamljs@0.3.0:
argparse "^1.0.7" argparse "^1.0.7"
glob "^7.0.5" glob "^7.0.5"
yargs-parser@^10.0.0: yargs-parser@13.1.2, yargs-parser@^13.1.0, yargs-parser@^13.1.2:
version "10.1.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==
dependencies:
camelcase "^4.1.0"
yargs-parser@^13.1.0:
version "13.1.2" version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
...@@ -12536,6 +13143,13 @@ yargs-parser@^13.1.0: ...@@ -12536,6 +13143,13 @@ yargs-parser@^13.1.0:
camelcase "^5.0.0" camelcase "^5.0.0"
decamelize "^1.2.0" decamelize "^1.2.0"
yargs-parser@^10.0.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==
dependencies:
camelcase "^4.1.0"
yargs-parser@^15.0.1: yargs-parser@^15.0.1:
version "15.0.1" version "15.0.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3"
...@@ -12552,6 +13166,15 @@ yargs-parser@^18.1.1: ...@@ -12552,6 +13166,15 @@ yargs-parser@^18.1.1:
camelcase "^5.0.0" camelcase "^5.0.0"
decamelize "^1.2.0" decamelize "^1.2.0"
yargs-unparser@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f"
integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==
dependencies:
flat "^4.1.0"
lodash "^4.17.15"
yargs "^13.3.0"
yargs@13.2.4: yargs@13.2.4:
version "13.2.4" version "13.2.4"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83"
...@@ -12569,7 +13192,23 @@ yargs@13.2.4: ...@@ -12569,7 +13192,23 @@ yargs@13.2.4:
y18n "^4.0.0" y18n "^4.0.0"
yargs-parser "^13.1.0" yargs-parser "^13.1.0"
yargs@15.3.1, yargs@^15.1.0: yargs@13.3.2, yargs@^13.3.0:
version "13.3.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
dependencies:
cliui "^5.0.0"
find-up "^3.0.0"
get-caller-file "^2.0.1"
require-directory "^2.1.1"
require-main-filename "^2.0.0"
set-blocking "^2.0.0"
string-width "^3.0.0"
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^13.1.2"
yargs@15.3.1, yargs@^15.3.1:
version "15.3.1" version "15.3.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b"
integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册