Merge branch 'main' into dependabot/npm_and_yarn/graphql-tools/utils-8.12.0

This commit is contained in:
Jean-Sébastien Herbaux 2022-10-18 16:02:56 +02:00 committed by GitHub
commit ff10100827
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
62 changed files with 634 additions and 381 deletions

4
.husky/pre-commit Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx --no lint-staged

View File

@ -110,6 +110,7 @@ testApp
license.txt
exports
*.cache
dist
build
documentation
.strapi-updater.json

View File

@ -110,5 +110,6 @@ coverage
license.txt
exports
*.cache
dist
build
.strapi-updater.json

View File

@ -110,5 +110,6 @@ coverage
license.txt
exports
*.cache
dist
build
.strapi-updater.json

View File

@ -28,6 +28,7 @@
".github/actions/*"
],
"scripts": {
"prepare": "husky install",
"setup": "yarn && yarn build",
"watch": "lerna run --stream watch --no-private",
"build": "lerna run --stream build --no-private",
@ -54,11 +55,6 @@
"test:generate-app": "node test/create-test-app.js",
"doc:api": "node scripts/open-api/serve.js"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,md,css,scss,yaml,yml}": [
"prettier --write"
@ -84,7 +80,7 @@
"fs-extra": "10.1.0",
"get-port": "5.1.1",
"glob": "7.2.3",
"husky": "3.1.0",
"husky": "8.0.1",
"inquirer": "8.2.4",
"istanbul": "~0.4.2",
"jest": "29.0.3",
@ -93,7 +89,7 @@
"jest-environment-jsdom": "29.0.3",
"jest-watch-typeahead": "2.2.0",
"lerna": "5.4.3",
"lint-staged": "10.5.4",
"lint-staged": "13.0.3",
"lodash": "4.17.21",
"npm-run-all": "4.1.5",
"nx": "14.4.2",

View File

@ -62,6 +62,15 @@ async function initProject(projectName, program) {
await checkInstallPath(resolve(projectName));
}
const programFlags = program.options
.reduce((acc, { short, long }) => [...acc, short, long], [])
.filter(Boolean);
if (program.template && programFlags.includes(program.template)) {
console.error(`${program.template} is not a valid template`);
process.exit(1);
}
const hasDatabaseOptions = databaseOptions.some((opt) => program[opt]);
if (program.quickstart && hasDatabaseOptions) {

View File

@ -45,6 +45,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -50,6 +50,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -110,5 +110,6 @@ coverage
license.txt
exports
*.cache
dist
build
.strapi-updater.json

View File

@ -2,6 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
import { Typography } from '@strapi/design-system/Typography';
import { Tooltip } from '@strapi/design-system/Tooltip';
import Media from './Media';
import MultipleMedias from './MultipleMedias';
import RelationMultiple from './RelationMultiple';
@ -55,6 +56,15 @@ const CellContent = ({ content, fieldSchema, metadatas, name, queryInfos, rowId
return <SingleComponent value={content} metadatas={metadatas} />;
case 'string':
return (
<Tooltip description={content}>
<TypographyMaxWidth ellipsis textColor="neutral800">
<CellValue type={type} value={content} />
</TypographyMaxWidth>
</Tooltip>
);
default:
return (
<TypographyMaxWidth ellipsis textColor="neutral800">

View File

@ -13,7 +13,7 @@ import sanitizeHtml from './utils/satinizeHtml';
import Wrapper from './Wrapper';
const PreviewWysiwyg = ({ data }) => {
const html = useMemo(() => sanitizeHtml(md.render(data || '')), [data]);
const html = useMemo(() => sanitizeHtml(md.render(data.replaceAll('\\n', '\n') || '')), [data]);
return (
<Wrapper>

View File

@ -9,6 +9,7 @@ import { Typography } from '@strapi/design-system/Typography';
import get from 'lodash/get';
import has from 'lodash/has';
import isEmpty from 'lodash/isEmpty';
import { Tooltip } from '@strapi/design-system/Tooltip';
import { getTrad } from '../../utils';
const StyledBullet = styled.div`
@ -43,7 +44,9 @@ const SingleValue = (props) => {
<Component {...props}>
<Flex>
<StyledBullet title={title} isDraft={isDraft} />
<Typography ellipsis>{props.data.label ?? '-'}</Typography>
<Tooltip description={props.data.label ?? '-'}>
<Typography ellipsis>{props.data.label ?? '-'}</Typography>
</Tooltip>
</Flex>
</Component>
);

View File

@ -91,7 +91,7 @@ function App() {
try {
const deviceId = await getUID();
fetch('https://analytics.strapi.io/track', {
await fetch('https://analytics.strapi.io/track', {
method: 'POST',
body: JSON.stringify({
event: 'didInitializeAdministration',

View File

@ -79,7 +79,7 @@ const socialLinks = [
},
{
name: 'Discord',
link: 'https://slack.strapi.io/',
link: 'https://discord.strapi.io/',
icon: <StyledDiscord />,
alt: 'discord',
},

View File

@ -1172,7 +1172,7 @@ describe('Homepage', () => {
<a
aria-disabled="false"
class="c46 c47 c48 c49"
href="https://slack.strapi.io/"
href="https://discord.strapi.io/"
rel="noreferrer noopener"
target="_blank"
>

View File

@ -0,0 +1,110 @@
import React from 'react';
import semver from 'semver';
import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import { Tooltip } from '@strapi/design-system/Tooltip';
import { Button } from '@strapi/design-system/Button';
import { Box } from '@strapi/design-system/Box';
import Duplicate from '@strapi/icons/Duplicate';
const TooltipButton = ({ description, installMessage, disabled, handleCopy, pluginName }) => (
<Tooltip data-testid={`tooltip-${pluginName}`} description={description}>
<Box>
<Button
size="S"
startIcon={<Duplicate />}
variant="secondary"
disabled={disabled}
onClick={handleCopy}
>
{installMessage}
</Button>
</Box>
</Tooltip>
);
const CardButton = ({ strapiPeerDepVersion, strapiAppVersion, handleCopy, pluginName }) => {
const { formatMessage } = useIntl();
const versionRange = semver.validRange(strapiPeerDepVersion);
const isCompatible = semver.satisfies(strapiAppVersion, versionRange);
const installMessage = formatMessage({
id: 'admin.pages.MarketPlacePage.plugin.copy',
defaultMessage: 'Copy install command',
});
// Only plugins receive a strapiAppVersion
if (strapiAppVersion) {
if (!versionRange) {
return (
<TooltipButton
installMessage={installMessage}
pluginName={pluginName}
description={formatMessage(
{
id: 'admin.pages.MarketPlacePage.plugin.version.null',
defaultMessage:
'Unable to verify compatibility with your Strapi version: "{strapiAppVersion}"',
},
{ strapiAppVersion }
)}
handleCopy={handleCopy}
/>
);
}
if (!isCompatible) {
return (
<TooltipButton
installMessage={installMessage}
pluginName={pluginName}
description={formatMessage(
{
id: 'admin.pages.MarketPlacePage.plugin.version',
defaultMessage:
'Update your Strapi version: "{strapiAppVersion}" to: "{versionRange}"',
},
{
strapiAppVersion,
versionRange,
}
)}
disabled
/>
);
}
}
return (
<Button size="S" startIcon={<Duplicate />} variant="secondary" onClick={handleCopy}>
{installMessage}
</Button>
);
};
TooltipButton.defaultProps = {
disabled: false,
handleCopy: null,
};
TooltipButton.propTypes = {
description: PropTypes.string.isRequired,
installMessage: PropTypes.string.isRequired,
disabled: PropTypes.bool,
handleCopy: PropTypes.func,
pluginName: PropTypes.string.isRequired,
};
CardButton.defaultProps = {
strapiAppVersion: null,
strapiPeerDepVersion: null,
};
CardButton.propTypes = {
strapiAppVersion: PropTypes.string,
strapiPeerDepVersion: PropTypes.string,
handleCopy: PropTypes.func.isRequired,
pluginName: PropTypes.string.isRequired,
};
export default CardButton;

View File

@ -1,20 +1,34 @@
import React from 'react';
import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import { CopyToClipboard } from 'react-copy-to-clipboard';
import { useNotification, useTracking } from '@strapi/helper-plugin';
import { Box } from '@strapi/design-system/Box';
import { Icon } from '@strapi/design-system/Icon';
import { Typography } from '@strapi/design-system/Typography';
import Check from '@strapi/icons/Check';
import Duplicate from '@strapi/icons/Duplicate';
import { Button } from '@strapi/design-system/Button';
import CardButton from './CardButton';
const InstallPluginButton = ({ isInstalled, isInDevelopmentMode, commandToCopy }) => {
const InstallPluginButton = ({
isInstalled,
isInDevelopmentMode,
commandToCopy,
strapiAppVersion,
strapiPeerDepVersion,
pluginName,
}) => {
const toggleNotification = useNotification();
const { formatMessage } = useIntl();
const { trackUsage } = useTracking();
const handleCopy = () => {
navigator.clipboard.writeText(commandToCopy);
trackUsage('willInstallPlugin');
toggleNotification({
type: 'success',
message: { id: 'admin.pages.MarketPlacePage.plugin.copy.success' },
});
};
// Already installed
if (isInstalled) {
return (
@ -33,23 +47,12 @@ const InstallPluginButton = ({ isInstalled, isInDevelopmentMode, commandToCopy }
// In development, show install button
if (isInDevelopmentMode) {
return (
<CopyToClipboard
onCopy={() => {
trackUsage('willInstallPlugin');
toggleNotification({
type: 'success',
message: { id: 'admin.pages.MarketPlacePage.plugin.copy.success' },
});
}}
text={commandToCopy}
>
<Button size="S" startIcon={<Duplicate />} variant="secondary">
{formatMessage({
id: 'admin.pages.MarketPlacePage.plugin.copy',
defaultMessage: 'Copy install command',
})}
</Button>
</CopyToClipboard>
<CardButton
strapiAppVersion={strapiAppVersion}
strapiPeerDepVersion={strapiPeerDepVersion}
handleCopy={handleCopy}
pluginName={pluginName}
/>
);
}
@ -57,10 +60,18 @@ const InstallPluginButton = ({ isInstalled, isInDevelopmentMode, commandToCopy }
return null;
};
InstallPluginButton.defaultProps = {
strapiAppVersion: null,
strapiPeerDepVersion: null,
};
InstallPluginButton.propTypes = {
isInstalled: PropTypes.bool.isRequired,
isInDevelopmentMode: PropTypes.bool.isRequired,
commandToCopy: PropTypes.string.isRequired,
strapiAppVersion: PropTypes.string,
strapiPeerDepVersion: PropTypes.string,
pluginName: PropTypes.string.isRequired,
};
export default InstallPluginButton;

View File

@ -32,6 +32,7 @@ const NpmPackageCard = ({
useYarn,
isInDevelopmentMode,
npmPackageType,
strapiAppVersion,
}) => {
const { attributes } = npmPackage;
const { formatMessage } = useIntl();
@ -139,6 +140,9 @@ const NpmPackageCard = ({
isInstalled={isInstalled}
isInDevelopmentMode={isInDevelopmentMode}
commandToCopy={commandToCopy}
strapiAppVersion={strapiAppVersion}
strapiPeerDepVersion={attributes.strapiVersion}
pluginName={attributes.name}
/>
</Stack>
</Flex>
@ -147,6 +151,7 @@ const NpmPackageCard = ({
NpmPackageCard.defaultProps = {
isInDevelopmentMode: false,
strapiAppVersion: null,
};
NpmPackageCard.propTypes = {
@ -164,12 +169,14 @@ NpmPackageCard.propTypes = {
validated: PropTypes.bool.isRequired,
madeByStrapi: PropTypes.bool.isRequired,
strapiCompatibility: PropTypes.oneOf(['v3', 'v4']),
strapiVersion: PropTypes.string,
}).isRequired,
}).isRequired,
isInstalled: PropTypes.bool.isRequired,
useYarn: PropTypes.bool.isRequired,
isInDevelopmentMode: PropTypes.bool,
npmPackageType: PropTypes.string.isRequired,
strapiAppVersion: PropTypes.string,
};
export default NpmPackageCard;

View File

@ -9,6 +9,7 @@ const NpmPackagesGrid = ({
useYarn,
isInDevelopmentMode,
npmPackageType,
strapiAppVersion,
}) => {
// Check if an individual package is in the dependencies
const isAlreadyInstalled = useCallback(
@ -26,6 +27,7 @@ const NpmPackagesGrid = ({
useYarn={useYarn}
isInDevelopmentMode={isInDevelopmentMode}
npmPackageType={npmPackageType}
strapiAppVersion={strapiAppVersion}
/>
</GridItem>
))}
@ -35,6 +37,7 @@ const NpmPackagesGrid = ({
NpmPackagesGrid.defaultProps = {
installedPackageNames: [],
strapiAppVersion: null,
};
NpmPackagesGrid.propTypes = {
@ -43,6 +46,7 @@ NpmPackagesGrid.propTypes = {
useYarn: PropTypes.bool.isRequired,
isInDevelopmentMode: PropTypes.bool.isRequired,
npmPackageType: PropTypes.string.isRequired,
strapiAppVersion: PropTypes.string,
};
export default NpmPackagesGrid;

View File

@ -50,7 +50,7 @@ const MarketPlacePage = () => {
const toggleNotification = useNotification();
const [searchQuery, setSearchQuery] = useState('');
const [npmPackageType, setNpmPackageType] = useState('plugin');
const { autoReload: isInDevelopmentMode, dependencies, useYarn } = useAppInfos();
const { autoReload: isInDevelopmentMode, dependencies, useYarn, strapiVersion } = useAppInfos();
const isOnline = useNavigatorOnLine();
useFocusWhenNavigate();
@ -247,6 +247,7 @@ const MarketPlacePage = () => {
useYarn={useYarn}
isInDevelopmentMode={isInDevelopmentMode}
npmPackageType="plugin"
strapiAppVersion={strapiVersion}
/>
)}
</TabPanel>

View File

@ -1223,38 +1223,46 @@ exports[`Marketplace page renders and matches the plugin tab snapshot 1`] = `
</svg>
</div>
</a>
<button
aria-disabled="false"
class="c51 c52"
type="button"
>
<span>
<div
aria-hidden="true"
class="c53 c54 c55"
aria-describedby="tooltip-3"
class=""
tabindex="0"
>
<svg
fill="none"
height="1em"
viewBox="0 0 24 24"
width="1em"
xmlns="http://www.w3.org/2000/svg"
<button
aria-disabled="false"
class="c51 c52"
type="button"
>
<path
d="M1.056 24h15.906c.583 0 1.056-.473 1.056-1.056V7.028c0-.583-.473-1.056-1.056-1.056H1.056C.473 5.972 0 6.445 0 7.028v15.916C0 23.527.473 24 1.056 24z"
fill="#212134"
/>
<path
d="M8.094 2.111h13.795v13.795h-1.127v2.112h2.182A1.056 1.056 0 0024 16.962V1.056A1.056 1.056 0 0022.944 0H7.038a1.056 1.056 0 00-1.056 1.056v2.252h2.112V2.11z"
fill="#212134"
/>
</svg>
<div
aria-hidden="true"
class="c53 c54 c55"
>
<svg
fill="none"
height="1em"
viewBox="0 0 24 24"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M1.056 24h15.906c.583 0 1.056-.473 1.056-1.056V7.028c0-.583-.473-1.056-1.056-1.056H1.056C.473 5.972 0 6.445 0 7.028v15.916C0 23.527.473 24 1.056 24z"
fill="#212134"
/>
<path
d="M8.094 2.111h13.795v13.795h-1.127v2.112h2.182A1.056 1.056 0 0024 16.962V1.056A1.056 1.056 0 0022.944 0H7.038a1.056 1.056 0 00-1.056 1.056v2.252h2.112V2.11z"
fill="#212134"
/>
</svg>
</div>
<span
class="c56 c57"
>
Copy install command
</span>
</button>
</div>
<span
class="c56 c57"
>
Copy install command
</span>
</button>
</span>
</div>
</div>
</div>
@ -1340,38 +1348,47 @@ exports[`Marketplace page renders and matches the plugin tab snapshot 1`] = `
</svg>
</div>
</a>
<button
aria-disabled="false"
class="c51 c52"
type="button"
>
<span>
<div
aria-hidden="true"
class="c53 c54 c55"
aria-describedby="tooltip-5"
class=""
tabindex="0"
>
<svg
fill="none"
height="1em"
viewBox="0 0 24 24"
width="1em"
xmlns="http://www.w3.org/2000/svg"
<button
aria-disabled="true"
class="c51 c52"
disabled=""
type="button"
>
<path
d="M1.056 24h15.906c.583 0 1.056-.473 1.056-1.056V7.028c0-.583-.473-1.056-1.056-1.056H1.056C.473 5.972 0 6.445 0 7.028v15.916C0 23.527.473 24 1.056 24z"
fill="#212134"
/>
<path
d="M8.094 2.111h13.795v13.795h-1.127v2.112h2.182A1.056 1.056 0 0024 16.962V1.056A1.056 1.056 0 0022.944 0H7.038a1.056 1.056 0 00-1.056 1.056v2.252h2.112V2.11z"
fill="#212134"
/>
</svg>
<div
aria-hidden="true"
class="c53 c54 c55"
>
<svg
fill="none"
height="1em"
viewBox="0 0 24 24"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M1.056 24h15.906c.583 0 1.056-.473 1.056-1.056V7.028c0-.583-.473-1.056-1.056-1.056H1.056C.473 5.972 0 6.445 0 7.028v15.916C0 23.527.473 24 1.056 24z"
fill="#212134"
/>
<path
d="M8.094 2.111h13.795v13.795h-1.127v2.112h2.182A1.056 1.056 0 0024 16.962V1.056A1.056 1.056 0 0022.944 0H7.038a1.056 1.056 0 00-1.056 1.056v2.252h2.112V2.11z"
fill="#212134"
/>
</svg>
</div>
<span
class="c56 c57"
>
Copy install command
</span>
</button>
</div>
<span
class="c56 c57"
>
Copy install command
</span>
</button>
</span>
</div>
</div>
</div>
@ -1410,7 +1427,7 @@ exports[`Marketplace page renders and matches the plugin tab snapshot 1`] = `
Documentation
<span>
<div
aria-describedby="tooltip-3"
aria-describedby="tooltip-7"
class="c43"
tabindex="0"
>
@ -1579,38 +1596,47 @@ exports[`Marketplace page renders and matches the plugin tab snapshot 1`] = `
</svg>
</div>
</a>
<button
aria-disabled="false"
class="c51 c52"
type="button"
>
<span>
<div
aria-hidden="true"
class="c53 c54 c55"
aria-describedby="tooltip-9"
class=""
tabindex="0"
>
<svg
fill="none"
height="1em"
viewBox="0 0 24 24"
width="1em"
xmlns="http://www.w3.org/2000/svg"
<button
aria-disabled="true"
class="c51 c52"
disabled=""
type="button"
>
<path
d="M1.056 24h15.906c.583 0 1.056-.473 1.056-1.056V7.028c0-.583-.473-1.056-1.056-1.056H1.056C.473 5.972 0 6.445 0 7.028v15.916C0 23.527.473 24 1.056 24z"
fill="#212134"
/>
<path
d="M8.094 2.111h13.795v13.795h-1.127v2.112h2.182A1.056 1.056 0 0024 16.962V1.056A1.056 1.056 0 0022.944 0H7.038a1.056 1.056 0 00-1.056 1.056v2.252h2.112V2.11z"
fill="#212134"
/>
</svg>
<div
aria-hidden="true"
class="c53 c54 c55"
>
<svg
fill="none"
height="1em"
viewBox="0 0 24 24"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M1.056 24h15.906c.583 0 1.056-.473 1.056-1.056V7.028c0-.583-.473-1.056-1.056-1.056H1.056C.473 5.972 0 6.445 0 7.028v15.916C0 23.527.473 24 1.056 24z"
fill="#212134"
/>
<path
d="M8.094 2.111h13.795v13.795h-1.127v2.112h2.182A1.056 1.056 0 0024 16.962V1.056A1.056 1.056 0 0022.944 0H7.038a1.056 1.056 0 00-1.056 1.056v2.252h2.112V2.11z"
fill="#212134"
/>
</svg>
</div>
<span
class="c56 c57"
>
Copy install command
</span>
</button>
</div>
<span
class="c56 c57"
>
Copy install command
</span>
</button>
</span>
</div>
</div>
</div>
@ -2724,7 +2750,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
Amazon Ses
<span>
<div
aria-describedby="tooltip-9"
aria-describedby="tooltip-21"
class="c43"
tabindex="0"
>
@ -2856,7 +2882,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
AWS S3
<span>
<div
aria-describedby="tooltip-11"
aria-describedby="tooltip-23"
class="c43"
tabindex="0"
>
@ -2988,7 +3014,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
Cloudinary
<span>
<div
aria-describedby="tooltip-13"
aria-describedby="tooltip-25"
class="c43"
tabindex="0"
>
@ -3110,7 +3136,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
Local Upload
<span>
<div
aria-describedby="tooltip-15"
aria-describedby="tooltip-27"
class="c43"
tabindex="0"
>
@ -3242,7 +3268,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
Mailgun
<span>
<div
aria-describedby="tooltip-17"
aria-describedby="tooltip-29"
class="c43"
tabindex="0"
>
@ -3374,7 +3400,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
Nodemailer
<span>
<div
aria-describedby="tooltip-19"
aria-describedby="tooltip-31"
class="c43"
tabindex="0"
>
@ -3506,7 +3532,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
Rackspace
<span>
<div
aria-describedby="tooltip-21"
aria-describedby="tooltip-33"
class="c43"
tabindex="0"
>
@ -3638,7 +3664,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
SendGrid
<span>
<div
aria-describedby="tooltip-23"
aria-describedby="tooltip-35"
class="c43"
tabindex="0"
>
@ -3770,7 +3796,7 @@ exports[`Marketplace page renders and matches the provider tab snapshot 1`] = `
Sendmail
<span>
<div
aria-describedby="tooltip-25"
aria-describedby="tooltip-37"
class="c43"
tabindex="0"
>

View File

@ -8,6 +8,7 @@ import {
screen,
getByText,
queryByText,
getByRole,
} from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { QueryClient, QueryClientProvider } from 'react-query';
@ -35,6 +36,7 @@ jest.mock('@strapi/helper-plugin', () => ({
'@strapi/plugin-documentation': '4.2.0',
'@strapi/provider-upload-cloudinary': '4.2.0',
},
strapiVersion: '4.1.0',
useYarn: true,
})),
}));
@ -215,7 +217,7 @@ describe('Marketplace page', () => {
expect(pluginCardText).toEqual(null);
});
it('shows the installed text for installed plugins', async () => {
it('shows the installed text for installed plugins', () => {
render(App);
const pluginsTab = screen.getByRole('tab', { name: /plugins/i });
fireEvent.click(pluginsTab);
@ -235,7 +237,7 @@ describe('Marketplace page', () => {
expect(notInstalledText).toBeVisible();
});
it('shows the installed text for installed providers', async () => {
it('shows the installed text for installed providers', () => {
// Open providers tab
render(App);
const providersTab = screen.getByRole('tab', { name: /providers/i });
@ -255,4 +257,38 @@ describe('Marketplace page', () => {
const notInstalledText = queryByText(notInstalledCard, /copy install command/i);
expect(notInstalledText).toBeVisible();
});
it('disables the button and shows compatibility tooltip message when version provided', async () => {
const { getByTestId } = render(App);
const alreadyInstalledCard = screen
.getAllByTestId('npm-package-card')
.find((div) => div.innerHTML.includes('Transformer'));
const button = getByRole(alreadyInstalledCard, 'button', { name: /copy install command/i });
const tooltip = getByTestId(`tooltip-Transformer`);
fireEvent.mouseOver(button);
await waitFor(() => {
expect(tooltip).toBeVisible();
});
expect(button).toBeDisabled();
expect(tooltip).toBeInTheDocument();
expect(tooltip).toHaveTextContent('Update your Strapi version: "4.1.0" to: "4.0.7"');
});
it('shows compatibility tooltip message when no version provided', async () => {
const { getByTestId } = render(App);
const alreadyInstalledCard = screen
.getAllByTestId('npm-package-card')
.find((div) => div.innerHTML.includes('Config Sync'));
const button = getByRole(alreadyInstalledCard, 'button', { name: /copy install command/i });
const tooltip = getByTestId(`tooltip-Config Sync`);
fireEvent.mouseOver(button);
await waitFor(() => {
expect(tooltip).toBeVisible();
});
expect(button).not.toBeDisabled();
expect(tooltip).toBeInTheDocument();
expect(tooltip).toHaveTextContent(
'Unable to verify compatibility with your Strapi version: "4.1.0"'
);
});
});

View File

@ -48,6 +48,7 @@ const handlers = [
validated: false,
madeByStrapi: false,
strapiCompatibility: 'v3',
strapiVersion: '^4.0.0',
},
},
{
@ -221,6 +222,7 @@ const handlers = [
validated: false,
madeByStrapi: false,
strapiCompatibility: 'v4',
strapiVersion: '4.x.x',
},
},
{
@ -291,6 +293,7 @@ const handlers = [
validated: true,
madeByStrapi: false,
strapiCompatibility: 'v4',
strapiVersion: 'Contact developer',
},
},
{
@ -362,6 +365,7 @@ const handlers = [
validated: false,
madeByStrapi: false,
strapiCompatibility: 'v4',
strapiVersion: '^3.4.2',
},
},
{
@ -404,6 +408,7 @@ const handlers = [
validated: true,
madeByStrapi: true,
strapiCompatibility: 'v4',
strapiVersion: '^4.0.7',
},
},
{
@ -446,6 +451,7 @@ const handlers = [
validated: true,
madeByStrapi: false,
strapiCompatibility: 'v3',
strapiVersion: '^4.3.0',
},
},
{
@ -488,6 +494,7 @@ const handlers = [
validated: false,
madeByStrapi: false,
strapiCompatibility: 'v4',
strapiVersion: '4.0.7',
},
},
],

View File

@ -1,11 +1,9 @@
import React from 'react';
import { IntlProvider } from 'react-intl';
import { render as renderTL, fireEvent, screen, waitFor, configure } from '@testing-library/react';
import { render as renderTL, fireEvent, screen, waitFor } from '@testing-library/react';
import { ThemeProvider, lightTheme } from '@strapi/design-system';
import LogoInput from '../index';
configure({ asyncUtilTimeout: 8000 });
const getFakeSize = jest.fn(() => ({
width: 500,
height: 500,
@ -260,7 +258,7 @@ describe('ApplicationsInfosPage || LogoInput', () => {
fireEvent.change(textInput, {
target: {
value: 'https://cdn.pixabay.com/photo/2022/01/18/07/38/cat-6946505__340.jpg',
value: 'https://storage.googleapis.com/gtv-videos-bucket/sample/images/TearsOfSteel.jpg',
},
});
@ -276,10 +274,9 @@ describe('ApplicationsInfosPage || LogoInput', () => {
fireEvent.click(screen.getByText('From url'));
const textInput = document.querySelector('input[name="logo-url"]');
fireEvent.change(textInput, {
target: {
value: 'https://cdn.pixabay.com/photo/2022/01/18/07/38/cat-6946505__340.jpg',
value: 'https://storage.googleapis.com/gtv-videos-bucket/sample/images/TearsOfSteel.jpg',
},
});

View File

@ -100,11 +100,11 @@
"Settings.apiTokens.duration.30-days": "30 days",
"Settings.apiTokens.duration.90-days": "90 days",
"Settings.apiTokens.duration.unlimited": "Unlimited",
"Settings.apiTokens.form.duration":"Token duration",
"Settings.apiTokens.form.type":"Token type",
"Settings.apiTokens.duration.expiration-date":"Expiration date",
"Settings.apiTokens.createPage.permissions.title":"Permissions",
"Settings.apiTokens.createPage.permissions.description":"Only actions bound by a route are listed below.",
"Settings.apiTokens.form.duration": "Token duration",
"Settings.apiTokens.form.type": "Token type",
"Settings.apiTokens.duration.expiration-date": "Expiration date",
"Settings.apiTokens.createPage.permissions.title": "Permissions",
"Settings.apiTokens.createPage.permissions.description": "Only actions bound by a route are listed below.",
"Settings.apiTokens.RegenerateDialog.title": "Regenerate token",
"Settings.apiTokens.popUpWarning.message": "Are you sure you want to regenerate this token?",
"Settings.apiTokens.Button.cancel": "Cancel",
@ -270,6 +270,8 @@
"admin.pages.MarketPlacePage.plugin.installed": "Installed",
"admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi": "Made by Strapi",
"admin.pages.MarketPlacePage.plugin.tooltip.verified": "Plugin verified by Strapi",
"admin.pages.MarketPlacePage.plugin.version": "Update your Strapi version: \"{strapiAppVersion}\" to: \"{versionRange}\"",
"admin.pages.MarketPlacePage.plugin.version.null": "Unable to verify compatibility with your Strapi version: \"{strapiAppVersion}\"",
"admin.pages.MarketPlacePage.providers": "Providers",
"admin.pages.MarketPlacePage.search.clear": "Clear the search",
"admin.pages.MarketPlacePage.search.empty": "No result for \"{target}\"",

View File

@ -54,7 +54,7 @@
"@strapi/babel-plugin-switch-ee-ce": "4.4.3",
"@strapi/design-system": "1.2.5",
"@strapi/helper-plugin": "4.4.3",
"@strapi/icons": "1.2.3",
"@strapi/icons": "1.2.5",
"@strapi/permissions": "4.4.3",
"@strapi/typescript-utils": "4.4.3",
"@strapi/utils": "4.4.3",
@ -163,6 +163,5 @@
]
}
}
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}
}

View File

@ -38,6 +38,5 @@
"description": "Quick way to see, edit and delete the data in your database.",
"required": true,
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -56,6 +56,5 @@
"displayName": "Content Type Builder",
"description": "Modelize the data structure of your API. Create new fields and relations in just a minute. The files are automatically created and updated in your project.",
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -41,6 +41,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -44,6 +44,5 @@
"description": "Configure your application to send emails.",
"required": true,
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -8,10 +8,10 @@ const useTracking = () => {
const { uuid, telemetryProperties } = useContext(TrackingContext);
const appInfo = useAppInfos();
trackRef.current = (event, properties) => {
trackRef.current = async (event, properties) => {
if (uuid) {
try {
axios.post('https://analytics.strapi.io/track', {
await axios.post('https://analytics.strapi.io/track', {
event,
properties: {
...telemetryProperties,

View File

@ -78,8 +78,8 @@
"@storybook/builder-webpack5": "6.5.9",
"@storybook/manager-webpack5": "6.4.10",
"@storybook/react": "^6.5.10",
"@strapi/design-system": "1.2.3",
"@strapi/icons": "1.2.3",
"@strapi/design-system": "1.2.5",
"@strapi/icons": "1.2.5",
"@testing-library/react": "11.2.7",
"@testing-library/react-hooks": "3.7.0",
"babel-loader": "^8.2.5",
@ -101,6 +101,5 @@
]
}
}
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -32,6 +32,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -78,7 +78,7 @@
"test:unit": "jest --verbose"
},
"dependencies": {
"@koa/cors": "3.4.1",
"@koa/cors": "3.4.2",
"@koa/router": "10.1.1",
"@strapi/admin": "4.4.3",
"@strapi/database": "4.4.3",
@ -139,6 +139,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -225,6 +225,14 @@ export const EditAssetDialog = ({
}),
value: getFileExtension(asset.ext),
},
{
label: formatMessage({
id: getTrad('modal.file-details.id'),
defaultMessage: 'Asset ID',
}),
value: asset.id,
},
]}
/>

View File

@ -1290,6 +1290,29 @@ exports[`<EditAssetDialog /> renders and matches the snapshot 1`] = `
</div>
</div>
</div>
<div
class="c13"
>
<div
class=""
>
<div
class="c25 c28"
spacing="1"
>
<span
class="c29"
>
Asset ID
</span>
<span
class="c30"
>
8
</span>
</div>
</div>
</div>
</div>
</div>
<div>

View File

@ -1290,6 +1290,29 @@ exports[`<EditAssetDialog /> renders and matches the snapshot 1`] = `
</div>
</div>
</div>
<div
class="c13"
>
<div
class=""
>
<div
class="c25 c28"
spacing="1"
>
<span
class="c29"
>
Asset ID
</span>
<span
class="c30"
>
8
</span>
</div>
</div>
</div>
</div>
</div>
<div>

View File

@ -64,6 +64,7 @@
"modal.file-details.dimensions": "Dimensions",
"modal.file-details.extension": "Extension",
"modal.file-details.size": "Size",
"modal.file-details.id": "Asset ID",
"modal.folder.elements.count": "{folderCount} folders, {assetCount} assets",
"modal.header.browse": "Upload assets",
"modal.header.file-detail": "Details",

View File

@ -62,6 +62,5 @@
"description": "Media file management.",
"required": true,
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -44,6 +44,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -110,5 +110,6 @@ coverage
license.txt
exports
*.cache
dist
build
.strapi-updater.json

View File

@ -52,6 +52,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -41,6 +41,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -0,0 +1,12 @@
{
"color-picker.label": "Barva",
"color-picker.description": "Vyberte libovolnou barvu",
"color-picker.settings": "Nastavení",
"color-picket.input.format": "HEX",
"color-picker.options.advanced.regex": "RegExp vzor",
"color-picker.options.advanced.regex.description": "Zadejte regulární výraz pro ověření hodnoty HEX",
"color-picker.options.advanced.requiredField": "Povinné pole",
"color-picker.options.advanced.requiredField.description": "Pokud je toto pole prázdné, nebudete moci vytvořit záznam",
"color-picker.toggle.aria-label": "Přepínač výběru barvy",
"color-picker.input.aria-label": "Vstup pro výběr barvy"
}

View File

@ -35,6 +35,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -61,6 +61,5 @@
"name": "documentation",
"description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -60,6 +60,5 @@
"name": "graphql",
"description": "Adds GraphQL endpoint with default API methods.",
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -41,6 +41,5 @@
"description": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
"required": false,
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -38,6 +38,5 @@
"displayName": "Sentry",
"description": "Send Strapi error events to Sentry.",
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -63,6 +63,5 @@
"description": "Protect your API with a full authentication process based on JWT. This plugin comes also with an ACL strategy that allows you to manage the permissions between the groups of users.",
"required": true,
"kind": "plugin"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -42,6 +42,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -43,6 +43,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -55,6 +55,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -42,6 +42,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -41,6 +41,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -43,6 +43,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -43,6 +43,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -41,6 +41,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -32,6 +32,5 @@
"@babel/plugin-transform-modules-commonjs": "7.18.6",
"@babel/plugin-transform-runtime": "7.18.10",
"@babel/preset-env": "7.18.10"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -37,6 +37,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

View File

@ -34,6 +34,5 @@
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"gitHead": "f99314ead7f0fdf82b921b9d8f0282a91e952ca8"
}
}

331
yarn.lock
View File

@ -2478,7 +2478,14 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@koa/cors@3.4.1", "@koa/cors@^3.1.0":
"@koa/cors@3.4.2":
version "3.4.2"
resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.4.2.tgz#70c13e5843d1762ce78fd8767162cd916132c946"
integrity sha512-NJU7/+h9XAfw/W/dLadDg8JYrQ5EDxstBl9a9G0A++EqvrQpabWcZ4tBxOdW57QjketX66zkOcXE+5V7IjLWYA==
dependencies:
vary "^1.1.2"
"@koa/cors@^3.1.0":
version "3.4.1"
resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.4.1.tgz#ddd5c6ff07a1e60831e1281411a3b9fdb95a5b26"
integrity sha512-/sG9NlpGZ/aBpnRamIlGs+wX+C/IJ5DodNK7iPQIVCG4eUQdGeshGhWQ6JCi7tpnD9sCtFXcS04iTimuaJfh4Q==
@ -5446,10 +5453,10 @@
optionalDependencies:
typescript "^4.6.2"
"@strapi/icons@1.2.3":
version "1.2.3"
resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.2.3.tgz#5999417e5643ee33e0177577003ddd8e8c53907b"
integrity sha512-vBvOl5sW4GKQAbna3aAhWi2HWOEZ9/v22iX5jG+0vqAwKdRGWaTBkMIYnw0UhKLUbVX3W+P+ViAtIbUycoLelg==
"@strapi/icons@1.2.5":
version "1.2.5"
resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.2.5.tgz#957ab7a336cb2b3ad5a4e1deec3257b41622337f"
integrity sha512-7c3vzMqmm4Xfms47mEJu8F1pV1Eizxrn/sND6WEdizc/S2sRhnye3axaHH4xtncqapB1NKUIUb2z5Bl0Xn+WCw==
dependencies:
rimraf "^3.0.2"
@ -7057,6 +7064,11 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
ansi-styles@^6.0.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
ansi-to-html@^0.6.11:
version "0.6.15"
resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.15.tgz#ac6ad4798a00f6aa045535d7f6a9cb9294eebea7"
@ -8424,25 +8436,6 @@ call-me-maybe@^1.0.1:
resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
integrity sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==
caller-callsite@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==
dependencies:
callsites "^2.0.0"
caller-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==
dependencies:
caller-callsite "^2.0.0"
callsites@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@ -8836,6 +8829,14 @@ cli-truncate@^2.1.0:
slice-ansi "^3.0.0"
string-width "^4.2.0"
cli-truncate@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389"
integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==
dependencies:
slice-ansi "^5.0.0"
string-width "^5.0.0"
cli-width@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
@ -9027,7 +9028,7 @@ colorette@^1.2.2:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
colorette@^2.0.10, colorette@^2.0.14, colorette@^2.0.16:
colorette@^2.0.10, colorette@^2.0.14, colorette@^2.0.16, colorette@^2.0.17:
version "2.0.19"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
@ -9090,7 +9091,7 @@ commander@^4.0.1, commander@^4.1.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
commander@^6.2.0, commander@^6.2.1:
commander@^6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
@ -9110,6 +9111,11 @@ commander@^9.1.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c"
integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==
commander@^9.3.0:
version "9.4.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd"
integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==
common-ancestor-path@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7"
@ -9450,16 +9456,6 @@ 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.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
cosmiconfig@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
dependencies:
import-fresh "^2.0.0"
is-directory "^0.3.1"
js-yaml "^3.13.1"
parse-json "^4.0.0"
cosmiconfig@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
@ -9809,7 +9805,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9:
dependencies:
ms "2.0.0"
debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@ -10398,6 +10394,11 @@ duplicate-dependencies-webpack-plugin@^1.0.2:
pretty-bytes "^5.3.0"
tapable "^1.1.3"
eastasianwidth@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@ -10537,7 +10538,7 @@ enhanced-resolve@^5.10.0:
graceful-fs "^4.2.4"
tapable "^2.2.0"
enquirer@^2.3.6, enquirer@~2.3.6:
enquirer@~2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
@ -11256,20 +11257,20 @@ execa@5.1.1, execa@^5.0.0, execa@^5.1.1:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
execa@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
execa@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20"
integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==
dependencies:
cross-spawn "^7.0.0"
get-stream "^5.0.0"
human-signals "^1.1.1"
is-stream "^2.0.0"
cross-spawn "^7.0.3"
get-stream "^6.0.1"
human-signals "^3.0.1"
is-stream "^3.0.0"
merge-stream "^2.0.0"
npm-run-path "^4.0.0"
onetime "^5.1.0"
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
npm-run-path "^5.1.0"
onetime "^6.0.0"
signal-exit "^3.0.7"
strip-final-newline "^3.0.0"
execall@^2.0.0:
version "2.0.0"
@ -12090,11 +12091,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
has "^1.0.3"
has-symbols "^1.0.3"
get-own-enumerable-property-symbols@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
get-package-type@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
@ -12120,11 +12116,6 @@ get-stdin@^4.0.1:
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==
get-stdin@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
get-stdin@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
@ -12137,14 +12128,14 @@ get-stream@^4.0.0:
dependencies:
pump "^3.0.0"
get-stream@^5.0.0, get-stream@^5.1.0:
get-stream@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
dependencies:
pump "^3.0.0"
get-stream@^6.0.0:
get-stream@^6.0.0, get-stream@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
@ -13143,16 +13134,16 @@ https-proxy-agent@5, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
agent-base "6"
debug "4"
human-signals@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
human-signals@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
human-signals@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5"
integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==
humanize-ms@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
@ -13160,22 +13151,10 @@ humanize-ms@^1.2.1:
dependencies:
ms "^2.0.0"
husky@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/husky/-/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0"
integrity sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==
dependencies:
chalk "^2.4.2"
ci-info "^2.0.0"
cosmiconfig "^5.2.1"
execa "^1.0.0"
get-stdin "^7.0.0"
opencollective-postinstall "^2.0.2"
pkg-dir "^4.2.0"
please-upgrade-node "^3.2.0"
read-pkg "^5.2.0"
run-node "^1.0.0"
slash "^3.0.0"
husky@8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9"
integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==
iconv-lite@0.4.13:
version "0.4.13"
@ -13255,14 +13234,6 @@ immer@9.0.6:
resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73"
integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==
import-fresh@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==
dependencies:
caller-path "^2.0.0"
resolve-from "^3.0.0"
import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@ -13626,11 +13597,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
is-data-descriptor "^1.0.0"
kind-of "^6.0.2"
is-directory@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==
is-docker@2.2.1, is-docker@^2.0.0, is-docker@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
@ -13676,6 +13642,11 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-fullwidth-code-point@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
is-function@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
@ -13771,11 +13742,6 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
is-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
is-obj@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
@ -13836,11 +13802,6 @@ is-regex@^1.1.2, is-regex@^1.1.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
is-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
is-regexp@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d"
@ -13882,6 +13843,11 @@ is-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
is-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
is-string@^1.0.5, is-string@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@ -15295,6 +15261,11 @@ liftoff@^2.5.0:
rechoir "^0.6.2"
resolve "^1.1.7"
lilconfig@2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25"
integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@ -15307,38 +15278,36 @@ linkify-it@^3.0.1:
dependencies:
uc.micro "^1.0.1"
lint-staged@10.5.4:
version "10.5.4"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665"
integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==
lint-staged@13.0.3:
version "13.0.3"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6"
integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==
dependencies:
chalk "^4.1.0"
cli-truncate "^2.1.0"
commander "^6.2.0"
cosmiconfig "^7.0.0"
debug "^4.2.0"
dedent "^0.7.0"
enquirer "^2.3.6"
execa "^4.1.0"
listr2 "^3.2.2"
log-symbols "^4.0.0"
micromatch "^4.0.2"
cli-truncate "^3.1.0"
colorette "^2.0.17"
commander "^9.3.0"
debug "^4.3.4"
execa "^6.1.0"
lilconfig "2.0.5"
listr2 "^4.0.5"
micromatch "^4.0.5"
normalize-path "^3.0.0"
please-upgrade-node "^3.2.0"
string-argv "0.3.1"
stringify-object "^3.3.0"
object-inspect "^1.12.2"
pidtree "^0.6.0"
string-argv "^0.3.1"
yaml "^2.1.1"
listr2@^3.2.2:
version "3.14.0"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e"
integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==
listr2@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5"
integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==
dependencies:
cli-truncate "^2.1.0"
colorette "^2.0.16"
log-update "^4.0.0"
p-map "^4.0.0"
rfdc "^1.3.0"
rxjs "^7.5.1"
rxjs "^7.5.5"
through "^2.3.8"
wrap-ansi "^7.0.0"
@ -15523,7 +15492,7 @@ log-symbols@^2.2.0:
dependencies:
chalk "^2.0.1"
log-symbols@^4.0.0, log-symbols@^4.1.0:
log-symbols@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
@ -16099,7 +16068,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.2"
micromatch@^4.0.2, micromatch@^4.0.4:
micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@ -16157,6 +16126,11 @@ mimic-fn@^3.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
mimic-fn@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
mimic-response@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
@ -16969,13 +16943,20 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
npm-run-path@^4.0.0, npm-run-path@^4.0.1:
npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
dependencies:
path-key "^3.0.0"
npm-run-path@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00"
integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==
dependencies:
path-key "^4.0.0"
npmlog@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
@ -17109,7 +17090,7 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"
object-inspect@^1.12.0, object-inspect@^1.9.0:
object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0:
version "1.12.2"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
@ -17274,6 +17255,13 @@ onetime@^5.1.0, onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
onetime@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
dependencies:
mimic-fn "^4.0.0"
only@~0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"
@ -17296,11 +17284,6 @@ open@^7.0.3:
is-docker "^2.0.0"
is-wsl "^2.1.1"
opencollective-postinstall@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
opener@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
@ -17907,6 +17890,11 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-key@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
path-parse@^1.0.6, path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@ -18054,6 +18042,11 @@ pidtree@^0.3.0:
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
pidtree@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c"
integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@ -18112,13 +18105,6 @@ pkg-dir@^5.0.0:
dependencies:
find-up "^5.0.0"
please-upgrade-node@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
dependencies:
semver-compare "^1.0.0"
plop@2.7.6:
version "2.7.6"
resolved "https://registry.yarnpkg.com/plop/-/plop-2.7.6.tgz#1fa5360cd5b04e9932ce677bb6bd44750d97ae67"
@ -19742,11 +19728,6 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1:
expand-tilde "^2.0.0"
global-modules "^1.0.0"
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
@ -19891,11 +19872,6 @@ run-async@^2.4.0:
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
run-node@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@ -19917,7 +19893,7 @@ rxjs@^6.4.0, rxjs@^6.6.0:
dependencies:
tslib "^1.9.0"
rxjs@^7.5.1, rxjs@^7.5.5:
rxjs@^7.5.5:
version "7.5.6"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc"
integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==
@ -20066,11 +20042,6 @@ selfsigned@^2.0.1:
dependencies:
node-forge "^1"
semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==
"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
@ -20375,6 +20346,14 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
slice-ansi@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a"
integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==
dependencies:
ansi-styles "^6.0.0"
is-fullwidth-code-point "^4.0.0"
smart-buffer@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
@ -20820,7 +20799,7 @@ strict-event-emitter@^0.2.0, strict-event-emitter@^0.2.4:
dependencies:
events "^3.3.0"
string-argv@0.3.1, string-argv@~0.3.1:
string-argv@^0.3.1, string-argv@~0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
@ -20859,6 +20838,15 @@ string-width@^3.0.0, string-width@^3.1.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
string-width@^5.0.0:
version "5.1.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
dependencies:
eastasianwidth "^0.2.0"
emoji-regex "^9.2.2"
strip-ansi "^7.0.1"
"string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.7:
version "4.0.7"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d"
@ -20928,15 +20916,6 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
stringify-object@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
dependencies:
get-own-enumerable-property-symbols "^3.0.0"
is-obj "^1.0.1"
is-regexp "^1.0.0"
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@ -20992,6 +20971,11 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
strip-final-newline@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
strip-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
@ -23074,6 +23058,11 @@ yaml@1.10.2, yaml@^1.10.0, yaml@^1.7.2:
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
yaml@^2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.3.tgz#9b3a4c8aff9821b696275c79a8bee8399d945207"
integrity sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==
yargs-parser@20.2.4:
version "20.2.4"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"